Welcome to our forums! Please take a few moments to read through our Community Guidelines (also conveniently linked in the header at the top of each page). There, you'll find guidelines on conduct, tips on getting the help you may be searching for, and more!

[Metadata Agent] MovieMeter

sander1sander1 Channel Developer/AdminMembers, Plex Pass, Plex Ninja Posts: 3,629 Plex Ninja
edited March 19 in Nederlands

Metadata agent voor Nederlandstalige filmbeschrijvingen

De MovieMeter metadata agent is een secondary agent en werkt in combinatie met de Plex Movie of The Movie Database agent. MovieMeter haalt Nederlandstalige titels, beschrijvingen, genre informatie, rating en poster op van moviemeter.nl. Na installatie kun je in de instellingen de MovieMeter agent activeren en indien nodig omhoog schuiven in de lijst.

Deze instellingen kun je vinden in de Plex/Web client: Settings → Server → Agents → Movies → Plex Movie.

Reeds bestaande film secties die de Plex Movie agent als primaire agent gebruiken en waar je MovieMeter informatie bij wilt verkrijgen zullen door middel van een "Refresh All" geupdate moeten worden.

Installatie

  • Ga binnen een Plex client naar de Channel Directory. In Plex/Web kom je daar via Channels → Install Channels.
  • Kies More... → Metadata Agents → MovieMeter → Install. De agent wordt nu gedownload en geïnstalleerd.

Edit 10 februari 2015
Nieuwe versie, herschreven voor de nieuwe MovieMeter API.

Edit 2 maart 2015
Expliciete check voor 'language' waarde verwijderd.

Edit 19 maart 2017
Kleine update: gebruik https en stuur benodigde cookie mee.

«13456789

Comments

  • sandman4suresandman4sure Members, Plex Pass, Plex Ninja Posts: 788 Plex Ninja
    Super, bedankt!
    Ben nu mijn library opnieuw aan het scannen, en de agent lijkt goed te werken!
  • IIINeOIIINLIIINeOIIINL Members Posts: 20
    Sander bedankt voor je inspanning!
  • DoosjeDoosje Members Posts: 9
    edited September 2010
    wordt zeker gewaardeerd. Thanks

    [edit] heb je ergens ook een soort uitleg over hoe en wat je gedaan hebt?[/edit]
  • sander1sander1 Channel Developer/Admin Members, Plex Pass, Plex Ninja Posts: 3,629 Plex Ninja
    edited January 2011
    Doosje wrote on 07 September 2010 - 07:40 PM:

    heb je ergens ook een soort uitleg over hoe en wat je gedaan hebt?


    Hoi!
    Ik heb James tientallen vragen gesteld over de agents (er is namelijk nog helemaal geen documentatie) :) Daarnaast zijn de IMDb, TVRage, Wikipedia en de door Oncleben geschreven Ciné-Passion agents goede voorbeelden om naar te kijken.

    Laat je vooral niet afschrikken door het feit dat sommige agents een paar honderd regels code zijn. Dit heeft vooral te maken met hoe de informatie gezocht moet worden. Als in verschillende HTML pagina's naar gegevens gezocht moet worden (zoals bij IMDb) levert dat meer code op. Wanneer de bronwebsite een API ter beschikking stelt (zoals moviemeter.nl) die nette in XML of JSON ingedeelde gegevens teruggeeft, scheelt dat aanzienlijk.

    Je kunt het MovieMeter Python script inzien op Github ('t is maar 37 regels code). De __init__ en get_session_key methodes zijn 'extra' (__init__ is alleen nodig als je 'm nodig hebt ;) en get_session_key is in dit geval gebruikt omdat de MovieMeter XML-RPC API een sessie_key nodig heeft en het handig is als deze opgevraagd kan worden via een methode.

    De MovieMeter agent draagt informatie bij aan de IMDb agent, het is dus geen volwaardige agent. Ik heb me nog niet verdiept in hoe deze werken en wat de verschillen precies zijn. Een agent is altijd een afgeleide class van de base class Agent.Movies of Agent.TV_Shows, dus:
    class AfgeleideClassNaam(BaseClassNaam):
    

    De class heeft minimaal twee methodes, genaamd search en update.
  • sander1sander1 Channel Developer/Admin Members, Plex Pass, Plex Ninja Posts: 3,629 Plex Ninja
    edited January 2011
    Ik ben een Python/OOP n00b, maar hopelijk heb je wat aan deze info (dit is v0.1, meest recente versie op Github):

    # MovieMeter Metadata Agent
    from time import time # Importeer time, dit hebben we nodig om de huidige tijd (als Unix timestamp) te kunnen vergelijken met de "geldig tot"-waarde voor de session_key die we terug krijgen uit de MovieMeter API
    
    MM_ENDPOINT_URI = 'http://www.moviemeter.nl/ws' # De XML-RPC url waar we de informatie aanvragen doen
    MM_API_KEY = 'yx77z030250ckrqo2j3z4f7x7e4w7hv8' # Een unieke API key (zie http://www.moviemeter.nl/site/registerclient/)
    
    def Start():
      HTTP.CacheTime = CACHE_1DAY # Cache opgehaalde gegevens voor 1 dag (in dit geval wordt dit niet gebruikt, omdat we met XML-RPC werken)
    
    class MovieMeterAgent(Agent.Movies):
      name = 'MovieMeter'
      languages = ['nl']
      primary_provider = False
      contributes_to = ['com.plexapp.agents.imdb'] # Geeft aan dat deze agent informatie bijdraagt aan de IMDb agent
    
      def __init__(self): # De constructor
        Agent.Movies.__init__(self) # Roept de constructor van de base class aan (omdat we de constructor niet willen overschrijven)
        self.proxy = XMLRPC.Proxy(MM_ENDPOINT_URI) # XMLRPC.Proxy is nieuw in framework v2 en is een handig laagje om de standaard Python xmlrpc module heen (http://docs.python.org/library/xmlrpclib.html)
        self.valid_till = 0
    
      def search(self, results, media, lang):
        mm_id = self.proxy.film.retrieveByImdb(self.get_session_key(), media.primary_metadata.id) # Spreekt de methode film.retrieveByImdb aan, met als input een geldige session_key (verkregen via de get_session_key methode) en het IMDb film id (bijv "tt01234567"). Het film id is al door de IMDb agent opgezocht
        if mm_id != None:
          results.Append(MetadataSearchResult(id = mm_id, score = 100))
    
      def update(self, metadata, media, lang):
        response = self.proxy.film.retrieveDetails(self.get_session_key(), int(metadata.id)) # Spreekt de methode film.retrieveDetails aan om filmdetails op te halen
        if response != None:
          metadata.summary = response['plot'] # Plaats het Nederlandstalige plot in 'metadata.summary', deze wordt door Plex gebruikt
    
      def get_session_key(self):
        if self.valid_till < int(time()): # Controleer of onze session_key nog geldig is
          response = self.proxy.api.startSession(MM_API_KEY) # Zo niet, haal een nieuwe op met behulp van de methode api.startSession en de API key
          self.session_key = response['session_key']
          self.valid_till = int(response['valid_till'])
    
        return self.session_key
    
  • macbartmacbart Members Posts: 83
    sorry maar ik snap niet goed hoe de installatie precies moet. Na download heb ik een zip bestand, en na uitpakken een zip.cpgz bestand. Dat lijkt dus in een lus te draaien en niet uitgepakt te geraken. In welke map moet die terechtkomen? Bij info provider settings staat die er dus voorlopig nog niet tussen

    Alvast hartelijk dank voor de inspanning
  • macbartmacbart Members Posts: 83
    macbart wrote on 08 September 2010 - 12:14 AM:

    sorry maar ik snap niet goed hoe de installatie precies moet. Na download heb ik een zip bestand, en na uitpakken een zip.cpgz bestand. Dat lijkt dus in een lus te draaien en niet uitgepakt te geraken. In welke map moet die terechtkomen? Bij info provider settings staat die er dus voorlopig nog niet tussen

    Alvast hartelijk dank voor de inspanning



    heb de oplossing gevonden, door simpel de extensie .zip te wissen. Nu is moviemeter zichtbaar bij de info provider settings.
  • sander1sander1 Channel Developer/Admin Members, Plex Pass, Plex Ninja Posts: 3,629 Plex Ninja
    edited September 2010
    macbart wrote on 08 September 2010 - 12:21 AM:

    heb de oplossing gevonden, door simpel de extensie .zip te wissen. Nu is moviemeter zichtbaar bij de info provider settings.

    Gek dat het bestand als .zip gezien wordt bij het downloaden. Gelukkig heb je de oplossing gevonden. Voor iedereen die ook tegen dit probleem aanloopt: de volledige bestandsnaam moet zijn "MovieMeter.plexapp"
  • sandman4suresandman4sure Members, Plex Pass, Plex Ninja Posts: 788 Plex Ninja
    Super dat al mijn films nu een Nederlandse beschrijving hebben!
    Wat me wel opviel is dat sommige vreemde karakters niet goed door komen.
    Zoals bij deze film:
    http://www.moviemeter.nl/film/34648

    Hier staan op de plaats van ' allemaal vierkantjes.
    Is dit een probleem van mijn skin (reFocus)?
  • sander1sander1 Channel Developer/Admin Members, Plex Pass, Plex Ninja Posts: 3,629 Plex Ninja
    edited September 2010
    sandman4sure wrote on 08 September 2010 - 08:38 AM:

    Super dat al mijn films nu een Nederlandse beschrijving hebben!
    Wat me wel opviel is dat sommige vreemde karakters niet goed door komen.
    Zoals bij deze film:
    http://www.moviemeter.nl/film/34648

    Hier staan op de plaats van ' allemaal vierkantjes.
    Is dit een probleem van mijn skin (reFocus)?

    Oeps, dat probleem was ik zelf nog niet tegengekomen :blink: 't Probleem is nu opgelost en een nieuwe versie van de agent vind je in de startpost.

    16878778.png
  • sandman4suresandman4sure Members, Plex Pass, Plex Ninja Posts: 788 Plex Ninja
    super, dank je wel!
  • slingsling Members Posts: 26 ✭✭
    Alles opnieuw gescand. Fantastisch werkt toppie BEDANKT!!!!
  • dredb71dredb71 Members Posts: 11
    Beste Sander,


    wordt stiekem een klein beetje moedeloos. ik moet iets fout doen maar zie niet wat.
    Heb Plex nu voor de 4e x geïnstalleerd/verwijderd. Maar nog steeds geen goed werkende
    Media Manager.
    Ik start nu met steeds met 1 film. Maar het enige wat ik te zien krijg is een kleine preview thumbnail
    van de film met de title erboven. Verder geen plot of aanverwante info over de film.

    De Film zit netjes in een map. Zowel de film als de map hebben beide de naam van Moviemeter. (of IMDB wat ook geen resultaat oplevert)
    Het betreft in deze de film The Kite Runner (2007)

    Ik heb je Agent geïnstalleerd, ge-reboot, de info provider settings net zo gezet zoals je afgebeeld hebt. Maart nog steeds geen resultaat....
    Wat doe ik fout? heb geen proxy, firewall aanstaan enz.

    Gr Dre
  • sandman4suresandman4sure Members, Plex Pass, Plex Ninja Posts: 788 Plex Ninja
    Op dit moment werkt de IMDB scanner niet, wat inhoudt dat geen enkele film meta data krijgt.
    Ze zijn er mee bezig. Houd de twitter pagina in de gaten:

    http://twitter.com/plexapp
  • dredb71dredb71 Members Posts: 11
    Hi Sander,

    Bedankt voor je reaktie!
    Op zich was mn poging met IMDB maar een alternatief.
    Wil heel graag je agent gebruiken. Nu zie ik in jou voorbeeld hoe jou plot en covert art eruit ziet.
    Ik heb je agent geinstalleerd, heb 'm in de lijst helemaal bovenaan gesleept, maar geen enkel resultaat.
    Geen cover-art en geen plot.

    Wat doe ik fout?
  • dredb71dredb71 Members Posts: 11
    of moet ik het zo opvatten dat het gehele IMDB gedeelte eruit ligt?
    Dus geen cover-art op dit moment. En omdat je eerst de IMDB als basis nodig hebt,
    werkt jou agent ook niet.... Begrijp ik het zo goed?

    Dan is het geduldig afwachten...

    Dre
  • sandman4suresandman4sure Members, Plex Pass, Plex Ninja Posts: 788 Plex Ninja
    Ik ben niet degene die de Agent gemaakt heeft, dat is sander1.

    Als de IMDB agent eruit ligt, dan werkt niets. De moviemeter agent neemt namelijk alleen de beschrijving van de film voor zijn rekening, de rest komt voor een groot deel van imdb...

    Even wachten dus nog totdat ze het hebben gemaakt
  • maerskmaersk Members, Plex Pass Posts: 146 Plex Pass
    Sander bedankt voor deze zeer waardevolle MovieMeter agent. Ik ben nog niet over naar Plex 0.9 mede omdat er nog geen MovieMeter agent bestond en ik op dit moment al mijn films in Plex 0.85 met Nederlands plot heb staan.
    Dus jouw agent gaat voor mij nu betekenen dat ik kan gaan updaten. Sander nogmaals bedankt voor de mooie plugins en agent die je voor ons maakt en waar je een hoop tijd en energie in steekt voor de Nederlandse community.
    Ook heel erg bedankt namens mijn meisje :rolleyes:
  • MrAcidMrAcid Members, Plex Pass Posts: 185
    Heel relaxed dit! Alleen jammer dat je alles opnieuw moet gaan scannen, ik heb net alles goed staan met wat aangepaste Movie posters enzo.. :(

    Zou dus graag alleen de beschrijvingen willen updaten met die van MovieMeter. Kan dat? Zo ja, hoe? :)
  • sander1sander1 Channel Developer/Admin Members, Plex Pass, Plex Ninja Posts: 3,629 Plex Ninja
    MrAcid wrote on 10 September 2010 - 04:28 PM:

    Heel relaxed dit! Alleen jammer dat je alles opnieuw moet gaan scannen

    Ik ben bang dat daar vrij weinig aan te doen is :(
Sign In or Register to comment.