Jump to content


Photo

[Metadata Agent] MovieMeter


  • Please log in to reply
140 replies to this topic

#1 sander1

sander1

    Channel Developer/Admin

  • Castle Keeper
  • PipPipPipPipPipPip
  • 2599 posts
  • Location: The Netherlands

Posted 07 September 2010 - 04:50 AM

De MovieMeter metadata agent is een secondary agent en werkt in combinatie met de Freebase 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: SettingsPlex Media ServerAgentsMoviesFreebase.

Reeds bestaande film secties die de Freebase agent als primaire agent gebruiken en waar je MovieMeter informatie bij wilt verkrijgen zullen door middel van een "Force Refresh" geupdate moeten worden. Let bij het aanmaken of bewerken van film secties op dat je de taal van de sectie op Nederlands zet.

Installatie

  • Ga binnen een Plex client naar de Channel Directory. In Plex/Web kom je daar door op dit "+" icoontje te klikken:
    chandir.jpg
  • Kies More...Metadata AgentsMovieMeterInstall. De agent wordt nu gedownload en geïnstalleerd.

Edited by sander1, 06 March 2013 - 03:06 PM.

Always attach log files if you are reporting an issue: Log file info & location

Problem with indexing files? Check the Naming Guide


#2 sandman4sure

sandman4sure

    Rock Star

  • Members
  • PipPipPipPipPip
  • 650 posts
  • Location: Amsterdam

Posted 07 September 2010 - 07:21 AM

Super, bedankt!
Ben nu mijn library opnieuw aan het scannen, en de agent lijkt goed te werken!

#3 IIINeOIIINL

IIINeOIIINL

    Member

  • Members
  • PipPip
  • 20 posts
  • Location: The Netherlands

Posted 07 September 2010 - 09:18 AM

Sander bedankt voor je inspanning!

#4 Doosje

Doosje

    Newbie

  • Members
  • Pip
  • 8 posts

Posted 07 September 2010 - 05:40 PM

wordt zeker gewaardeerd. Thanks

[edit] heb je ergens ook een soort uitleg over hoe en wat je gedaan hebt?[/edit]

#5 sander1

sander1

    Channel Developer/Admin

  • Castle Keeper
  • PipPipPipPipPipPip
  • 2599 posts
  • Location: The Netherlands

Posted 07 September 2010 - 09:13 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.

Always attach log files if you are reporting an issue: Log file info & location

Problem with indexing files? Check the Naming Guide


#6 sander1

sander1

    Channel Developer/Admin

  • Castle Keeper
  • PipPipPipPipPipPip
  • 2599 posts
  • Location: The Netherlands

Posted 07 September 2010 - 09:37 PM

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

Always attach log files if you are reporting an issue: Log file info & location

Problem with indexing files? Check the Naming Guide


#7 Plexthusiasm

Plexthusiasm

    Member

  • Members
  • PipPip
  • 85 posts
  • Location: Belgium

Posted 07 September 2010 - 10:14 PM

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

#8 Plexthusiasm

Plexthusiasm

    Member

  • Members
  • PipPip
  • 85 posts
  • Location: Belgium

Posted 07 September 2010 - 10:21 PM

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.

#9 sander1

sander1

    Channel Developer/Admin

  • Castle Keeper
  • PipPipPipPipPipPip
  • 2599 posts
  • Location: The Netherlands

Posted 07 September 2010 - 10:27 PM

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"

Always attach log files if you are reporting an issue: Log file info & location

Problem with indexing files? Check the Naming Guide


#10 sandman4sure

sandman4sure

    Rock Star

  • Members
  • PipPipPipPipPip
  • 650 posts
  • Location: Amsterdam

Posted 08 September 2010 - 06: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)?

#11 sander1

sander1

    Channel Developer/Admin

  • Castle Keeper
  • PipPipPipPipPipPip
  • 2599 posts
  • Location: The Netherlands

Posted 08 September 2010 - 02:49 PM

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.

Posted Image

Always attach log files if you are reporting an issue: Log file info & location

Problem with indexing files? Check the Naming Guide


#12 sandman4sure

sandman4sure

    Rock Star

  • Members
  • PipPipPipPipPip
  • 650 posts
  • Location: Amsterdam

Posted 08 September 2010 - 03:01 PM

super, dank je wel!

#13 sling

sling

    Member

  • Members
  • PipPip
  • 30 posts

Posted 08 September 2010 - 05:13 PM

Alles opnieuw gescand. Fantastisch werkt toppie BEDANKT!!!!

#14 dredb71

dredb71

    Member

  • Members
  • PipPip
  • 11 posts

Posted 09 September 2010 - 07:36 PM

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

#15 sandman4sure

sandman4sure

    Rock Star

  • Members
  • PipPipPipPipPip
  • 650 posts
  • Location: Amsterdam

Posted 09 September 2010 - 08:23 PM

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

#16 dredb71

dredb71

    Member

  • Members
  • PipPip
  • 11 posts

Posted 09 September 2010 - 09:02 PM

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?

#17 dredb71

dredb71

    Member

  • Members
  • PipPip
  • 11 posts

Posted 09 September 2010 - 09:05 PM

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

#18 sandman4sure

sandman4sure

    Rock Star

  • Members
  • PipPipPipPipPip
  • 650 posts
  • Location: Amsterdam

Posted 09 September 2010 - 09:24 PM

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

#19 maersk

maersk

    Dedicated Member

  • Members
  • PipPipPip
  • 147 posts

Posted 09 September 2010 - 11:04 PM

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 Posted Image

#20 MrAcid

MrAcid

    Dedicated Member

  • Members
  • PipPipPip
  • 186 posts
  • Location: Netherlands

Posted 10 September 2010 - 02:28 PM

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? :)




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users