a playdar thing in python ;-)
Python JavaScript
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
libs
resolvers
static
README.md
gpl.txt
pyplaydar.conf
pyplaydar.py
resolver.py
tests.py

README.md

pyplaydar try to implement Playdar in pure python. It should work with python 2.X, and use bottle and cherrypy wsgi server.


Future (19/02/2012)

  • The web frontend page will be able to let you easily configure resolvers too !

Features :

  • Fully compatible with JS clients
  • Works with original playdar's resolvers
  • Compatible with Tomahawk's resolvers, using pyv8.
  • Works on *nix/win as is (should work on mac)
  • Web frontend to easily test resolvers
  • Simple and test'able

Current notes about "playdar protocol"'s implementation :

  • for web-clients : Note that it auto-authenticate all clients
  • resolve method : for a same query : it's always the same QID which is returned
  • get_results : for a same file/object : it's always the same SID which is returned

What's in pyplaydar

  • libs/ : Contains externals libs provided with pyplaydar (bottle and cherrypy wsgi server)

  • static/ : Contains static ressources used by the webserver. Currently, only a template for the web frontend.

  • resolvers/ : This folder contains the playdar's compatible resolvers. Each resolver is a folder, which contains an executable.

    • test/ : A test resolver

      • resolver.py : the executable, which resolve artist/title : testa/web & testa/local), that's all ;-)
    • tomahawk/ : the resolver which is compatible with tomahawk's resolvers

      • resolver.py : the executable
      • lib.py : a python lib (to wrap pyv8/js to a python class)
      • tomres.py : a command line to install/uninstall tomahawk's resolvers properly.
    • test_a_resolver.py : A command line to test a resolver in console.

  • pyplaydar.py : The main file : the web server, which handle http requests for playdar protocol, and for the web frontend.

  • resolver.py : the playdar protocol, low level.

  • tests.py : a lot of tests, which cover 95% of the pyplaydar's code.

  • pyplaydar.conf : the conf file

there are a lot of readme.txt files too, which explain some things.


How to start

Note: to be able to use the tomahawk's resolvers, you'll need to install pyv8

Grab this folder.

In a console, change dir to "resolvers/tomahawk/"

run "./tomres.py install", to install tomahawk resolvers

change dir to pyplaydar root (../..)

edit your pyplaydar.conf, to have that :

test/resolver.py
tomahawk/resolver.py tomahawk-resolvers/dilandau/dilandau.js

run "./pyplaydar.py"

run a browser to point "http://localhost:60210/" (this is the web frontend for testing), you can start to query dilandau