From 52b600e13c7b18571af4317326a16d83a8f257ae Mon Sep 17 00:00:00 2001 From: RaNaN Date: Wed, 7 Dec 2011 21:32:49 +0100 Subject: update readme file --- README | 95 ++++++++++++++++++------------- module/remote/thriftbackend/pyload.thrift | 57 ++++++++++++++++--- 2 files changed, 106 insertions(+), 46 deletions(-) diff --git a/README b/README index f0d3b675d..2965f3f32 100644 --- a/README +++ b/README @@ -1,19 +1,4 @@ - ?IIIIIIII77777:~~. NM M - +III777777$$$$$7~~~~, NM M - III777777$$$$$$+~~~== MMMMMMM 8M M NM MMI OMM$ MMO M - I777777++++++=.~~==== M MM 8M M NM 7M MN M MD M - 77777 ~~~~~~~~~====== M NM 8M M NM MO M $DDDM NM M - 77777~~~~~~~========= M MM 8M M NM M8 M MM M NM M - 777$~~~~~========== MNMZ8MM +MMMMM?M NM $M MM MM M MZ M - ~~~==,,,,,, M M NMMMMMN 7MMO MMM= IMMD - ~======= =~ M M - ~======~ = DMMO - ~======= - :===== - :=== - ,=, - Description =========== @@ -23,47 +8,81 @@ It supports link decryption as well as all important container formats. pyLoad is written entirely in Python and is currently under heavy development. -To read the newest info, get the latest version, find help or contribute -to the wiki, visit +For news, downloads, wiki, forum and further information visit http://pyload.org/ To report bugs, suggest features, ask a question, get the developer version -or help us out, visit +or help us out, visit http://bitbucket.org/spoob/pyload/ + +Documentation about extending pyLoad can be found at http://docs.pyload.org or join us at #pyload on irc.freenode.net -Requirements +Dependencies ============ -pycrypto: RSDF/CCF/DLC support -pycurl: lower memory footprint while downloading -pyqt4: for the GUI -tesseract, PIL: Captcha recognition +You need at least python 2.5 to run pyLoad and all of these required libaries. +They should be automatically installed when using pip install. +The prebuilt pyload packages also install these dependencies or have them included, so manuall install +is only needed when installing pyLoad from source. + +Required +-------- + +- pycurl a.k.a python-curl +- jinja2 +- beaker +- thrift +- simplejson (for python <= 2.6) + +Some plugins require additional packages, only install these when needed. + +Optional +-------- + +- pycrypto: RSDF/CCF/DLC support +- tesseract, python-pil a.k.a python-imaging: Automatic captcha recognition for a small amount of plugins +- jsengine (spidermonkey, ossp-js, pyv8, rhino): Used for several hoster, ClickNLoad +- feedparser +- BeautifulSoup First start =========== -First, run -$ python pyLoadCore.py -Follow the instructions of the setup assistent. +Note: If you installed pyload via package-manager `python pyLoadCore.py` is probably equivalent to `pyLoadCore` + +Run:: + + python pyLoadCore.py + +and follow the instructions of the setup assistent. + +For a list of options use:: + + python pyLoadCore.py -h Configuration -=========== +============= -After the first start you can configurate pyLoad with the webinterface or the GUI. -Additionally you could simply edit the config files located in your pyLoad home dir(defaults to: ~/.pyload) +After finishing the setup assistent pyLoad is ready to use and more configuration can be done via webinterface. +Additionally you could simply edit the config files located in your pyLoad home dir (defaults to: ~/.pyload) with your favorite editor and edit the appropriate options. For a short description of -the options take a look at . +the options take a look at +For more information, see http://pyload.org/ diff --git a/module/remote/thriftbackend/pyload.thrift b/module/remote/thriftbackend/pyload.thrift index 5d828854c..1542e651a 100644 --- a/module/remote/thriftbackend/pyload.thrift +++ b/module/remote/thriftbackend/pyload.thrift @@ -4,6 +4,7 @@ typedef i32 FileID typedef i32 PackageID typedef i32 TaskID typedef i32 ResultID +typedef i32 InteractionID typedef list LinkList typedef string PluginName typedef byte Progress @@ -38,6 +39,31 @@ enum ElementType { File } +// types for user interaction +// some may only be place holder currently not supported +// also all input - output combination are not reasonable, see InteractionManager for further info +enum Input { + NONE, + TEXT, + TEXTBOX, + PASSWORD, + BOOL, // confirm like, yes or no dialog + CLICK, // for positional captchas + CHOICE, // choice from list + MULTIPLE, // multiple choice from list of elements + LIST, // arbitary list of elements + TABLE // table like data structure +} +// more can be implemented by need + +// this describes the type of the outgoing interaction +// ensure they can be logcial or'ed +enum Output { + CAPTCHA = 1, + QUESTION = 2, + NOTIFICATION = 4, +} + struct DownloadInfo { 1: FileID fid, 2: string name, @@ -111,6 +137,18 @@ struct PackageData { 13: optional list fids } +struct InteractionTask { + 1: InteractionID iid, + 2: Input input, + 3: list structure, + 4: list preset, + 5: Output output, + 6: list data, + 7: string title, + 8: string description, + 9: string plugin, +} + struct CaptchaTask { 1: i16 tid, 2: binary data, @@ -257,13 +295,6 @@ service Pyload { list deleteFinished(), void restartFailed(), - - //captcha - bool isCaptchaWaiting(), - CaptchaTask getCaptchaTask(1: bool exclusive), - string getCaptchaTaskStatus(1: TaskID tid), - void setCaptchaResult(1: TaskID tid, 2: string result), - //events list getEvents(1: string uuid) @@ -289,8 +320,18 @@ service Pyload { //info // {plugin: {name: value}} map> getAllInfo(), - map getInfoByPlugin(1: PluginName plugin) + map getInfoByPlugin(1: PluginName plugin), //scheduler + // TODO + + + // User interaction + + //captcha + bool isCaptchaWaiting(), + CaptchaTask getCaptchaTask(1: bool exclusive), + string getCaptchaTaskStatus(1: TaskID tid), + void setCaptchaResult(1: TaskID tid, 2: string result), } -- cgit v1.2.3