summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.hgignore5
-rw-r--r--locale/cli.pot4
-rw-r--r--locale/core.pot428
-rw-r--r--locale/django.pot399
-rw-r--r--locale/generate_locale.py111
-rw-r--r--locale/gui.pot4
-rw-r--r--locale/includes.txt1
-rw-r--r--locale/setup.pot4
-rw-r--r--module/plugins/hoster/OronCom.py1
-rwxr-xr-xmodule/remote/thriftbackend/generateThrift.sh7
-rwxr-xr-xmodule/remote/thriftbackend/thriftgen/pyload/Pyload-remote5
-rw-r--r--module/remote/thriftbackend/thriftgen/pyload/Pyload.py2
-rw-r--r--module/remote/thriftbackend/thriftgen/pyload/constants.py2
-rw-r--r--module/remote/thriftbackend/thriftgen/pyload/ttypes.py2
-rwxr-xr-xmodule/web/compile_js.sh7
-rw-r--r--pavement.py276
16 files changed, 714 insertions, 544 deletions
diff --git a/.hgignore b/.hgignore
index a5edc1e92..a49cc0b2b 100644
--- a/.hgignore
+++ b/.hgignore
@@ -31,3 +31,8 @@ webserver.pid
*.po
*.orig
*.rej
+pyload/*
+dist/*
+build/*
+setup.py
+paver-minilib.zip \ No newline at end of file
diff --git a/locale/cli.pot b/locale/cli.pot
index 249265fd8..b2d4f50a1 100644
--- a/locale/cli.pot
+++ b/locale/cli.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: pyLoad 0.4.8\n"
+"Project-Id-Version: pyLoad 0.4.9\n"
"Report-Msgid-Bugs-To: 'bugs@pyload.org'\n"
-"POT-Creation-Date: 2011-10-04 09:49+0200\n"
+"POT-Creation-Date: 2011-10-11 18:59+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/locale/core.pot b/locale/core.pot
index 19be5464a..6b38ef5e8 100644
--- a/locale/core.pot
+++ b/locale/core.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: pyLoad 0.4.8\n"
+"Project-Id-Version: pyLoad 0.4.9\n"
"Report-Msgid-Bugs-To: 'bugs@pyload.org'\n"
-"POT-Creation-Date: 2011-10-04 09:49+0200\n"
+"POT-Creation-Date: 2011-10-11 18:59+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -134,6 +134,43 @@ msgstr ""
msgid "killed pyLoad from Terminal"
msgstr ""
+#: module/common/JsEngine.py:156
+msgid ""
+"No js engine detected, please install either Spidermonkey, ossp-js, pyv8 or "
+"rhino"
+msgstr ""
+
+#: module/common/MultiHoster.py:60
+msgid "No Hoster loaded"
+msgstr ""
+
+#: module/remote/ThriftBackend.py:39
+msgid "Using SSL ThriftBackend"
+msgstr ""
+
+#: module/remote/XMLRPCBackend.py:28
+msgid "Using SSL XMLRPCBackend"
+msgstr ""
+
+#: module/remote/XMLRPCBackend.py:32
+msgid "SSL Certificates not found, fallback to auth XMLRPC server"
+msgstr ""
+
+#: module/remote/RemoteManager.py:32
+#, python-format
+msgid "Remote backend error: %s"
+msgstr ""
+
+#: module/remote/RemoteManager.py:64
+#, python-format
+msgid "Starting %(name)s: %(addr)s:%(port)s"
+msgstr ""
+
+#: module/remote/RemoteManager.py:66
+#, python-format
+msgid "Failed loading backend %(name)s | %(error)s"
+msgstr ""
+
#: module/ThreadManager.py:135
#, python-format
msgid "Reconnect Failed: %s"
@@ -184,124 +221,6 @@ msgstr ""
msgid "No Client connected for captcha decrypting"
msgstr ""
-#: module/Api.py:319
-#, python-format
-msgid "Added package %(name)s containing %(count)d links"
-msgstr ""
-
-#: module/Api.py:582
-#, python-format
-msgid "Added %(count)d links to package #%(package)d "
-msgstr ""
-
-#: module/PluginThread.py:179
-#, python-format
-msgid "Download starts: %s"
-msgstr ""
-
-#: module/PluginThread.py:186 module/PluginThread.py:361
-#, python-format
-msgid "Plugin %s is missing a function."
-msgstr ""
-
-#: module/PluginThread.py:194 module/PluginThread.py:257
-#: module/PluginThread.py:378
-#, python-format
-msgid "Download aborted: %s"
-msgstr ""
-
-#: module/PluginThread.py:214
-#, python-format
-msgid "Download restarted: %(name)s | %(msg)s"
-msgstr ""
-
-#: module/PluginThread.py:223 module/PluginThread.py:369
-#, python-format
-msgid "Download is offline: %s"
-msgstr ""
-
-#: module/PluginThread.py:226
-#, python-format
-msgid "Download is temporary offline: %s"
-msgstr ""
-
-#: module/PluginThread.py:229 module/PluginThread.py:296
-#, python-format
-msgid "Download failed: %(name)s | %(msg)s"
-msgstr ""
-
-#: module/PluginThread.py:246
-msgid ""
-"Couldn't connect to host or connection reset, waiting 1 minute and retry."
-msgstr ""
-
-#: module/PluginThread.py:282
-#, python-format
-msgid "Download skipped: %(name)s due to %(plugin)s"
-msgstr ""
-
-#: module/PluginThread.py:312
-#, python-format
-msgid "Download finished: %s"
-msgstr ""
-
-#: module/PluginThread.py:357
-#, python-format
-msgid "Decrypting starts: %s"
-msgstr ""
-
-#: module/PluginThread.py:372 module/PluginThread.py:390
-#, python-format
-msgid "Decrypting failed: %(name)s | %(msg)s"
-msgstr ""
-
-#: module/PluginThread.py:384
-#, python-format
-msgid "Retrying %s"
-msgstr ""
-
-#: module/PluginThread.py:605
-#, python-format
-msgid "Info Fetching for %(name)s failed | %(err)s"
-msgstr ""
-
-#: module/common/JsEngine.py:133
-msgid ""
-"No js engine detected, please install either Spidermonkey, ossp-js, pyv8 or "
-"rhino"
-msgstr ""
-
-#: module/common/MultiHoster.py:60
-msgid "No Hoster loaded"
-msgstr ""
-
-#: module/remote/ThriftBackend.py:39
-msgid "Using SSL ThriftBackend"
-msgstr ""
-
-#: module/remote/XMLRPCBackend.py:28
-msgid "Using SSL XMLRPCBackend"
-msgstr ""
-
-#: module/remote/XMLRPCBackend.py:32
-msgid "SSL Certificates not found, fallback to auth XMLRPC server"
-msgstr ""
-
-#: module/remote/RemoteManager.py:32
-#, python-format
-msgid "Remote backend error: %s"
-msgstr ""
-
-#: module/remote/RemoteManager.py:64
-#, python-format
-msgid "Starting %(name)s: %(addr)s:%(port)s"
-msgstr ""
-
-#: module/remote/RemoteManager.py:66
-#, python-format
-msgid "Failed loading backend %(name)s | %(error)s"
-msgstr ""
-
#: module/web/ServerThread.py:35
msgid "SSL certificates not found."
msgstr ""
@@ -382,23 +301,23 @@ msgstr ""
msgid "Starting lightweight webserver (bjoern): %(host)s:%(port)d"
msgstr ""
-#: module/web/pyload_app.py:109
+#: module/web/pyload_app.py:125
msgid "You dont have permission to access this page."
msgstr ""
-#: module/web/pyload_app.py:177
+#: module/web/pyload_app.py:193
msgid "Download directory not found."
msgstr ""
-#: module/web/pyload_app.py:244 module/web/pyload_app.py:251
+#: module/web/pyload_app.py:260 module/web/pyload_app.py:267
msgid "unlimited"
msgstr ""
-#: module/web/pyload_app.py:246 module/web/pyload_app.py:253
+#: module/web/pyload_app.py:262 module/web/pyload_app.py:269
msgid "not available"
msgstr ""
-#: module/web/pyload_app.py:511
+#: module/web/pyload_app.py:509
msgid "Run pyLoadCore.py -s to access the setup."
msgstr ""
@@ -407,90 +326,14 @@ msgstr ""
msgid "waiting %s"
msgstr ""
-#: module/plugins/Plugin.py:387
-msgid ""
-"Pil and tesseract not installed and no Client connected for captcha "
-"decrypting"
-msgstr ""
-
-#: module/plugins/Plugin.py:391
-msgid "No captcha result obtained in appropiate time by any of the plugins."
-msgstr ""
-
-#: module/plugins/Plugin.py:497 module/plugins/Plugin.py:532
-#: module/plugins/hoster/Xdcc.py:237
-#, python-format
-msgid "Setting User and Group failed: %s"
-msgstr ""
-
-#: module/plugins/Container.py:68
-msgid "File not exists."
-msgstr ""
-
-#: module/plugins/PluginManager.py:72
-msgid "Crypter"
-msgstr ""
-
-#: module/plugins/PluginManager.py:73
-msgid "Container"
-msgstr ""
-
-#: module/plugins/PluginManager.py:74
-msgid "Hoster"
-msgstr ""
-
-#: module/plugins/PluginManager.py:76
-msgid "Captcha"
-msgstr ""
-
-#: module/plugins/PluginManager.py:77
-msgid "Account"
-msgstr ""
-
-#: module/plugins/PluginManager.py:78
-msgid "Hook"
-msgstr ""
-
-#: module/plugins/PluginManager.py:159
-#, python-format
-msgid "%s has a invalid pattern."
-msgstr ""
-
-#: module/plugins/PluginManager.py:320
-#, python-format
-msgid "Error importing %(name)s: %(msg)s"
-msgstr ""
-
-#: module/plugins/PluginManager.py:321
-msgid "You should fix dependicies or deactivate it."
-msgstr ""
-
-#: module/plugins/AccountManager.py:87
-msgid "Account settings deleted, due to new config format."
-msgstr ""
-
-#: module/plugins/Account.py:85 module/plugins/Account.py:91
-#, python-format
-msgid "Could not login with account %(user)s | %(msg)s"
-msgstr ""
-
-#: module/plugins/Account.py:86
-msgid "Wrong Password"
-msgstr ""
-
-#: module/plugins/Account.py:240
+#: module/Api.py:323
#, python-format
-msgid "Your Time %s has wrong format, use: 1:22-3:44"
-msgstr ""
-
-#: module/plugins/Account.py:266
-#, python-format
-msgid "Account %s has not enough traffic, checking again in 30min"
+msgid "Added package %(name)s containing %(count)d links"
msgstr ""
-#: module/plugins/Account.py:273
+#: module/Api.py:586
#, python-format
-msgid "Account %s is expired, checking again in 1h"
+msgid "Added %(count)d links to package #%(package)d "
msgstr ""
#: module/plugins/crypter/SerienjunkiesOrg.py:122
@@ -668,6 +511,15 @@ msgstr ""
msgid "Error when updating %s"
msgstr ""
+#: module/plugins/hoster/OronCom.py:133
+msgid "Not enough traffic left"
+msgstr ""
+
+#: module/plugins/hoster/OronCom.py:135
+#: module/plugins/hoster/UploadedTo.py:121
+msgid "Traffic exceeded"
+msgstr ""
+
#: module/plugins/hoster/MegauploadCom.py:135
msgid "You should enable direct Download in your Megaupload Account settings"
msgstr ""
@@ -704,10 +556,6 @@ msgstr ""
msgid "%s: Not enough traffic left"
msgstr ""
-#: module/plugins/hoster/UploadedTo.py:121
-msgid "Traffic exceeded"
-msgstr ""
-
#: module/plugins/hoster/ShareonlineBiz.py:106
msgid "Parallel download issue"
msgstr ""
@@ -720,11 +568,11 @@ msgstr ""
msgid "Please enter your rehost.to account or deactivate this plugin"
msgstr ""
-#: module/plugins/hoster/FileserveCom.py:90
+#: module/plugins/hoster/FileserveCom.py:87
msgid "Not logged in."
msgstr ""
-#: module/plugins/hoster/FileserveCom.py:115
+#: module/plugins/hoster/FileserveCom.py:112
msgid "Parallel download error, now waiting 60s."
msgstr ""
@@ -784,11 +632,30 @@ msgstr ""
msgid "LinkList could not be cleared."
msgstr ""
+#: module/plugins/Plugin.py:387
+msgid ""
+"Pil and tesseract not installed and no Client connected for captcha "
+"decrypting"
+msgstr ""
+
+#: module/plugins/Plugin.py:391
+msgid "No captcha result obtained in appropiate time by any of the plugins."
+msgstr ""
+
+#: module/plugins/Plugin.py:496 module/plugins/Plugin.py:531
+#, python-format
+msgid "Setting User and Group failed: %s"
+msgstr ""
+
+#: module/plugins/Container.py:68
+msgid "File not exists."
+msgstr ""
+
#: module/plugins/accounts/MegauploadCom.py:41
msgid "Activate direct Download in your MegaUpload Account"
msgstr ""
-#: module/plugins/accounts/FilesonicCom.py:54
+#: module/plugins/accounts/FilesonicCom.py:49
msgid "Invalid login retrieving user details"
msgstr ""
@@ -796,6 +663,72 @@ msgstr ""
msgid "Activate direct Download in your Bitshare Account"
msgstr ""
+#: module/plugins/PluginManager.py:72
+msgid "Crypter"
+msgstr ""
+
+#: module/plugins/PluginManager.py:73
+msgid "Container"
+msgstr ""
+
+#: module/plugins/PluginManager.py:74
+msgid "Hoster"
+msgstr ""
+
+#: module/plugins/PluginManager.py:76
+msgid "Captcha"
+msgstr ""
+
+#: module/plugins/PluginManager.py:77
+msgid "Account"
+msgstr ""
+
+#: module/plugins/PluginManager.py:78
+msgid "Hook"
+msgstr ""
+
+#: module/plugins/PluginManager.py:159
+#, python-format
+msgid "%s has a invalid pattern."
+msgstr ""
+
+#: module/plugins/PluginManager.py:320
+#, python-format
+msgid "Error importing %(name)s: %(msg)s"
+msgstr ""
+
+#: module/plugins/PluginManager.py:321
+msgid "You should fix dependicies or deactivate it."
+msgstr ""
+
+#: module/plugins/AccountManager.py:87
+msgid "Account settings deleted, due to new config format."
+msgstr ""
+
+#: module/plugins/Account.py:85 module/plugins/Account.py:91
+#, python-format
+msgid "Could not login with account %(user)s | %(msg)s"
+msgstr ""
+
+#: module/plugins/Account.py:86
+msgid "Wrong Password"
+msgstr ""
+
+#: module/plugins/Account.py:240
+#, python-format
+msgid "Your Time %s has wrong format, use: 1:22-3:44"
+msgstr ""
+
+#: module/plugins/Account.py:266
+#, python-format
+msgid "Account %s has not enough traffic, checking again in 30min"
+msgstr ""
+
+#: module/plugins/Account.py:273
+#, python-format
+msgid "Account %s is expired, checking again in 1h"
+msgstr ""
+
#: module/database/FileDatabase.py:47
msgid "finished"
msgstr ""
@@ -875,3 +808,74 @@ msgstr ""
#: module/database/DatabaseBackend.py:252
msgid "Converting old Django DB"
msgstr ""
+
+#: module/PluginThread.py:182
+#, python-format
+msgid "Download starts: %s"
+msgstr ""
+
+#: module/PluginThread.py:189 module/PluginThread.py:364
+#, python-format
+msgid "Plugin %s is missing a function."
+msgstr ""
+
+#: module/PluginThread.py:197 module/PluginThread.py:260
+#: module/PluginThread.py:381
+#, python-format
+msgid "Download aborted: %s"
+msgstr ""
+
+#: module/PluginThread.py:217
+#, python-format
+msgid "Download restarted: %(name)s | %(msg)s"
+msgstr ""
+
+#: module/PluginThread.py:226 module/PluginThread.py:372
+#, python-format
+msgid "Download is offline: %s"
+msgstr ""
+
+#: module/PluginThread.py:229
+#, python-format
+msgid "Download is temporary offline: %s"
+msgstr ""
+
+#: module/PluginThread.py:232 module/PluginThread.py:299
+#, python-format
+msgid "Download failed: %(name)s | %(msg)s"
+msgstr ""
+
+#: module/PluginThread.py:249
+msgid ""
+"Couldn't connect to host or connection reset, waiting 1 minute and retry."
+msgstr ""
+
+#: module/PluginThread.py:285
+#, python-format
+msgid "Download skipped: %(name)s due to %(plugin)s"
+msgstr ""
+
+#: module/PluginThread.py:315
+#, python-format
+msgid "Download finished: %s"
+msgstr ""
+
+#: module/PluginThread.py:360
+#, python-format
+msgid "Decrypting starts: %s"
+msgstr ""
+
+#: module/PluginThread.py:375 module/PluginThread.py:393
+#, python-format
+msgid "Decrypting failed: %(name)s | %(msg)s"
+msgstr ""
+
+#: module/PluginThread.py:387
+#, python-format
+msgid "Retrying %s"
+msgstr ""
+
+#: module/PluginThread.py:608
+#, python-format
+msgid "Info Fetching for %(name)s failed | %(err)s"
+msgstr ""
diff --git a/locale/django.pot b/locale/django.pot
index fc9604189..999a00adc 100644
--- a/locale/django.pot
+++ b/locale/django.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: pyLoad 0.4.8\n"
+"Project-Id-Version: pyLoad 0.4.9\n"
"Report-Msgid-Bugs-To: 'bugs@pyload.org'\n"
-"POT-Creation-Date: 2011-10-04 09:49+0200\n"
+"POT-Creation-Date: 2011-10-11 18:59+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
@@ -17,23 +17,89 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: module/web/pyload_app.py:109
+#: module/web/translations.js:1 module/web/templates/default/base.html:123
+#: module/web/templates/default/base.html:124
+#: module/web/templates/default/settings_item.html:14
+msgid "on"
+msgstr ""
+
+#: module/web/translations.js:2 module/web/templates/default/captcha.html:7
+msgid "Please read the text on the captcha."
+msgstr ""
+
+#: module/web/translations.js:3
+msgid "Settings saved."
+msgstr ""
+
+#: module/web/translations.js:4 module/web/templates/default/base.html:123
+#: module/web/templates/default/base.html:124
+#: module/web/templates/default/settings_item.html:16
+msgid "off"
+msgstr ""
+
+#: module/web/translations.js:5
+msgid "Success"
+msgstr ""
+
+#: module/web/translations.js:6
+#: module/web/templates/default/filemanager.html:65
+#: module/web/templates/default/folder.html:14
+msgid "Folder is empty"
+msgstr ""
+
+#: module/web/translations.js:7
+msgid "Restart Link"
+msgstr ""
+
+#: module/web/translations.js:8
+msgid "Delete Link"
+msgstr ""
+
+#: module/web/translations.js:9
+msgid "Please Enter a packagename."
+msgstr ""
+
+#: module/web/translations.js:10
+msgid "Please click on the right captcha position."
+msgstr ""
+
+#: module/web/translations.js:11
+msgid "Error occured."
+msgstr ""
+
+#: module/web/translations.js:12
+msgid "New Captcha Request"
+msgstr ""
+
+#: module/web/translations.js:13
+msgid "Failed"
+msgstr ""
+
+#: module/web/translations.js:14
+msgid "No Captchas to read."
+msgstr ""
+
+#: module/web/translations.js:15
+msgid "New folder"
+msgstr ""
+
+#: module/web/pyload_app.py:125
msgid "You dont have permission to access this page."
msgstr ""
-#: module/web/pyload_app.py:177
+#: module/web/pyload_app.py:193
msgid "Download directory not found."
msgstr ""
-#: module/web/pyload_app.py:244 module/web/pyload_app.py:251
+#: module/web/pyload_app.py:260 module/web/pyload_app.py:267
msgid "unlimited"
msgstr ""
-#: module/web/pyload_app.py:246 module/web/pyload_app.py:253
+#: module/web/pyload_app.py:262 module/web/pyload_app.py:269
msgid "not available"
msgstr ""
-#: module/web/pyload_app.py:511
+#: module/web/pyload_app.py:509
msgid "Run pyLoadCore.py -s to access the setup."
msgstr ""
@@ -101,7 +167,7 @@ msgid "Remote Interface Port:"
msgstr ""
#: module/web/templates/default/downloads.html:6
-#: module/web/templates/default/base.html:243
+#: module/web/templates/default/base.html:93
#: module/web/templates/default/home.html:220
msgid "Downloads"
msgstr ""
@@ -110,234 +176,202 @@ msgstr ""
msgid "FileManager"
msgstr ""
-#: module/web/templates/default/filemanager.html:65
-#: module/web/templates/default/folder.html:14
-msgid "Folder is empty"
-msgstr ""
-
-#: module/web/templates/default/rename_directory.html:3
-msgid "Rename directory"
-msgstr ""
-
-#: module/web/templates/default/rename_directory.html:7
-msgid "New Name"
-msgstr ""
-
-#: module/web/templates/default/rename_directory.html:8
-msgid "Name the selected item must be renamed to."
-msgstr ""
-
-#: module/web/templates/default/rename_directory.html:12
-#: module/web/templates/default/admin.html:118
-#: module/web/templates/default/admin.html:148
-#: module/web/templates/default/settings.html:198
-#: module/web/templates/default/edit_package.html:21
-#: module/web/templates/default/captcha.html:104
-msgid "Submit"
-msgstr ""
-
-#: module/web/templates/default/rename_directory.html:13
-#: module/web/templates/default/admin.html:149
-#: module/web/templates/default/settings.html:229
-#: module/web/templates/default/queue.html:78
-#: module/web/templates/default/window.html:44
-#: module/web/templates/default/edit_package.html:22
-msgid "Reset"
-msgstr ""
-
-#: module/web/templates/default/rename_directory.html:20
-msgid "Delete directory"
-msgstr ""
-
-#: module/web/templates/default/rename_directory.html:24
-msgid "Yes"
-msgstr ""
-
-#: module/web/templates/default/rename_directory.html:25
-msgid "No"
-msgstr ""
-
-#: module/web/templates/default/admin.html:70
-#: module/web/templates/default/admin.html:71
+#: module/web/templates/default/admin.html:58
+#: module/web/templates/default/admin.html:59
msgid "Administrate User"
msgstr ""
-#: module/web/templates/default/admin.html:75
+#: module/web/templates/default/admin.html:63
msgid "To add user or change passwords use:"
msgstr ""
-#: module/web/templates/default/admin.html:76
+#: module/web/templates/default/admin.html:64
msgid "Important: Admin user have always all permissions!"
msgstr ""
-#: module/web/templates/default/admin.html:82
-#: module/web/templates/default/settings.html:122
-#: module/web/templates/default/window.html:10
+#: module/web/templates/default/admin.html:70
+#: module/web/templates/default/settings.html:91
+#: module/web/templates/default/queue.html:80
+#: module/web/templates/default/window.html:7
#: module/web/templates/default/home.html:237
-#: module/web/templates/default/edit_package.html:6
msgid "Name"
msgstr ""
-#: module/web/templates/default/admin.html:85
-#: module/web/templates/default/admin.html:124
+#: module/web/templates/default/admin.html:73
+#: module/web/templates/default/admin.html:112
msgid "Change Password"
msgstr ""
-#: module/web/templates/default/admin.html:88
+#: module/web/templates/default/admin.html:76
msgid "Admin"
msgstr ""
-#: module/web/templates/default/admin.html:91
+#: module/web/templates/default/admin.html:79
msgid "Permissions"
msgstr ""
-#: module/web/templates/default/admin.html:98
+#: module/web/templates/default/admin.html:86
msgid "change"
msgstr ""
-#: module/web/templates/default/admin.html:126
+#: module/web/templates/default/admin.html:106
+#: module/web/templates/default/admin.html:136
+#: module/web/templates/default/settings.html:167
+#: module/web/templates/default/queue.html:95
+#: module/web/templates/default/captcha.html:33
+msgid "Submit"
+msgstr ""
+
+#: module/web/templates/default/admin.html:114
msgid "Enter your current and desired Password."
msgstr ""
-#: module/web/templates/default/admin.html:127
+#: module/web/templates/default/admin.html:115
msgid "User"
msgstr ""
-#: module/web/templates/default/admin.html:128
-#: module/web/templates/default/settings.html:210
+#: module/web/templates/default/admin.html:116
+#: module/web/templates/default/settings.html:179
msgid "Your username."
msgstr ""
-#: module/web/templates/default/admin.html:132
+#: module/web/templates/default/admin.html:120
msgid "Current password"
msgstr ""
-#: module/web/templates/default/admin.html:133
-#: module/web/templates/default/settings.html:215
+#: module/web/templates/default/admin.html:121
+#: module/web/templates/default/settings.html:184
msgid "The password for this account."
msgstr ""
-#: module/web/templates/default/admin.html:137
+#: module/web/templates/default/admin.html:125
msgid "New password"
msgstr ""
-#: module/web/templates/default/admin.html:138
+#: module/web/templates/default/admin.html:126
msgid "The new password."
msgstr ""
-#: module/web/templates/default/admin.html:142
+#: module/web/templates/default/admin.html:130
msgid "New password (repeat)"
msgstr ""
-#: module/web/templates/default/admin.html:143
+#: module/web/templates/default/admin.html:131
msgid "Please repeat the new password."
msgstr ""
+#: module/web/templates/default/admin.html:137
+#: module/web/templates/default/settings.html:198
+#: module/web/templates/default/queue.html:96
+#: module/web/templates/default/window.html:41
+msgid "Reset"
+msgstr ""
+
#: module/web/templates/default/settings.html:3
#: module/web/templates/default/settings.html:4
-#: module/web/templates/default/base.html:252
+#: module/web/templates/default/base.html:102
#: module/web/templates/default/home.html:229
msgid "Config"
msgstr ""
-#: module/web/templates/default/settings.html:47
+#: module/web/templates/default/settings.html:16
msgid "General"
msgstr ""
-#: module/web/templates/default/settings.html:48
+#: module/web/templates/default/settings.html:17
msgid "Plugins"
msgstr ""
-#: module/web/templates/default/settings.html:49
+#: module/web/templates/default/settings.html:18
msgid "Accounts"
msgstr ""
-#: module/web/templates/default/settings.html:76
-#: module/web/templates/default/settings.html:105
+#: module/web/templates/default/settings.html:45
+#: module/web/templates/default/settings.html:74
msgid "Choose a section from the menu"
msgstr ""
-#: module/web/templates/default/settings.html:121
+#: module/web/templates/default/settings.html:90
msgid "Plugin"
msgstr ""
-#: module/web/templates/default/settings.html:123
-#: module/web/templates/default/settings.html:214
+#: module/web/templates/default/settings.html:92
+#: module/web/templates/default/settings.html:183
#: module/web/templates/default/login.html:19
-#: module/web/templates/default/window.html:24
-#: module/web/templates/default/edit_package.html:16
+#: module/web/templates/default/queue.html:90
+#: module/web/templates/default/window.html:21
msgid "Password"
msgstr ""
-#: module/web/templates/default/settings.html:124
+#: module/web/templates/default/settings.html:93
#: module/web/templates/default/home.html:238
msgid "Status"
msgstr ""
-#: module/web/templates/default/settings.html:125
+#: module/web/templates/default/settings.html:94
msgid "Premium"
msgstr ""
-#: module/web/templates/default/settings.html:126
+#: module/web/templates/default/settings.html:95
msgid "Valid until"
msgstr ""
-#: module/web/templates/default/settings.html:127
+#: module/web/templates/default/settings.html:96
msgid "Traffic left"
msgstr ""
-#: module/web/templates/default/settings.html:128
+#: module/web/templates/default/settings.html:97
msgid "Time"
msgstr ""
-#: module/web/templates/default/settings.html:129
+#: module/web/templates/default/settings.html:98
msgid "Max Parallel"
msgstr ""
-#: module/web/templates/default/settings.html:130
+#: module/web/templates/default/settings.html:99
msgid "Delete?"
msgstr ""
-#: module/web/templates/default/settings.html:152
+#: module/web/templates/default/settings.html:121
msgid "valid"
msgstr ""
-#: module/web/templates/default/settings.html:155
+#: module/web/templates/default/settings.html:124
msgid "not valid"
msgstr ""
-#: module/web/templates/default/settings.html:162
+#: module/web/templates/default/settings.html:131
msgid "yes"
msgstr ""
-#: module/web/templates/default/settings.html:165
+#: module/web/templates/default/settings.html:134
msgid "no"
msgstr ""
-#: module/web/templates/default/settings.html:199
-#: module/web/templates/default/settings.html:228
-#: module/web/templates/default/base.html:267
+#: module/web/templates/default/settings.html:168
+#: module/web/templates/default/settings.html:197
+#: module/web/templates/default/base.html:117
msgid "Add"
msgstr ""
-#: module/web/templates/default/settings.html:207
+#: module/web/templates/default/settings.html:176
msgid "Add Account"
msgstr ""
-#: module/web/templates/default/settings.html:208
+#: module/web/templates/default/settings.html:177
msgid "Enter your account data to use premium features."
msgstr ""
-#: module/web/templates/default/settings.html:209
+#: module/web/templates/default/settings.html:178
#: module/web/templates/default/login.html:3
msgid "Login"
msgstr ""
-#: module/web/templates/default/settings.html:219
+#: module/web/templates/default/settings.html:188
msgid "Type"
msgstr ""
-#: module/web/templates/default/settings.html:220
+#: module/web/templates/default/settings.html:189
msgid "Choose the hoster for your account."
msgstr ""
@@ -397,115 +431,103 @@ msgstr ""
msgid "To reset your login data or add an user run:"
msgstr ""
-#: module/web/templates/default/base.html:18
-#: module/web/templates/default/base.html:289
+#: module/web/templates/default/base.html:20
+#: module/web/templates/default/base.html:139
msgid "Webinterface"
msgstr ""
-#: module/web/templates/default/base.html:189
+#: module/web/templates/default/base.html:39
msgid "pyLoad Update available!"
msgstr ""
-#: module/web/templates/default/base.html:196
+#: module/web/templates/default/base.html:46
msgid "Plugins updated, please restart!"
msgstr ""
-#: module/web/templates/default/base.html:202
+#: module/web/templates/default/base.html:52
msgid "Captcha waiting"
msgstr ""
-#: module/web/templates/default/base.html:207
+#: module/web/templates/default/base.html:57
msgid "Logout"
msgstr ""
-#: module/web/templates/default/base.html:209
+#: module/web/templates/default/base.html:59
msgid "Administrate"
msgstr ""
-#: module/web/templates/default/base.html:211
+#: module/web/templates/default/base.html:61
msgid "Info"
msgstr ""
-#: module/web/templates/default/base.html:215
+#: module/web/templates/default/base.html:65
msgid "Please Login!"
msgstr ""
-#: module/web/templates/default/base.html:234
+#: module/web/templates/default/base.html:84
#: module/web/templates/default/home.html:211
msgid "Home"
msgstr ""
-#: module/web/templates/default/base.html:237
+#: module/web/templates/default/base.html:87
#: module/web/templates/default/queue.html:15
-#: module/web/templates/default/window.html:37
+#: module/web/templates/default/window.html:34
#: module/web/templates/default/home.html:214
msgid "Queue"
msgstr ""
-#: module/web/templates/default/base.html:240
+#: module/web/templates/default/base.html:90
#: module/web/templates/default/queue.html:17
-#: module/web/templates/default/window.html:39
+#: module/web/templates/default/window.html:36
#: module/web/templates/default/home.html:217
msgid "Collector"
msgstr ""
-#: module/web/templates/default/base.html:249
+#: module/web/templates/default/base.html:99
#: module/web/templates/default/logs.html:3
#: module/web/templates/default/logs.html:4
#: module/web/templates/default/home.html:226
msgid "Logs"
msgstr ""
-#: module/web/templates/default/base.html:264
+#: module/web/templates/default/base.html:114
#: module/web/templates/default/logs.html:12
msgid "Start"
msgstr ""
-#: module/web/templates/default/base.html:265
+#: module/web/templates/default/base.html:115
msgid "Stop"
msgstr ""
-#: module/web/templates/default/base.html:266
+#: module/web/templates/default/base.html:116
msgid "Cancel"
msgstr ""
-#: module/web/templates/default/base.html:273
+#: module/web/templates/default/base.html:123
msgid "Download:"
msgstr ""
-#: module/web/templates/default/base.html:273
-#: module/web/templates/default/base.html:274
-#: module/web/templates/default/settings_item.html:14
-msgid "on"
-msgstr ""
-
-#: module/web/templates/default/base.html:273
-#: module/web/templates/default/base.html:274
-#: module/web/templates/default/settings_item.html:16
-msgid "off"
-msgstr ""
-
-#: module/web/templates/default/base.html:274
+#: module/web/templates/default/base.html:124
msgid "Reconnect:"
msgstr ""
-#: module/web/templates/default/base.html:275
+#: module/web/templates/default/base.html:125
msgid "Speed:"
msgstr ""
-#: module/web/templates/default/base.html:276
+#: module/web/templates/default/base.html:126
msgid "Active:"
msgstr ""
-#: module/web/templates/default/base.html:277
+#: module/web/templates/default/base.html:127
msgid "Reload page"
msgstr ""
-#: module/web/templates/default/base.html:307
+#: module/web/templates/default/base.html:157
msgid "loading"
msgstr ""
-#: module/web/templates/default/base.html:316
+#: module/web/templates/default/base.html:166
msgid "Back to top"
msgstr ""
@@ -541,53 +563,68 @@ msgstr ""
msgid "Password:"
msgstr ""
-#: module/web/templates/default/queue.html:75
#: module/web/templates/default/queue.html:77
-msgid "Delete Package"
+msgid "Edit Package"
+msgstr ""
+
+#: module/web/templates/default/queue.html:78
+msgid "Edit the package detais below."
msgstr ""
-#: module/web/templates/default/queue.html:76
-msgid "Are you sure, that you want to delete this package?"
+#: module/web/templates/default/queue.html:81
+msgid "The name of the package."
msgstr ""
-#: module/web/templates/default/window.html:8
-#: module/web/templates/default/window.html:43
+#: module/web/templates/default/queue.html:85
+msgid "Folder"
+msgstr ""
+
+#: module/web/templates/default/queue.html:86
+msgid "Name of subfolder for these downloads."
+msgstr ""
+
+#: module/web/templates/default/queue.html:91
+msgid "List of passwords used for unrar."
+msgstr ""
+
+#: module/web/templates/default/window.html:5
+#: module/web/templates/default/window.html:40
msgid "Add Package"
msgstr ""
-#: module/web/templates/default/window.html:9
+#: module/web/templates/default/window.html:6
msgid "Paste your links or upload a container."
msgstr ""
-#: module/web/templates/default/window.html:11
+#: module/web/templates/default/window.html:8
msgid "The name of the new package."
msgstr ""
-#: module/web/templates/default/window.html:15
+#: module/web/templates/default/window.html:12
msgid "Links"
msgstr ""
-#: module/web/templates/default/window.html:16
+#: module/web/templates/default/window.html:13
msgid "Paste your links here or any text and press the filter button."
msgstr ""
-#: module/web/templates/default/window.html:17
+#: module/web/templates/default/window.html:14
msgid "Filter urls"
msgstr ""
-#: module/web/templates/default/window.html:25
+#: module/web/templates/default/window.html:22
msgid "Password for RAR-Archive"
msgstr ""
-#: module/web/templates/default/window.html:29
+#: module/web/templates/default/window.html:26
msgid "File"
msgstr ""
-#: module/web/templates/default/window.html:30
+#: module/web/templates/default/window.html:27
msgid "Upload a container."
msgstr ""
-#: module/web/templates/default/window.html:34
+#: module/web/templates/default/window.html:31
msgid "Destination"
msgstr ""
@@ -603,54 +640,26 @@ msgstr ""
msgid "Progress"
msgstr ""
-#: module/web/templates/default/edit_package.html:3
-msgid "Edit Package"
-msgstr ""
-
-#: module/web/templates/default/edit_package.html:4
-msgid "Edit the package detais below."
-msgstr ""
-
-#: module/web/templates/default/edit_package.html:7
-msgid "The name of the package."
-msgstr ""
-
-#: module/web/templates/default/edit_package.html:11
-msgid "Folder"
-msgstr ""
-
-#: module/web/templates/default/edit_package.html:12
-msgid "Name of subfolder for these downloads."
-msgstr ""
-
-#: module/web/templates/default/edit_package.html:17
-msgid "List of passwords used for unrar."
-msgstr ""
-
-#: module/web/templates/default/captcha.html:77
+#: module/web/templates/default/captcha.html:6
msgid "Captcha reading"
msgstr ""
-#: module/web/templates/default/captcha.html:78
-msgid "Please read the text on the captcha."
-msgstr ""
-
-#: module/web/templates/default/captcha.html:84
+#: module/web/templates/default/captcha.html:13
msgid "Captcha"
msgstr ""
-#: module/web/templates/default/captcha.html:85
+#: module/web/templates/default/captcha.html:14
msgid "The captcha."
msgstr ""
-#: module/web/templates/default/captcha.html:91
+#: module/web/templates/default/captcha.html:20
msgid "Text"
msgstr ""
-#: module/web/templates/default/captcha.html:92
+#: module/web/templates/default/captcha.html:21
msgid "Input the text on the captcha."
msgstr ""
-#: module/web/templates/default/captcha.html:105
+#: module/web/templates/default/captcha.html:34
msgid "Close"
msgstr ""
diff --git a/locale/generate_locale.py b/locale/generate_locale.py
deleted file mode 100644
index 15b3fcae0..000000000
--- a/locale/generate_locale.py
+++ /dev/null
@@ -1,111 +0,0 @@
-#!/usr/bin/env python
-# -*- coding: utf-8 -*-
-
-from os import walk, remove
-from os.path import join
-from subprocess import call
-
-
-options = ["--from-code=utf-8", "--copyright-holder=pyLoad Team", "--package-name=pyLoad", "--package-version=0.4.9",
- "--msgid-bugs-address='bugs@pyload.org'"]
-
-
-def po2pot(name):
- f = open("%s.po" % name, "rb")
- content = f.read()
- f.close()
- remove("%s.po" % name)
- content = content.replace("charset=CHARSET", "charset=UTF-8")
-
- f = open("locale/%s.pot" % name, "wb")
- f.write(content)
- f.close()
-
-###### Core
-
-EXCLUDE = ["BeautifulSoup.py", "module/gui", "module/cli", "web/locale", "web/ajax", "web/cnl", "web/pyload", "setup.py"]
-print "Generate core.pot"
-
-f = open("includes.txt", "wb")
-f.write("./pyLoadCore.py\n")
-
-for path, dir, filenames in walk("./module"):
- if [True for x in EXCLUDE if x in path]: continue
- for file in filenames:
- if file.endswith(".py") and file not in EXCLUDE:
- f.write(join(path, file) + "\n")
-
-f.close()
-
-call(["xgettext", "--files-from=includes.txt", "--default-domain=core"] + options)
-po2pot("core")
-
-########## GUI
-
-print "Generate gui.pot"
-
-EXCLUDE = []
-
-f = open("includes.txt", "wb")
-f.write("./pyLoadGui.py\n")
-
-for path, dir, filenames in walk("./module/gui"):
- if [True for x in EXCLUDE if x in path]: continue
- for file in filenames:
- if file.endswith(".py") and file not in EXCLUDE:
- f.write(join(path, file) + "\n")
-
-f.close()
-
-call(["xgettext", "--files-from=includes.txt", "--default-domain=gui"] + options)
-po2pot("gui")
-
-
-###### CLI
-
-print "Generate cli.pot"
-
-f = open("includes.txt", "wb")
-f.write("./pyLoadCli.py\n")
-
-for path, dir, filenames in walk("./module/cli"):
- if [True for x in EXCLUDE if x in path]: continue
- for file in filenames:
- if file.endswith(".py") and file not in EXCLUDE:
- f.write(join(path, file) + "\n")
-
-f.close()
-
-call(["xgettext", "--files-from=includes.txt", "--default-domain=cli"] + options)
-po2pot("cli")
-
-###### Setup
-
-print "Generate setup.pot"
-
-f = open("includes.txt", "wb")
-f.write("./module/setup.py\n")
-f.close()
-
-call(["xgettext", "--files-from=includes.txt", "--default-domain=setup"] + options)
-po2pot("setup")
-
-### Web
-
-EXCLUDE = ["ServerThread.py", "web/media/"]
-print "Generate django.pot (old name keeped)"
-
-f = open("includes.txt", "wb")
-for path, dir, filenames in walk("./module/web"):
- if [True for x in EXCLUDE if x in path]: continue
- for file in filenames:
- if (file.endswith(".py") or file.endswith(".html") or file.endswith(".js") or file.endswith(".coffee")) and file not in EXCLUDE:
- f.write(join(path, file) + "\n")
-
-f.close()
-
-call(["xgettext", "--files-from=includes.txt", "--default-domain=django", "--language=Python"] + options)
-po2pot("django")
-
-print
-print "All finished."
diff --git a/locale/gui.pot b/locale/gui.pot
index 31a2c6332..46543363b 100644
--- a/locale/gui.pot
+++ b/locale/gui.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: pyLoad 0.4.8\n"
+"Project-Id-Version: pyLoad 0.4.9\n"
"Report-Msgid-Bugs-To: 'bugs@pyload.org'\n"
-"POT-Creation-Date: 2011-10-04 09:49+0200\n"
+"POT-Creation-Date: 2011-10-11 18:59+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/locale/includes.txt b/locale/includes.txt
deleted file mode 100644
index 5074704b1..000000000
--- a/locale/includes.txt
+++ /dev/null
@@ -1 +0,0 @@
-./pyLoadCore.py
diff --git a/locale/setup.pot b/locale/setup.pot
index 8c1c9328f..a593f002c 100644
--- a/locale/setup.pot
+++ b/locale/setup.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: pyLoad 0.4.8\n"
+"Project-Id-Version: pyLoad 0.4.9\n"
"Report-Msgid-Bugs-To: 'bugs@pyload.org'\n"
-"POT-Creation-Date: 2011-10-04 09:49+0200\n"
+"POT-Creation-Date: 2011-10-11 18:59+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
diff --git a/module/plugins/hoster/OronCom.py b/module/plugins/hoster/OronCom.py
index 778453aa2..7f09ea3a3 100644
--- a/module/plugins/hoster/OronCom.py
+++ b/module/plugins/hoster/OronCom.py
@@ -42,6 +42,7 @@ class OronCom(Hoster):
def init(self):
self.resumeDownload = self.multiDL = True if self.account else False
+ self.chunkLimit = 1
self.file_id = re.search(r'http://(?:www.)?oron.com/([a-zA-Z0-9]+)', self.pyfile.url).group(1)
self.logDebug("File id is %s" % self.file_id)
self.pyfile.url = "http://oron.com/" + self.file_id
diff --git a/module/remote/thriftbackend/generateThrift.sh b/module/remote/thriftbackend/generateThrift.sh
deleted file mode 100755
index d7e0cb68a..000000000
--- a/module/remote/thriftbackend/generateThrift.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/sh
-rm -rf thriftgen
-
-# use thrift from trunk or a release with dynamic/slots python code generation
-
-thrift -v --strict --gen py:slots,dynamic --gen java pyload.thrift
-mv gen-py thriftgen
diff --git a/module/remote/thriftbackend/thriftgen/pyload/Pyload-remote b/module/remote/thriftbackend/thriftgen/pyload/Pyload-remote
index 8c3390438..e2e56d5ca 100755
--- a/module/remote/thriftbackend/thriftgen/pyload/Pyload-remote
+++ b/module/remote/thriftbackend/thriftgen/pyload/Pyload-remote
@@ -20,7 +20,7 @@ from ttypes import *
if len(sys.argv) <= 1 or sys.argv[1] == '--help':
print ''
- print 'Usage: ' + sys.argv[0] + ' [-h host:port] [-u url] [-f[ramed]] function [arg1 [arg2...]]'
+ print 'Usage: ' + sys.argv[0] + ' [-h host[:port]] [-u url] [-f[ramed]] function [arg1 [arg2...]]'
print ''
print 'Functions:'
print ' string getConfigValue(string category, string option, string section)'
@@ -107,7 +107,8 @@ argi = 1
if sys.argv[argi] == '-h':
parts = sys.argv[argi+1].split(':')
host = parts[0]
- port = int(parts[1])
+ if len(parts) > 1:
+ port = int(parts[1])
argi += 2
if sys.argv[argi] == '-u':
diff --git a/module/remote/thriftbackend/thriftgen/pyload/Pyload.py b/module/remote/thriftbackend/thriftgen/pyload/Pyload.py
index d54cfaedd..677e4afe2 100644
--- a/module/remote/thriftbackend/thriftgen/pyload/Pyload.py
+++ b/module/remote/thriftbackend/thriftgen/pyload/Pyload.py
@@ -6,7 +6,7 @@
# options string: py:slots,dynamic
#
-from thrift.Thrift import TType, TMessageType
+from thrift.Thrift import TType, TMessageType, TException
from ttypes import *
from thrift.Thrift import TProcessor
from thrift.protocol.TBase import TBase, TExceptionBase, TApplicationException
diff --git a/module/remote/thriftbackend/thriftgen/pyload/constants.py b/module/remote/thriftbackend/thriftgen/pyload/constants.py
index 1ca9842ff..f5ef663f1 100644
--- a/module/remote/thriftbackend/thriftgen/pyload/constants.py
+++ b/module/remote/thriftbackend/thriftgen/pyload/constants.py
@@ -6,6 +6,6 @@
# options string: py:slots,dynamic
#
-from thrift.Thrift import TType, TMessageType
+from thrift.Thrift import TType, TMessageType, TException
from ttypes import *
diff --git a/module/remote/thriftbackend/thriftgen/pyload/ttypes.py b/module/remote/thriftbackend/thriftgen/pyload/ttypes.py
index 204090577..626bd1c29 100644
--- a/module/remote/thriftbackend/thriftgen/pyload/ttypes.py
+++ b/module/remote/thriftbackend/thriftgen/pyload/ttypes.py
@@ -6,7 +6,7 @@
# options string: py:slots,dynamic
#
-from thrift.Thrift import TType, TMessageType
+from thrift.Thrift import TType, TMessageType, TException
from thrift.protocol.TBase import TBase, TExceptionBase
diff --git a/module/web/compile_js.sh b/module/web/compile_js.sh
deleted file mode 100755
index 79adb1bed..000000000
--- a/module/web/compile_js.sh
+++ /dev/null
@@ -1,7 +0,0 @@
-#!/bin/bash
-
-for file in media/js/*.coffee
-do
- echo "Compiling ${file}"
- cat ${file} | coffee -cbs | yuicompressor --type js > ${file/.coffee/.js}
-done
diff --git a/pavement.py b/pavement.py
new file mode 100644
index 000000000..b7ece2bd4
--- /dev/null
+++ b/pavement.py
@@ -0,0 +1,276 @@
+# -*- coding: utf-8 -*-
+
+
+from paver.easy import *
+from paver.setuputils import setup
+
+import sys
+import re
+from urllib import urlretrieve
+from subprocess import call, Popen, PIPE
+from zipfile import ZipFile
+
+PROJECT_DIR = path(__file__).dirname()
+
+options = environment.options
+path('pyload').mkdir()
+
+extradeps = []
+if sys.version_info <= (2, 5):
+ extradeps += 'simplejson'
+
+setup(
+ name="pyload",
+ version="0.4.9",
+ description='description',
+ long_description='',
+ keywords='',
+ url="http://pyload.org",
+ download_url='http://pyload.org/download',
+ license='GPL v3',
+ author="pyLoad Team",
+ author_email="support@pyload.org",
+ #package_dir={'pyload': 'src'},
+ packages=['pyload'],
+ #package_data=find_package_data(),
+ #data_files=[],
+ include_package_data=True,
+ exclude_package_data={'pyload': ['docs*', 'scripts*']},
+ #leaving out thrift 0.8.0 since its not statisfiable
+ install_requires=['BeautifulSoup>=3.2, <3.3', 'jinja2', 'pycurl', 'Beaker', 'bottle >= 0.9.0'] + extradeps,
+ extras_require={
+ 'SSL': ["pyOpenSSL"],
+ 'DLC': ['pycrypto'],
+ 'lightweight webserver': ['bjoern'],
+ 'RSS plugins': ['feedparser']
+ },
+ #setup_requires=["setuptools_hg"],
+ entry_points={
+ 'console_scripts': [
+ 'pyLoadCore = pyLoadCore:main_func',
+ 'pyLoadCli = pyLoadCli:some_func', ],
+ 'gui_scripts': [
+ 'pyLoadGui = my_package_gui.start_func',
+ ]},
+ zip_safe=False
+)
+
+options(
+ sphinx=Bunch(
+ builddir="_build",
+ sourcedir=""
+ ),
+ get_source=Bunch(
+ src="https://bitbucket.org/spoob/pyload/get/tip.zip",
+ rev=None,
+ clean=False
+ ),
+ thrift=Bunch(
+ path="../thrift/trunk/compiler/cpp/thrift",
+ gen=""
+ )
+)
+
+# xgettext args
+xargs = ["--from-code=utf-8", "--copyright-holder=pyLoad Team", "--package-name=pyLoad",
+ "--package-version=%s" % options.version, "--msgid-bugs-address='bugs@pyload.org'"]
+
+@task
+def html():
+ """Build html documentation"""
+ module = path("docs") / "module"
+ module.rmtree()
+ call_task('paver.doctools.html')
+
+
+@task
+@cmdopts([
+ ('src=', 's', 'Url to source'),
+ ('rev=', 'r', "HG revision"),
+ ("clean", 'c', 'Delete old source folder')
+])
+def get_source(options):
+ """ Downloads pyload source from bitbucket tip or given rev"""
+ if options.rev: options.url = "https://bitbucket.org/spoob/pyload/get/%s.zip" % options.rev
+
+ pyload = path("pyload")
+
+ if len(pyload.listdir()) and not options.clean:
+ return
+ elif pyload.exists():
+ pyload.rmtree()
+
+ urlretrieve(options.src, "pyload_src.zip")
+ zip = ZipFile("pyload_src.zip")
+ zip.extractall()
+ path("pyload_src.zip").remove()
+
+ folder = [x for x in path(".").dirs() if x.name.startswith("spoob-pyload-")][0]
+ folder.move(pyload)
+
+ change_mode(pyload, 0644)
+ change_mode(pyload, 0755, folder=True)
+
+ for file in pyload.files():
+ if file.name.endswith(".py"):
+ file.chmod(0755)
+
+ (pyload / ".hgtags").remove()
+ (pyload / ".hgignore").remove()
+ #(pyload / "docs").rmtree()
+
+ f = open(pyload / "__init__.py", "wb")
+ f.close()
+
+ #options.setup.packages = find_packages()
+ #options.setup.package_data = find_package_data()
+
+
+@task
+@needs('clean', 'generate_setup', 'minilib', 'get_source', 'setuptools.command.sdist')
+def sdist():
+ """ Build source code package with distutils """
+
+
+@task
+@cmdopts([
+ ('path=', 'p', 'Thrift path'),
+ ('gen=', 'g', "Extra --gen option")
+])
+def thrift(options):
+ """ Generate Thrift stubs """
+
+ print "add import for TApplicationException manually as long it is not fixed"
+
+ outdir = path("module") / "remote" / "thriftbackend"
+ (outdir / "gen-py").rmtree()
+
+ cmd = [options.thrift.path, "-strict", "-o", outdir, "--gen", "py:slots,dynamic", outdir / "pyload.thrift"]
+
+ if options.gen:
+ cmd.insert(len(cmd) - 1, "--gen")
+ cmd.insert(len(cmd) - 1, options.gen)
+
+ print "running", cmd
+
+ p = Popen(cmd)
+ p.communicate()
+
+ (outdir / "thriftgen").rmtree()
+ (outdir / "gen-py").move(outdir / "thriftgen")
+
+
+@task
+def compile_js():
+ """ Compile .coffee files to javascript"""
+
+ root = path("module") / "web" / "media" / "js"
+ for f in root.glob("*.coffee"):
+ coffee = Popen(["coffee", "-cbs"], stdin=open(f, "rb"), stdout=PIPE)
+ yui = Popen(["yuicompressor", "--type", "js"], stdin=coffee.stdout, stdout=PIPE)
+ coffee.stdout.close()
+ content = yui.communicate()[0]
+ with open(root / f.name.replace(".coffee", ".js"), "wb") as js:
+ js.write(content)
+
+
+@task
+def generate_locale():
+ """ Generates localisation files """
+
+ EXCLUDE = ["BeautifulSoup.py", "module/gui", "module/cli", "web/locale", "web/ajax", "web/cnl", "web/pyload",
+ "setup.py"]
+ makepot("core", path("module"), EXCLUDE, "./pyLoadCore.py\n")
+
+ makepot("gui", path("module") / "gui", [], includes="./pyLoadGui.py\n")
+ makepot("cli", path("module") / "cli", [], includes="./pyLoadCli.py\n")
+ makepot("setup", "", [], includes="./module/setup.py\n")
+
+ EXCLUDE = ["ServerThread.py", "web/media/default"]
+
+ # strings from js files
+ strings = set()
+
+ for fi in path("module/web").walkfiles():
+ if not fi.name.endswith(".js") and not fi.endswith(".coffee"): continue
+ with open(fi, "rb") as c:
+ content = c.read()
+
+ strings.update(re.findall(r"_\s*\(\s*\"([^\"]+)", content))
+ strings.update(re.findall(r"_\s*\(\s*\'([^\']+)", content))
+
+ trans = path("module") / "web" / "translations.js"
+
+ with open(trans, "wb") as js:
+ for s in strings:
+ js.write('_("%s")\n' % s)
+
+ makepot("django", path("module/web"), EXCLUDE, "./%s\n" % trans.relpath(), [".py", ".html"], ["--language=Python"])
+
+ trans.remove()
+
+ path("includes.txt").remove()
+
+ print "Locale generated"
+
+
+@task
+def clean():
+ """Cleans build directories"""
+ path("build").rmtree()
+ path("dist").rmtree()
+
+
+#helper functions
+
+def walk_trans(path, EXCLUDE, endings=[".py"]):
+ result = ""
+
+ for f in path.walkfiles():
+ if [True for x in EXCLUDE if x in f.dirname().relpath()]: continue
+ if f.name in EXCLUDE: continue
+
+ for e in endings:
+ if f.name.endswith(e):
+ result += "./%s\n" % f.relpath()
+ break
+
+ return result
+
+
+def makepot(domain, p, excludes=[], includes="", endings=[".py"], xxargs=[]):
+ print "Generate %s.pot" % domain
+
+ f = open("includes.txt", "wb")
+ if includes:
+ f.write(includes)
+
+ if p:
+ f.write(walk_trans(path(p), excludes, endings))
+
+ f.close()
+
+ call(["xgettext", "--files-from=includes.txt", "--default-domain=%s" % domain] + xargs + xxargs)
+
+ # replace charset und move file
+ with open("%s.po" % domain, "rb") as f:
+ content = f.read()
+
+ path("%s.po" % domain).remove()
+ content = content.replace("charset=CHARSET", "charset=UTF-8")
+
+ with open("locale/%s.pot" % domain, "wb") as f:
+ f.write(content)
+
+
+def change_owner(dir, uid, gid):
+ for p in dir.walk():
+ p.chown(uid, gid)
+
+
+def change_mode(dir, mode, folder=False):
+ for p in dir.walk():
+ if folder and p.isdir():
+ p.chmod(mode)
+ elif p.isfile() and not folder:
+ p.chmod(mode)