summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--locale/cli.pot150
-rw-r--r--locale/core.pot462
-rw-r--r--locale/generate_locale.py10
-rw-r--r--locale/gui.pot430
-rw-r--r--locale/setup.pot4
-rw-r--r--module/FileDatabase.py276
-rw-r--r--module/gui/Collector.py5
-rw-r--r--module/gui/Queue.py16
-rw-r--r--module/network/FtpRequest.py12
-rwxr-xr-xmodule/network/Request.py8
-rw-r--r--module/network/XdccRequest.py1
-rw-r--r--module/plugins/Plugin.py3
-rw-r--r--module/plugins/hooks/UnRar.py6
13 files changed, 613 insertions, 770 deletions
diff --git a/locale/cli.pot b/locale/cli.pot
index e51cba280..594f750a7 100644
--- a/locale/cli.pot
+++ b/locale/cli.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: pyLoad 0.4\n"
+"Project-Id-Version: pyLoad 0.4.3\n"
"Report-Msgid-Bugs-To: 'bugs@pyload.org'\n"
-"POT-Creation-Date: 2010-10-07 22:49+0200\n"
+"POT-Creation-Date: 2010-12-12 14:19+0100\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,218 +17,222 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: pyLoadCli.py:59 pyLoadCli.py:553
+#: pyLoadCli.py:60 pyLoadCli.py:584
msgid "pyLoadCore not running"
msgstr ""
-#: pyLoadCli.py:65 pyLoadCli.py:124
+#: pyLoadCli.py:66 pyLoadCli.py:125
msgid " Command Line Interface"
msgstr ""
-#: pyLoadCli.py:126
+#: pyLoadCli.py:127
#, python-format
msgid "%s Downloads:"
msgstr ""
-#: pyLoadCli.py:136
+#: pyLoadCli.py:139
msgid " Speed: "
msgstr ""
-#: pyLoadCli.py:136
+#: pyLoadCli.py:139
msgid " Size: "
msgstr ""
-#: pyLoadCli.py:136
+#: pyLoadCli.py:140
msgid " Finished in: "
msgstr ""
-#: pyLoadCli.py:136
+#: pyLoadCli.py:141
msgid " ID: "
msgstr ""
-#: pyLoadCli.py:141
+#: pyLoadCli.py:146
msgid "waiting: "
msgstr ""
-#: pyLoadCli.py:147 pyLoadCli.py:149
+#: pyLoadCli.py:153 pyLoadCli.py:157
msgid "Status: "
msgstr ""
-#: pyLoadCli.py:147 pyLoadCli.py:149
+#: pyLoadCli.py:153 pyLoadCli.py:157
msgid " total Speed: "
msgstr ""
-#: pyLoadCli.py:147 pyLoadCli.py:149
+#: pyLoadCli.py:154 pyLoadCli.py:158
msgid " Files in queue: "
msgstr ""
-#: pyLoadCli.py:161
+#: pyLoadCli.py:170
msgid "Menu:"
msgstr ""
-#: pyLoadCli.py:166
+#: pyLoadCli.py:175
msgid " Add Links"
msgstr ""
-#: pyLoadCli.py:168
+#: pyLoadCli.py:177
msgid " Manage Links"
msgstr ""
-#: pyLoadCli.py:170
+#: pyLoadCli.py:179
msgid " (Un)Pause Server"
msgstr ""
-#: pyLoadCli.py:172
+#: pyLoadCli.py:181
msgid " Kill Server"
msgstr ""
-#: pyLoadCli.py:174
+#: pyLoadCli.py:183
msgid " Quit"
msgstr ""
-#: pyLoadCli.py:184
+#: pyLoadCli.py:193
msgid "Name your package."
msgstr ""
-#: pyLoadCli.py:194 pyLoadCli.py:211 pyLoadCli.py:251
+#: pyLoadCli.py:203 pyLoadCli.py:220 pyLoadCli.py:261
msgid " back to main menu"
msgstr ""
-#: pyLoadCli.py:199
+#: pyLoadCli.py:208
#, python-format
msgid "Package: %s"
msgstr ""
-#: pyLoadCli.py:201
+#: pyLoadCli.py:210
msgid "Parse the links you want to add."
msgstr ""
-#: pyLoadCli.py:203
+#: pyLoadCli.py:212
#, python-format
msgid "Type %s when done."
msgstr ""
-#: pyLoadCli.py:205
+#: pyLoadCli.py:214
msgid "Links added: "
msgstr ""
-#: pyLoadCli.py:217
+#: pyLoadCli.py:227
msgid ""
"Type d(number of package) to delete a package, r to restart, or w/o d,r to "
"look into it."
msgstr ""
-#: pyLoadCli.py:233
+#: pyLoadCli.py:243
msgid "Type d(number) of the link you want to delete or r(number) to restart."
msgstr ""
-#: pyLoadCli.py:249
+#: pyLoadCli.py:259
msgid " - previous"
msgstr ""
-#: pyLoadCli.py:249
+#: pyLoadCli.py:259
msgid " - next"
msgstr ""
-#: pyLoadCli.py:533
-msgid "Username: "
+#: pyLoadCli.py:484
+msgid "status"
msgstr ""
-#: pyLoadCli.py:534
-msgid "address: "
+#: pyLoadCli.py:484
+msgid "prints server status"
msgstr ""
-#: pyLoadCli.py:536
-msgid "Use SSL? ([y]/n): "
+#: pyLoadCli.py:485
+msgid "queue"
msgstr ""
-#: pyLoadCli.py:541
-msgid "Port: "
+#: pyLoadCli.py:485
+msgid "prints downloads in queue"
msgstr ""
-#: pyLoadCli.py:544
-msgid "Password: "
+#: pyLoadCli.py:486
+msgid "collector"
msgstr ""
-#: pyLoadCli.py:558
-msgid "Linklist added"
+#: pyLoadCli.py:486
+msgid "prints downloads in collector"
msgstr ""
-#: pyLoadCli.py:580
-msgid "Unknown Command"
+#: pyLoadCli.py:487
+msgid "pause"
msgstr ""
-#: pyLoadCli.py:581
-msgid "Use one of:"
+#: pyLoadCli.py:487
+msgid "pause the server"
msgstr ""
-#: pyLoadCli.py:583
-msgid "status"
+#: pyLoadCli.py:488
+msgid "unpause"
msgstr ""
-#: pyLoadCli.py:583
-msgid "prints server status"
+#: pyLoadCli.py:488
+msgid "continue downloads"
msgstr ""
-#: pyLoadCli.py:584
-msgid "queue"
+#: pyLoadCli.py:489
+msgid "toggle"
msgstr ""
-#: pyLoadCli.py:584
-msgid "prints download queue"
+#: pyLoadCli.py:489
+msgid "toggle pause/unpause"
msgstr ""
-#: pyLoadCli.py:585
-msgid "pause"
+#: pyLoadCli.py:490
+msgid "kill"
msgstr ""
-#: pyLoadCli.py:585
-msgid "pause the server"
+#: pyLoadCli.py:490
+msgid "kill server"
msgstr ""
-#: pyLoadCli.py:586
-msgid "unpause"
+#: pyLoadCli.py:563
+msgid "Username: "
msgstr ""
-#: pyLoadCli.py:586
-msgid "continue downloads"
+#: pyLoadCli.py:564
+msgid "address: "
msgstr ""
-#: pyLoadCli.py:587
-msgid "toggle"
+#: pyLoadCli.py:566
+msgid "Use SSL? ([y]/n): "
msgstr ""
-#: pyLoadCli.py:587
-msgid "toggle pause/unpause"
+#: pyLoadCli.py:571
+msgid "Port: "
msgstr ""
-#: pyLoadCli.py:588
-msgid "kill"
+#: pyLoadCli.py:575
+msgid "Password: "
msgstr ""
#: pyLoadCli.py:588
-msgid "kill server"
+msgid "Linklist added"
msgstr ""
-#: pyLoadCli.py:598
+#: pyLoadCli.py:617
msgid "Status: paused"
msgstr ""
-#: pyLoadCli.py:600
+#: pyLoadCli.py:619
msgid "Status: running"
msgstr ""
-#: pyLoadCli.py:601
+#: pyLoadCli.py:621
#, python-format
msgid "%s Downloads"
msgstr ""
-#: pyLoadCli.py:604
+#: pyLoadCli.py:624
#, python-format
msgid "Downloading: %(name)-40s %(percent)s%% @%(speed)dkB/s"
msgstr ""
-#: pyLoadCli.py:606
+#: pyLoadCli.py:626
#, python-format
msgid "Waiting: %(name)s-40s: %(format_wait)s"
msgstr ""
+
+#: pyLoadCli.py:629
+msgid "Unknown Command"
+msgstr ""
diff --git a/locale/core.pot b/locale/core.pot
index fd14329df..8f9834e44 100644
--- a/locale/core.pot
+++ b/locale/core.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: pyLoad 0.4\n"
+"Project-Id-Version: pyLoad 0.4.3\n"
"Report-Msgid-Bugs-To: 'bugs@pyload.org'\n"
-"POT-Creation-Date: 2010-10-07 22:49+0200\n"
+"POT-Creation-Date: 2010-12-12 14:19+0100\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,177 +17,141 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: pyLoadCore.py:163
+#: pyLoadCore.py:177
msgid "Received Quit signal"
msgstr ""
-#: pyLoadCore.py:205
+#: pyLoadCore.py:260
+#, python-format
+msgid "pyLoad already running with pid %s"
+msgstr ""
+
+#: pyLoadCore.py:274
#, python-format
msgid "Failed changing group: %s"
msgstr ""
-#: pyLoadCore.py:214
+#: pyLoadCore.py:283
#, python-format
msgid "Failed changing user: %s"
msgstr ""
-#: pyLoadCore.py:216
+#: pyLoadCore.py:285
msgid "folder for logs"
msgstr ""
-#: pyLoadCore.py:227
+#: pyLoadCore.py:296
#, python-format
msgid "Using home directory: %s"
msgstr ""
-#: pyLoadCore.py:231
+#: pyLoadCore.py:302
msgid "pycrypto to decode container files"
msgstr ""
-#: pyLoadCore.py:232
+#: pyLoadCore.py:303
msgid "Python Image Libary (PIL) for captcha reading"
msgstr ""
-#: pyLoadCore.py:234
+#: pyLoadCore.py:305
msgid "Django for webinterface"
msgstr ""
-#: pyLoadCore.py:235
+#: pyLoadCore.py:306
msgid "folder for temporary files"
msgstr ""
-#: pyLoadCore.py:236
+#: pyLoadCore.py:307
msgid "tesseract for captcha reading"
msgstr ""
-#: pyLoadCore.py:240
+#: pyLoadCore.py:311
msgid "folder for downloads"
msgstr ""
-#: pyLoadCore.py:241
+#: pyLoadCore.py:312
msgid "file for links"
msgstr ""
-#: pyLoadCore.py:244
+#: pyLoadCore.py:315
msgid "OpenSSL for secure connection"
msgstr ""
-#: pyLoadCore.py:268
+#: pyLoadCore.py:339
#, python-format
msgid "Downloadtime: %s"
msgstr ""
-#: pyLoadCore.py:279
+#: pyLoadCore.py:350
#, python-format
msgid "Free space: %sGB"
msgstr ""
-#: pyLoadCore.py:281
+#: pyLoadCore.py:352
#, python-format
msgid "Free space: %sMB"
msgstr ""
-#: pyLoadCore.py:302
-msgid "links.txt could not be cleared"
-msgstr ""
-
-#: pyLoadCore.py:319
+#: pyLoadCore.py:381
msgid "restarting pyLoad"
msgstr ""
-#: pyLoadCore.py:323
+#: pyLoadCore.py:385
msgid "pyLoad quits"
msgstr ""
-#: pyLoadCore.py:344
+#: pyLoadCore.py:401
msgid "Secure XMLRPC Server Started"
msgstr ""
-#: pyLoadCore.py:346
+#: pyLoadCore.py:403
msgid "SSL Certificates not found, fallback to auth XMLRPC server"
msgstr ""
-#: pyLoadCore.py:348 pyLoadCore.py:351
+#: pyLoadCore.py:405 pyLoadCore.py:408
msgid "Auth XMLRPC Server Started"
msgstr ""
-#: pyLoadCore.py:357
+#: pyLoadCore.py:414
#, python-format
msgid "Failed starting XMLRPC server CLI and GUI will not be available: %s"
msgstr ""
-#: pyLoadCore.py:401
+#: pyLoadCore.py:458
#, python-format
msgid "Install %s"
msgstr ""
-#: pyLoadCore.py:436
+#: pyLoadCore.py:493
#, python-format
msgid "could not find %(desc)s: %(name)s"
msgstr ""
-#: pyLoadCore.py:438
+#: pyLoadCore.py:495
#, python-format
msgid "could not create %(desc)s: %(name)s"
msgstr ""
-#: pyLoadCore.py:463
+#: pyLoadCore.py:520
msgid "shutting down..."
msgstr ""
-#: pyLoadCore.py:478
+#: pyLoadCore.py:535
msgid "error while shutting down"
msgstr ""
-#: pyLoadCore.py:611
+#: pyLoadCore.py:670
#, python-format
msgid "Added package %(name)s containing %(count)d links"
msgstr ""
-#: pyLoadCore.py:809
-msgid "killed pyLoad from Terminal"
-msgstr ""
-
-#: module/ThreadManager.py:94
-#, python-format
-msgid "Reconnect Failed: %s"
-msgstr ""
-
-#: module/ThreadManager.py:115
-msgid "Reconnect script not found!"
-msgstr ""
-
-#: module/ThreadManager.py:121
-msgid "Starting reconnect"
-msgstr ""
-
-#: module/ThreadManager.py:130
+#: pyLoadCore.py:722
#, python-format
-msgid "Old IP: %s"
-msgstr ""
-
-#: module/ThreadManager.py:135
-msgid "Failed executing reconnect script!"
+msgid "Added %(count)d links to package #%(package)d "
msgstr ""
-#: module/ThreadManager.py:151
-#, python-format
-msgid "Reconnected, new IP: %s"
-msgstr ""
-
-#: module/HookManager.py:50
-#, python-format
-msgid "Error executing hooks: %s"
-msgstr ""
-
-#: module/HookManager.py:64
-#, python-format
-msgid "%(name)s loaded, activated %(value)s"
-msgstr ""
-
-#: module/HookManager.py:66
-#, python-format
-msgid "Failed activating %(name)s"
+#: pyLoadCore.py:921
+msgid "killed pyLoad from Terminal"
msgstr ""
#: module/FileDatabase.py:84
@@ -250,382 +214,446 @@ msgstr ""
msgid "unknown"
msgstr ""
-#: module/FileDatabase.py:499 module/plugins/hooks/IRCInterface.py:68
-#: module/plugins/hooks/XMPPInterface.py:75
+#: module/FileDatabase.py:519 module/plugins/hooks/XMPPInterface.py:75
+#: module/plugins/hooks/IRCInterface.py:68
#, python-format
msgid "Package finished: %s"
msgstr ""
-#: module/FileDatabase.py:610
+#: module/FileDatabase.py:633
msgid "Filedatabase was deleted due to incompatible version."
msgstr ""
-#: module/PluginManager.py:79
+#: module/ThreadManager.py:95
+#, python-format
+msgid "Reconnect Failed: %s"
+msgstr ""
+
+#: module/ThreadManager.py:119
+msgid "Reconnect script not found!"
+msgstr ""
+
+#: module/ThreadManager.py:125
+msgid "Starting reconnect"
+msgstr ""
+
+#: module/ThreadManager.py:134
+#, python-format
+msgid "Old IP: %s"
+msgstr ""
+
+#: module/ThreadManager.py:139
+msgid "Failed executing reconnect script!"
+msgstr ""
+
+#: module/ThreadManager.py:151
+#, python-format
+msgid "Reconnected, new IP: %s"
+msgstr ""
+
+#: module/HookManager.py:50
+#, python-format
+msgid "Error executing hooks: %s"
+msgstr ""
+
+#: module/HookManager.py:64
+#, python-format
+msgid "%(name)s loaded, activated %(value)s"
+msgstr ""
+
+#: module/HookManager.py:66
+#, python-format
+msgid "Failed activating %(name)s"
+msgstr ""
+
+#: module/JsEngine.py:89
+msgid ""
+"No js engine detected, please install either Spidermonkey, ossp-js or pyv8"
+msgstr ""
+
+#: module/PluginManager.py:83
msgid "Crypter"
msgstr ""
-#: module/PluginManager.py:80
+#: module/PluginManager.py:84
msgid "Container"
msgstr ""
-#: module/PluginManager.py:81
+#: module/PluginManager.py:85
msgid "Hoster"
msgstr ""
-#: module/PluginManager.py:83
+#: module/PluginManager.py:87
msgid "Captcha"
msgstr ""
-#: module/PluginManager.py:84
+#: module/PluginManager.py:88
msgid "Account"
msgstr ""
-#: module/PluginManager.py:85
+#: module/PluginManager.py:89
msgid "Hook"
msgstr ""
-#: module/PluginManager.py:87
+#: module/PluginManager.py:91
msgid "created index of plugins"
msgstr ""
-#: module/PluginManager.py:166
+#: module/PluginManager.py:173
#, python-format
msgid "%s has invalid pattern."
msgstr ""
-#: module/PluginManager.py:293
+#: module/PluginManager.py:300
#, python-format
msgid "Error importing %(name)s: %(msg)s"
msgstr ""
-#: module/PluginManager.py:294
+#: module/PluginManager.py:301
msgid "You should fix dependicies or deactivate load on startup."
msgstr ""
-#: module/AccountManager.py:85
+#: module/AccountManager.py:86
msgid "Account settings deleted, due to new config format."
msgstr ""
-#: module/PluginThread.py:150
+#: module/PluginThread.py:158
#, python-format
msgid "Download skipped: %(name)s @ %(plugin)s"
msgstr ""
-#: module/PluginThread.py:153
+#: module/PluginThread.py:161
msgid "File already exists."
msgstr ""
-#: module/PluginThread.py:156
+#: module/PluginThread.py:164
#, python-format
msgid "Download starts: %s"
msgstr ""
-#: module/PluginThread.py:164 module/PluginThread.py:319
+#: module/PluginThread.py:172 module/PluginThread.py:321
#, python-format
msgid "Plugin %s is missing a function."
msgstr ""
-#: module/PluginThread.py:173 module/PluginThread.py:226
+#: module/PluginThread.py:179 module/PluginThread.py:231
+#: module/PluginThread.py:340
#, python-format
msgid "Download aborted: %s"
msgstr ""
-#: module/PluginThread.py:192
+#: module/PluginThread.py:196
#, python-format
msgid "Download restarted: %s"
msgstr ""
-#: module/PluginThread.py:202 module/PluginThread.py:328
+#: module/PluginThread.py:206 module/PluginThread.py:330
#, python-format
msgid "Download is offline: %s"
msgstr ""
-#: module/PluginThread.py:205 module/PluginThread.py:251
+#: module/PluginThread.py:209 module/PluginThread.py:253
#, python-format
msgid "Download failed: %(name)s | %(msg)s"
msgstr ""
-#: module/PluginThread.py:218
+#: module/PluginThread.py:223
msgid ""
"Couldn't connect to host or connection resetted waiting 1 minute and retry."
msgstr ""
-#: module/PluginThread.py:268
+#: module/PluginThread.py:269
#, python-format
msgid "Download finished: %s"
msgstr ""
-#: module/PluginThread.py:314
+#: module/PluginThread.py:316
#, python-format
msgid "Decrypting starts: %s"
msgstr ""
-#: module/PluginThread.py:331 module/PluginThread.py:344
+#: module/PluginThread.py:333 module/PluginThread.py:354
#, python-format
msgid "Decrypting failed: %(name)s | %(msg)s"
msgstr ""
-#: module/PluginThread.py:338
+#: module/PluginThread.py:347
#, python-format
msgid "Retrying %s"
msgstr ""
-#: module/web/ServerThread.py:45
-msgid "Database for Webinterface does not exitst, it will not be available."
+#: module/plugins/Container.py:71
+msgid "File not exists."
msgstr ""
-#: module/web/ServerThread.py:46
-msgid "Please run: python pyLoadCore.py -s"
+#: module/plugins/Plugin.py:262
+msgid ""
+"Pil and tesseract not installed and no Client connected for captcha "
+"decrypting"
msgstr ""
-#: module/web/ServerThread.py:47
-msgid ""
-"Go through the setup and create a database and add an user to gain access."
+#: module/plugins/Plugin.py:264
+msgid "No Client connected for captcha decrypting"
msgstr ""
-#: module/web/ServerThread.py:88
-msgid "SSL certificates not found."
+#: module/plugins/Plugin.py:319 module/plugins/Plugin.py:342
+#, python-format
+msgid "Setting User and Group failed: %s"
msgstr ""
-#: module/web/ServerThread.py:98
+#: module/plugins/Crypter.py:63
#, python-format
-msgid ""
-"Can't use %(server)s, either python-flup or %(server)s is not installed!"
+msgid "Parsed package %(name)s with %(len)d links"
msgstr ""
-#: module/web/ServerThread.py:132
+#: module/plugins/Account.py:51 module/plugins/Account.py:55
#, python-format
-msgid "Starting nginx Webserver: %(host)s:%(port)d"
+msgid "Could not login with %(plugin)s account %(user)s | %(msg)s"
msgstr ""
-#: module/web/ServerThread.py:169
+#: module/plugins/Account.py:51
+msgid "Wrong Password"
+msgstr ""
+
+#: module/plugins/Account.py:157
#, python-format
-msgid "Starting lighttpd Webserver: %(host)s:%(port)d"
+msgid "Your Time %s has wrong format, use: 1:22-3:44"
msgstr ""
-#: module/web/ServerThread.py:179
+#: module/plugins/Account.py:194
#, python-format
-msgid "Starting django builtin Webserver: %(host)s:%(port)d"
+msgid "%(plugin)s Account %(user)s has not enough traffic"
msgstr ""
-#: module/plugins/Crypter.py:58
+#: module/plugins/Account.py:199
#, python-format
-msgid "Parsed package %(name)s with %(len)d links"
+msgid "%(plugin)s Account %(user)s is expired"
msgstr ""
-#: module/plugins/Plugin.py:252
-msgid ""
-"Pil and tesseract not installed and no Client connected for captcha "
-"decrypting"
+#: module/plugins/crypter/SerienjunkiesOrg.py:114
+msgid "Downloadlimit reached"
msgstr ""
-#: module/plugins/Plugin.py:254
-msgid "No Client connected for captcha decrypting"
+#: module/plugins/crypter/CryptItCom.py:40
+msgid "File not found"
msgstr ""
-#: module/plugins/Plugin.py:296 module/plugins/Plugin.py:319
+#: module/plugins/hooks/HotFolder.py:82
#, python-format
-msgid "Setting User and Group failed: %s"
+msgid "Added %s from HotFolder"
msgstr ""
-#: module/plugins/Container.py:69
-msgid "File not exists."
+#: module/plugins/hooks/UpdateManager.py:43
+msgid "*** Plugins have been updated, please restart pyLoad ***"
+msgstr ""
+
+#: module/plugins/hooks/UpdateManager.py:45
+msgid "No plugin updates available"
msgstr ""
-#: module/plugins/Account.py:50 module/plugins/Account.py:54
+#: module/plugins/hooks/UpdateManager.py:53
+msgid "No Updates for pyLoad"
+msgstr ""
+
+#: module/plugins/hooks/UpdateManager.py:56
#, python-format
-msgid "Could not login with %(plugin)s account %(user)s | %(msg)s"
+msgid "*** New pyLoad Version %s available ***"
msgstr ""
-#: module/plugins/Account.py:50
-msgid "Wrong Password"
+#: module/plugins/hooks/UpdateManager.py:57
+msgid "*** Get it here: http://pyload.org/download ***"
msgstr ""
-#: module/plugins/Account.py:148
+#: module/plugins/hooks/UpdateManager.py:60
+#: module/plugins/hooks/UpdateManager.py:70
+msgid "Not able to connect server for updates"
+msgstr ""
+
+#: module/plugins/hooks/UpdateManager.py:95
#, python-format
-msgid "Your Time %s has wrong format, use: 1:22-3:44"
+msgid "New version of %(type)s|%(name)s : %(version).2f"
msgstr ""
-#: module/plugins/Account.py:185
+#: module/plugins/hooks/XMPPInterface.py:82
#, python-format
-msgid "%(plugin)s Account %(user)s has not enough traffic"
+msgid "Download finished: %(name)s @ %(plugin)s"
msgstr ""
-#: module/plugins/Account.py:190
+#: module/plugins/hooks/XMPPInterface.py:114
#, python-format
-msgid "%(plugin)s Account %(user)s is expired"
+msgid "pyLoad XMPP: Message from %s received."
msgstr ""
-#: module/plugins/crypter/SerienjunkiesOrg.py:103
-msgid "Downloadlimit reached"
+#: module/plugins/hooks/XMPPInterface.py:115
+#, python-format
+msgid "pyLoad XMPP: Body: %s"
msgstr ""
-#: module/plugins/crypter/CryptItCom.py:40
-msgid "File not found"
+#: module/plugins/hooks/XMPPInterface.py:169
+#, python-format
+msgid "pyLoad XMPP: Send message to %s"
msgstr ""
-#: module/plugins/hooks/ClickAndLoad.py:73
-msgid "Click'N'Load: Port 9666 already in use"
+#: module/plugins/hooks/ExternalScripts.py:48
+#: module/plugins/hooks/ExternalScripts.py:49
+msgid "folders for scripts"
msgstr ""
-#: module/plugins/hooks/UnRar.py:118
+#: module/plugins/hooks/UnRar.py:119
#, python-format
msgid "starting Unrar of %s"
msgstr ""
-#: module/plugins/hooks/UnRar.py:134 module/plugins/hooks/UnRar.py:164
+#: module/plugins/hooks/UnRar.py:135 module/plugins/hooks/UnRar.py:166
#, python-format
msgid "Unrar of %s failed (wrong password)"
msgstr ""
-#: module/plugins/hooks/UnRar.py:140
+#: module/plugins/hooks/UnRar.py:141
#, python-format
msgid "Unrar of %s failed (missing volume)"
msgstr ""
-#: module/plugins/hooks/UnRar.py:144 module/plugins/hooks/UnRar.py:161
+#: module/plugins/hooks/UnRar.py:145 module/plugins/hooks/UnRar.py:162
#, python-format
msgid "Unrar of %s ok"
msgstr ""
-#: module/plugins/hooks/UnRar.py:149 module/plugins/hooks/UnRar.py:157
+#: module/plugins/hooks/UnRar.py:150 module/plugins/hooks/UnRar.py:158
#, python-format
msgid "Unrar of %s failed"
msgstr ""
-#: module/plugins/hooks/UnRar.py:152
+#: module/plugins/hooks/UnRar.py:153
#, python-format
msgid ""
"Your ram amount of %s MB seems not sufficient to unrar this file. You can "
"deactivate this warning and risk instability"
msgstr ""
+#: module/plugins/hooks/ClickAndLoad.py:73
+msgid "Click'N'Load: Port 9666 already in use"
+msgstr ""
+
#: module/plugins/hooks/IRCInterface.py:75
#, python-format
msgid "Download finished: %(name)s @ %(plugin)s "
msgstr ""
-#: module/plugins/hooks/XMPPInterface.py:82
+#: module/plugins/hoster/UploadedTo.py:56
+#: module/plugins/hoster/RapidshareCom.py:138
#, python-format
-msgid "Download finished: %(name)s @ %(plugin)s"
+msgid "%(name)s: Use Premium Account (%(left)sGB left)"
msgstr ""
-#: module/plugins/hooks/XMPPInterface.py:114
+#: module/plugins/hoster/UploadedTo.py:58
+#: module/plugins/hoster/RapidshareCom.py:140
#, python-format
-msgid "pyLoad XMPP: Message from %s received."
+msgid "%s: Not enough traffic left"
msgstr ""
-#: module/plugins/hooks/XMPPInterface.py:115
-#, python-format
-msgid "pyLoad XMPP: Body: %s"
+#: module/plugins/hoster/UploadedTo.py:61
+msgid "Traffic exceeded"
msgstr ""
-#: module/plugins/hooks/XMPPInterface.py:169
-#, python-format
-msgid "pyLoad XMPP: Send message to %s"
+#: module/plugins/hoster/FilesMailRu.py:91
+msgid "There was HTML Code in the Downloaded File("
msgstr ""
-#: module/plugins/hooks/HotFolder.py:78
+#: module/plugins/hoster/NetloadIn.py:168
#, python-format
-msgid "Added %s from HotFolder"
-msgstr ""
-
-#: module/plugins/hooks/ExternalScripts.py:47
-#: module/plugins/hooks/ExternalScripts.py:48
-msgid "folders for scripts"
+msgid "Netload: waiting between downloads %d s."
msgstr ""
-#: module/plugins/hooks/UpdateManager.py:43
-msgid "*** Plugins have been updated, please restart pyLoad ***"
+#: module/plugins/hoster/NetloadIn.py:198
+#, python-format
+msgid "Netload: waiting for captcha %d s."
msgstr ""
-#: module/plugins/hooks/UpdateManager.py:45
-msgid "No plugin updates available"
+#: module/plugins/hoster/NetloadIn.py:237
+msgid "Downloaded File was empty"
msgstr ""
-#: module/plugins/hooks/UpdateManager.py:53
-msgid "No Updates for pyLoad"
+#: module/plugins/hoster/RapidshareCom.py:98
+msgid "Rapidshare: Traffic Share (direct download)"
msgstr ""
-#: module/plugins/hooks/UpdateManager.py:56
-#, python-format
-msgid "*** New pyLoad Version %s available ***"
+#: module/plugins/hoster/RapidshareCom.py:128
+#: module/plugins/hoster/RapidshareCom.py:198
+msgid "Already downloading from this ip address, waiting 60 seconds"
msgstr ""
-#: module/plugins/hooks/UpdateManager.py:57
-msgid "*** Get it here: http://pyload.org/download ***"
+#: module/plugins/hoster/RapidshareCom.py:132
+msgid "Invalid Auth Code, download will be restarted"
msgstr ""
-#: module/plugins/hooks/UpdateManager.py:60
-#: module/plugins/hooks/UpdateManager.py:70
-msgid "Not able to connect server for updates"
+#: module/plugins/hoster/RapidshareCom.py:202
+msgid "RapidShareCom: No free slots"
msgstr ""
-#: module/plugins/hooks/UpdateManager.py:95
+#: module/plugins/hoster/MegauploadCom.py:92
#, python-format
-msgid "New version of %(type)s|%(name)s : %(version).2f"
+msgid "Megaupload: waiting %d minutes"
msgstr ""
-#: module/plugins/hoster/MegauploadCom.py:83
-#, python-format
-msgid "Megaupload: waiting %d minues"
+#: module/plugins/hoster/MegauploadCom.py:109
+msgid "You need premium to download files larger than 1 GB"
msgstr ""
-#: module/plugins/hoster/MegauploadCom.py:108
+#: module/plugins/hoster/MegauploadCom.py:128
#, python-format
msgid ""
"%s: Megaupload is currently blocking your IP. Try again later, manually."
msgstr ""
-#: module/plugins/hoster/MegauploadCom.py:175
+#: module/plugins/hoster/MegauploadCom.py:200
msgid ""
"Looks like the file is still not available. Retry downloading later, "
"manually."
msgstr ""
-#: module/plugins/hoster/UploadedTo.py:56
-#: module/plugins/hoster/RapidshareCom.py:153
-#, python-format
-msgid "%(name)s: Use Premium Account (%(left)sGB left)"
+#: module/plugins/accounts/MegauploadCom.py:41
+msgid "Activate direct Download in your MegaUpload Account"
msgstr ""
-#: module/plugins/hoster/UploadedTo.py:58
-#: module/plugins/hoster/RapidshareCom.py:155
-#, python-format
-msgid "%s: Not enough traffic left"
+#: module/plugins/container/LinkList.py:54
+msgid "LinkList could not be cleared."
msgstr ""
-#: module/plugins/hoster/UploadedTo.py:61
-msgid "Traffic exceeded"
+#: module/web/ServerThread.py:45
+msgid "Database for Webinterface does not exitst, it will not be available."
msgstr ""
-#: module/plugins/hoster/RapidshareCom.py:98
-msgid "Rapidshare: Traffic Share (direct download)"
+#: module/web/ServerThread.py:46
+msgid "Please run: python pyLoadCore.py -s"
msgstr ""
-#: module/plugins/hoster/RapidshareCom.py:139
-#: module/plugins/hoster/RapidshareCom.py:213
-msgid "Already downloading from this ip address, waiting 60 seconds"
+#: module/web/ServerThread.py:47
+msgid ""
+"Go through the setup and create a database and add an user to gain access."
msgstr ""
-#: module/plugins/hoster/RapidshareCom.py:144
-msgid "Invalid Auth Code, download will be restarted"
+#: module/web/ServerThread.py:88
+msgid "SSL certificates not found."
msgstr ""
-#: module/plugins/hoster/RapidshareCom.py:217
-msgid "RapidShareCom: No free slots"
+#: module/web/ServerThread.py:98
+#, python-format
+msgid ""
+"Can't use %(server)s, either python-flup or %(server)s is not installed!"
msgstr ""
-#: module/plugins/hoster/NetloadIn.py:166
+#: module/web/ServerThread.py:132
#, python-format
-msgid "Netload: waiting between downloads %d s."
+msgid "Starting nginx Webserver: %(host)s:%(port)d"
msgstr ""
-#: module/plugins/hoster/NetloadIn.py:191
+#: module/web/ServerThread.py:169
#, python-format
-msgid "Netload: waiting for captcha %d s."
+msgid "Starting lighttpd Webserver: %(host)s:%(port)d"
msgstr ""
-#: module/plugins/hoster/NetloadIn.py:230
-msgid "Downloaded File was empty"
+#: module/web/ServerThread.py:179
+#, python-format
+msgid "Starting django builtin Webserver: %(host)s:%(port)d"
msgstr ""
diff --git a/locale/generate_locale.py b/locale/generate_locale.py
index 737ba7a85..41dc9a931 100644
--- a/locale/generate_locale.py
+++ b/locale/generate_locale.py
@@ -22,7 +22,7 @@ for path, dir, filenames in walk("./module"):
f.close()
call(["xgettext", "--files-from=includes.txt", "--default-domain=core", "--from-code=utf-8",
- "--copyright-holder=pyLoad Team", "--package-name=pyLoad", "--package-version=0.4","--msgid-bugs-address='bugs@pyload.org'"])
+ "--copyright-holder=pyLoad Team", "--package-name=pyLoad", "--package-version=0.4.3","--msgid-bugs-address='bugs@pyload.org'"])
f = open("core.po", "rb")
@@ -53,7 +53,7 @@ for path, dir, filenames in walk("./module/gui"):
f.close()
call(["xgettext", "--files-from=includes.txt", "--default-domain=gui", "--from-code=utf-8",
- "--copyright-holder=pyLoad Team", "--package-name=pyLoad", "--package-version=0.4","--msgid-bugs-address='bugs@pyload.org'"])
+ "--copyright-holder=pyLoad Team", "--package-name=pyLoad", "--package-version=0.4.3","--msgid-bugs-address='bugs@pyload.org'"])
f = open("gui.po", "rb")
@@ -76,7 +76,7 @@ f.write("./pyLoadCli.py\n")
f.close()
call(["xgettext", "--files-from=includes.txt", "--default-domain=cli", "--from-code=utf-8",
- "--copyright-holder=pyLoad Team", "--package-name=pyLoad", "--package-version=0.4","--msgid-bugs-address='bugs@pyload.org'"])
+ "--copyright-holder=pyLoad Team", "--package-name=pyLoad", "--package-version=0.4.3","--msgid-bugs-address='bugs@pyload.org'"])
f = open("cli.po", "rb")
@@ -98,7 +98,7 @@ f.write("./module/setup.py\n")
f.close()
call(["xgettext", "--files-from=includes.txt", "--default-domain=setup", "--from-code=utf-8",
- "--copyright-holder=pyLoad Team", "--package-name=pyLoad", "--package-version=0.4","--msgid-bugs-address='bugs@pyload.org'"])
+ "--copyright-holder=pyLoad Team", "--package-name=pyLoad", "--package-version=0.4.3","--msgid-bugs-address='bugs@pyload.org'"])
f = open("setup.po", "rb")
@@ -118,4 +118,4 @@ print "TODO: Generate django.po with python manage.py makemessages --all --local
call(["mv", "./module/web/locale/en/LC_MESSAGES/django.po", "./locale/django.pot"])
print
-print "All finished." \ No newline at end of file
+print "All finished."
diff --git a/locale/gui.pot b/locale/gui.pot
index 68edecea6..4f5d3fbab 100644
--- a/locale/gui.pot
+++ b/locale/gui.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: pyLoad 0.4\n"
+"Project-Id-Version: pyLoad 0.4.3\n"
"Report-Msgid-Bugs-To: 'bugs@pyload.org'\n"
-"POT-Creation-Date: 2010-10-07 22:49+0200\n"
+"POT-Creation-Date: 2010-12-12 14:19+0100\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,418 +17,460 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
-#: pyLoadGui.py:280
+#: pyLoadGui.py:283
msgid "paused"
msgstr ""
-#: pyLoadGui.py:282
+#: pyLoadGui.py:285
msgid "running"
msgstr ""
-#: pyLoadGui.py:284
+#: pyLoadGui.py:287
#, python-format
msgid ""
"status: %(status)s | speed: %(speed)s kb/s | free space: %(freespace)s "
"MiB"
msgstr ""
-#: pyLoadGui.py:323
+#: pyLoadGui.py:326
msgid "Unnamed"
msgstr ""
-#: pyLoadGui.py:650
+#: pyLoadGui.py:660
#, python-format
msgid "Finished downloading of '%s'"
msgstr ""
-#: pyLoadGui.py:652
+#: pyLoadGui.py:662
#, python-format
msgid "Started downloading '%s'"
msgstr ""
-#: pyLoadGui.py:654
+#: pyLoadGui.py:664
#, python-format
msgid "Failed downloading '%s'!"
msgstr ""
-#: pyLoadGui.py:657
+#: pyLoadGui.py:667
#, python-format
msgid "Added '%s' to queue"
msgstr ""
-#: pyLoadGui.py:709
+#: pyLoadGui.py:692
+msgid "Connection lost"
+msgstr ""
+
+#: pyLoadGui.py:692
+msgid "Lost connection to the core!"
+msgstr ""
+
+#: pyLoadGui.py:727
msgid "Show"
msgstr ""
-#: pyLoadGui.py:714 module/gui/MainWindow.py:86
+#: pyLoadGui.py:732 module/gui/MainWindow.py:90
msgid "Exit"
msgstr ""
-#: module/gui/Collector.py:54
-msgid "finished"
+#: module/gui/MainWindow.py:41
+msgid "pyLoad Client"
msgstr ""
-#: module/gui/Collector.py:55
-msgid "offline"
+#: module/gui/MainWindow.py:80
+msgid "Status: Not Connected"
msgstr ""
-#: module/gui/Collector.py:56
-msgid "online"
+#: module/gui/MainWindow.py:85
+msgid "File"
msgstr ""
-#: module/gui/Collector.py:57
-msgid "queued"
+#: module/gui/MainWindow.py:86
+msgid "Connections"
msgstr ""
-#: module/gui/Collector.py:58
-msgid "checking"
+#: module/gui/MainWindow.py:91
+msgid "Connection manager"
msgstr ""
-#: module/gui/Collector.py:59
-msgid "waiting"
+#: module/gui/MainWindow.py:113
+msgid "Queue"
msgstr ""
-#: module/gui/Collector.py:60
-msgid "reconnected"
+#: module/gui/MainWindow.py:114
+msgid "Collector"
msgstr ""
-#: module/gui/Collector.py:61
-msgid "starting"
+#: module/gui/MainWindow.py:115
+msgid "Accounts"
msgstr ""
-#: module/gui/Collector.py:62
-msgid "failed"
+#: module/gui/MainWindow.py:116
+msgid "Settings"
msgstr ""
-#: module/gui/Collector.py:63
-msgid "aborted"
+#: module/gui/MainWindow.py:117
+msgid "Log"
msgstr ""
-#: module/gui/Collector.py:64
-msgid "decrypting"
+#: module/gui/MainWindow.py:148
+msgid "Main Toolbar"
msgstr ""
-#: module/gui/Collector.py:65
-msgid "custom"
+#: module/gui/MainWindow.py:151
+msgid "Toggle Pause/Resume"
msgstr ""
-#: module/gui/Collector.py:66
-msgid "downloading"
+#: module/gui/MainWindow.py:157
+msgid "Stop"
msgstr ""
-#: module/gui/Collector.py:67
-msgid "processing"
+#: module/gui/MainWindow.py:159 module/gui/MainWindow.py:272
+#: module/gui/MainWindow.py:292
+msgid "Add"
msgstr ""
-#: module/gui/Collector.py:249 module/gui/PackageDock.py:51
-#: module/gui/Queue.py:79
-msgid "Name"
+#: module/gui/MainWindow.py:161
+msgid "Check Clipboard"
msgstr ""
-#: module/gui/Collector.py:251 module/gui/Queue.py:81
-msgid "Status"
+#: module/gui/MainWindow.py:168 module/gui/MainWindow.py:278
+msgid "Package"
msgstr ""
-#: module/gui/Collector.py:253 module/gui/Queue.py:83
-msgid "Plugin"
+#: module/gui/MainWindow.py:169 module/gui/MainWindow.py:279
+msgid "Container"
msgstr ""
-#: module/gui/Accounts.py:58 module/gui/Accounts.py:161
-msgid "n/a"
+#: module/gui/MainWindow.py:170
+msgid "Account"
msgstr ""
-#: module/gui/Accounts.py:61
-msgid "%a, %d %b %Y %H:%M"
+#: module/gui/MainWindow.py:171 module/gui/MainWindow.py:280
+msgid "Links"
msgstr ""
-#: module/gui/Accounts.py:64 module/gui/Accounts.py:159
-msgid "unlimited"
+#: module/gui/MainWindow.py:189
+msgid "Push selected packages to queue"
msgstr ""
-#: module/gui/Accounts.py:101
-msgid "Type"
+#: module/gui/MainWindow.py:212
+msgid "New Account"
msgstr ""
-#: module/gui/Accounts.py:103
-msgid "Login"
+#: module/gui/MainWindow.py:226 module/gui/MainWindow.py:265
+#: module/gui/MainWindow.py:293 module/gui/ConnectionManager.py:40
+msgid "Remove"
msgstr ""
-#: module/gui/Accounts.py:105
-msgid "Valid until"
+#: module/gui/MainWindow.py:227 module/gui/MainWindow.py:268
+msgid "Restart"
msgstr ""
-#: module/gui/Accounts.py:107
-msgid "Traffic left"
+#: module/gui/MainWindow.py:228
+msgid "Pull out"
msgstr ""
-#: module/gui/SettingsWidget.py:73
-msgid "General"
+#: module/gui/MainWindow.py:229
+msgid "Abort"
msgstr ""
-#: module/gui/SettingsWidget.py:74
-msgid "Plugins"
+#: module/gui/MainWindow.py:230 module/gui/MainWindow.py:267
+msgid "Edit Name"
msgstr ""
-#: module/gui/SettingsWidget.py:88
-msgid "Reload"
+#: module/gui/MainWindow.py:231 module/gui/Queue.py:87
+msgid "Priority"
msgstr ""
-#: module/gui/SettingsWidget.py:89 module/gui/ConnectionManager.py:196
-msgid "Save"
+#: module/gui/MainWindow.py:233
+msgid "very high"
msgstr ""
-#: module/gui/SettingsWidget.py:195
-msgid "Yes"
+#: module/gui/MainWindow.py:235
+msgid "high"
msgstr ""
-#: module/gui/SettingsWidget.py:196
-msgid "No"
+#: module/gui/MainWindow.py:237
+msgid "normal"
msgstr ""
-#: module/gui/ConnectionManager.py:33
-msgid "pyLoad ConnectionManager"
+#: module/gui/MainWindow.py:239
+msgid "low"
msgstr ""
-#: module/gui/ConnectionManager.py:38
-msgid "New"
+#: module/gui/MainWindow.py:241
+msgid "very low"
msgstr ""
-#: module/gui/ConnectionManager.py:39
+#: module/gui/MainWindow.py:266
+msgid "Push to queue"
+msgstr ""
+
+#: module/gui/MainWindow.py:269
+msgid "Refresh Status"
+msgstr ""
+
+#: module/gui/MainWindow.py:294 module/gui/ConnectionManager.py:39
msgid "Edit"
msgstr ""
-#: module/gui/ConnectionManager.py:40 module/gui/MainWindow.py:211
-#: module/gui/MainWindow.py:250
-msgid "Remove"
+#: module/gui/MainWindow.py:372
+#, python-format
+msgid "All Container Types (%s)"
msgstr ""
-#: module/gui/ConnectionManager.py:41
-msgid "Connect"
+#: module/gui/MainWindow.py:373
+#, python-format
+msgid "DLC (%s)"
msgstr ""
-#: module/gui/ConnectionManager.py:47
-msgid "Connect:"
+#: module/gui/MainWindow.py:374
+#, python-format
+msgid "CCF (%s)"
msgstr ""
-#: module/gui/ConnectionManager.py:64
-msgid "Use internal Core:"
+#: module/gui/MainWindow.py:375
+#, python-format
+msgid "RSDF (%s)"
msgstr ""
-#: module/gui/ConnectionManager.py:108
+#: module/gui/MainWindow.py:376
#, python-format
-msgid "%s (Default)"
+msgid "Text Files (%s)"
msgstr ""
-#: module/gui/ConnectionManager.py:178
-msgid "Name:"
+#: module/gui/MainWindow.py:378
+msgid "Open container"
msgstr ""
-#: module/gui/ConnectionManager.py:179
-msgid "Host:"
+#: module/gui/Collector.py:54
+msgid "finished"
msgstr ""
-#: module/gui/ConnectionManager.py:180
-msgid "SSL:"
+#: module/gui/Collector.py:55
+msgid "offline"
msgstr ""
-#: module/gui/ConnectionManager.py:181
-msgid "Local:"
+#: module/gui/Collector.py:56
+msgid "online"
msgstr ""
-#: module/gui/ConnectionManager.py:182
-msgid "User:"
+#: module/gui/Collector.py:57
+msgid "queued"
msgstr ""
-#: module/gui/ConnectionManager.py:183
-msgid "Password:"
+#: module/gui/Collector.py:58
+msgid "checking"
msgstr ""
-#: module/gui/ConnectionManager.py:184
-msgid "Port:"
+#: module/gui/Collector.py:59
+msgid "waiting"
msgstr ""
-#: module/gui/ConnectionManager.py:197 module/gui/CaptchaDock.py:57
-msgid "Cancel"
+#: module/gui/Collector.py:60
+msgid "reconnected"
msgstr ""
-#: module/gui/MainWindow.py:40
-msgid "pyLoad Client"
+#: module/gui/Collector.py:61
+msgid "starting"
msgstr ""
-#: module/gui/MainWindow.py:76
-msgid "Status: Not Connected"
+#: module/gui/Collector.py:62
+msgid "failed"
msgstr ""
-#: module/gui/MainWindow.py:81
-msgid "File"
+#: module/gui/Collector.py:63
+msgid "aborted"
msgstr ""
-#: module/gui/MainWindow.py:82
-msgid "Connections"
+#: module/gui/Collector.py:64
+msgid "decrypting"
msgstr ""
-#: module/gui/MainWindow.py:87
-msgid "Connection manager"
+#: module/gui/Collector.py:65
+msgid "custom"
msgstr ""
-#: module/gui/MainWindow.py:109
-msgid "Queue"
+#: module/gui/Collector.py:66
+msgid "downloading"
msgstr ""
-#: module/gui/MainWindow.py:110
-msgid "Collector"
+#: module/gui/Collector.py:67
+msgid "processing"
msgstr ""
-#: module/gui/MainWindow.py:111
-msgid "Accounts"
+#: module/gui/Collector.py:249 module/gui/Queue.py:81
+#: module/gui/PackageDock.py:55
+msgid "Name"
msgstr ""
-#: module/gui/MainWindow.py:112
-msgid "Settings"
+#: module/gui/Collector.py:251 module/gui/Queue.py:83
+msgid "Status"
msgstr ""
-#: module/gui/MainWindow.py:113
-msgid "Log"
+#: module/gui/Collector.py:253 module/gui/Queue.py:85
+msgid "Plugin"
msgstr ""
-#: module/gui/MainWindow.py:141
-msgid "Main Toolbar"
+#: module/gui/Accounts.py:66
+msgid "not valid"
msgstr ""
-#: module/gui/MainWindow.py:144
-msgid "Toggle Pause/Resume"
+#: module/gui/Accounts.py:68 module/gui/Accounts.py:174
+msgid "n/a"
msgstr ""
-#: module/gui/MainWindow.py:150
-msgid "Stop"
+#: module/gui/Accounts.py:71
+msgid "%a, %d %b %Y %H:%M"
msgstr ""
-#: module/gui/MainWindow.py:152
-msgid "Add"
+#: module/gui/Accounts.py:74 module/gui/Accounts.py:172
+msgid "unlimited"
msgstr ""
-#: module/gui/MainWindow.py:154
-msgid "Check Clipboard"
+#: module/gui/Accounts.py:114 module/gui/AccountEdit.py:34
+msgid "Type"
msgstr ""
-#: module/gui/MainWindow.py:161
-msgid "Package"
+#: module/gui/Accounts.py:116 module/gui/AccountEdit.py:35
+msgid "Login"
msgstr ""
-#: module/gui/MainWindow.py:162
-msgid "Container"
+#: module/gui/Accounts.py:118
+msgid "Valid until"
msgstr ""
-#: module/gui/MainWindow.py:178
-msgid "Push selected packages to queue"
+#: module/gui/Accounts.py:120
+msgid "Traffic left"
msgstr ""
-#: module/gui/MainWindow.py:212
-msgid "Restart"
+#: module/gui/ConnectionManager.py:33
+msgid "pyLoad ConnectionManager"
msgstr ""
-#: module/gui/MainWindow.py:213
-msgid "Pull out"
+#: module/gui/ConnectionManager.py:38
+msgid "New"
msgstr ""
-#: module/gui/MainWindow.py:214
-msgid "Abort"
+#: module/gui/ConnectionManager.py:41
+msgid "Connect"
msgstr ""
-#: module/gui/MainWindow.py:215 module/gui/MainWindow.py:252
-msgid "Edit Name"
+#: module/gui/ConnectionManager.py:47
+msgid "Connect:"
msgstr ""
-#: module/gui/MainWindow.py:216 module/gui/Queue.py:85
-msgid "Priority"
+#: module/gui/ConnectionManager.py:64
+msgid "Use internal Core:"
msgstr ""
-#: module/gui/MainWindow.py:218
-msgid "very high"
+#: module/gui/ConnectionManager.py:108
+#, python-format
+msgid "%s (Default)"
msgstr ""
-#: module/gui/MainWindow.py:220
-msgid "high"
+#: module/gui/ConnectionManager.py:178
+msgid "Name:"
msgstr ""
-#: module/gui/MainWindow.py:222
-msgid "normal"
+#: module/gui/ConnectionManager.py:179
+msgid "Host:"
msgstr ""
-#: module/gui/MainWindow.py:224
-msgid "low"
+#: module/gui/ConnectionManager.py:180
+msgid "SSL:"
msgstr ""
-#: module/gui/MainWindow.py:226
-msgid "very low"
+#: module/gui/ConnectionManager.py:181
+msgid "Local:"
msgstr ""
-#: module/gui/MainWindow.py:251
-msgid "Push to queue"
+#: module/gui/ConnectionManager.py:182
+msgid "User:"
msgstr ""
-#: module/gui/MainWindow.py:253
-msgid "Refresh Status"
+#: module/gui/ConnectionManager.py:183
+msgid "Password:"
msgstr ""
-#: module/gui/MainWindow.py:318
-#, python-format
-msgid "All Container Types (%s)"
+#: module/gui/ConnectionManager.py:184
+msgid "Port:"
msgstr ""
-#: module/gui/MainWindow.py:319
-#, python-format
-msgid "DLC (%s)"
+#: module/gui/ConnectionManager.py:196 module/gui/SettingsWidget.py:90
+#: module/gui/AccountEdit.py:49
+msgid "Save"
msgstr ""
-#: module/gui/MainWindow.py:320
-#, python-format
-msgid "CCF (%s)"
+#: module/gui/ConnectionManager.py:197 module/gui/CaptchaDock.py:57
+msgid "Cancel"
msgstr ""
-#: module/gui/MainWindow.py:321
-#, python-format
-msgid "RSDF (%s)"
+#: module/gui/Queue.py:89
+msgid "ETA"
+msgstr ""
+
+#: module/gui/Queue.py:91
+msgid "Progress"
msgstr ""
-#: module/gui/MainWindow.py:322
+#: module/gui/Queue.py:258
#, python-format
-msgid "Text Files (%s)"
+msgid "waiting %d seconds"
msgstr ""
-#: module/gui/MainWindow.py:324
-msgid "Open container"
+#: module/gui/SettingsWidget.py:74
+msgid "General"
+msgstr ""
+
+#: module/gui/SettingsWidget.py:75
+msgid "Plugins"
+msgstr ""
+
+#: module/gui/SettingsWidget.py:89
+msgid "Reload"
+msgstr ""
+
+#: module/gui/SettingsWidget.py:197
+msgid "Yes"
+msgstr ""
+
+#: module/gui/SettingsWidget.py:198
+msgid "No"
msgstr ""
#: module/gui/PackageDock.py:24
msgid "New Package"
msgstr ""
-#: module/gui/PackageDock.py:54
+#: module/gui/PackageDock.py:57
+msgid "Password"
+msgstr ""
+
+#: module/gui/PackageDock.py:60
msgid "Links in this Package"
msgstr ""
-#: module/gui/PackageDock.py:59
+#: module/gui/PackageDock.py:66
msgid "Create"
msgstr ""
-#: module/gui/CaptchaDock.py:25
-msgid "Captcha"
+#: module/gui/AccountEdit.py:28
+msgid "Edit account"
msgstr ""
-#: module/gui/CaptchaDock.py:56
-msgid "OK"
+#: module/gui/AccountEdit.py:36
+msgid "New password"
msgstr ""
-#: module/gui/Queue.py:87
-msgid "ETA"
+#: module/gui/AccountEdit.py:73
+msgid "Create account"
msgstr ""
-#: module/gui/Queue.py:89
-msgid "Progress"
+#: module/gui/CaptchaDock.py:25
+msgid "Captcha"
msgstr ""
-#: module/gui/Queue.py:254
-#, python-format
-msgid "waiting %d seconds"
+#: module/gui/CaptchaDock.py:56
+msgid "OK"
msgstr ""
diff --git a/locale/setup.pot b/locale/setup.pot
index 575ce6c16..2d99aa551 100644
--- a/locale/setup.pot
+++ b/locale/setup.pot
@@ -6,9 +6,9 @@
#, fuzzy
msgid ""
msgstr ""
-"Project-Id-Version: pyLoad 0.4\n"
+"Project-Id-Version: pyLoad 0.4.3\n"
"Report-Msgid-Bugs-To: 'bugs@pyload.org'\n"
-"POT-Creation-Date: 2010-10-07 22:49+0200\n"
+"POT-Creation-Date: 2010-12-12 14:19+0100\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/FileDatabase.py b/module/FileDatabase.py
index 9225873fe..9e5417c75 100644
--- a/module/FileDatabase.py
+++ b/module/FileDatabase.py
@@ -16,6 +16,7 @@
@author: RaNaN
@author: mkaay
"""
+
from Queue import Queue
from os import remove
from os.path import exists
@@ -32,6 +33,9 @@ from module.PullEvents import ReloadAllEvent
from module.PullEvents import RemoveEvent
from module.PullEvents import UpdateEvent
+from module.PyPackage import PyPackage
+from module.PyFile import PyFile
+
try:
from pysqlite2 import dbapi2 as sqlite3
except:
@@ -468,7 +472,6 @@ class FileHandler:
p.order = position
self.db.commit()
-
e = ReloadAllEvent("collector" if not p.queue else "queue")
self.core.pullManager.addEvent(e)
@@ -500,15 +503,16 @@ class FileHandler:
e = ReloadAllEvent("collector" if not self.getPackage(f["package"]).queue else "queue")
-
self.core.pullManager.addEvent(e)
@change
def updateFileInfo(self, data, pid):
""" updates file info (name, size, status, url)"""
- self.db.updateLinkInfo(data)
+ ids = self.db.updateLinkInfo(data)
- #@TODO package update event
+ for fid in ids:
+ e = UpdateEvent("file", fid, "collector" if not self.getFile(fid).package().queue else "queue")
+ self.core.pullManager.addEvent(e)
def checkPackageFinished(self, pyfile):
""" checks if package is finished and calls hookmanager """
@@ -729,7 +733,8 @@ class FileDatabaseBackend(Thread):
'error': r[5],
'plugin': r[6],
'package': r[7],
- 'order': r[8]
+ 'order': r[8],
+ 'progress': 100 if r[4] in (0, 4) else 0
}
return data
@@ -785,7 +790,8 @@ class FileDatabaseBackend(Thread):
'error': r[5],
'plugin': r[6],
'package': r[7],
- 'order': r[8]
+ 'order': r[8],
+ 'progress': 100 if r[4] in (0, 4) else 0
}
return data
@@ -822,10 +828,15 @@ class FileDatabaseBackend(Thread):
def updatePackage(self, p):
self.c.execute('UPDATE packages SET name=?,folder=?,site=?,password=?,queue=?,priority=? WHERE id=?', (p.name, p.folder, p.site, p.password, p.queue, p.priority, str(p.id)))
- @async
+ @queue
def updateLinkInfo(self, data):
""" data is list of tupels (name, size, status, url) """
self.c.executemany('UPDATE links SET name=?, size=?, status=? WHERE url=? AND status NOT IN (0,8,12,13)', data)
+ ids = []
+ self.c.execute('SELECT id FROM links WHERE url IN (\'%s\')' % "','".join([x[3] for x in data]))
+ for r in self.c:
+ ids.append(int(r[0]))
+ return ids
@queue
def reorderPackage(self, p, position, noMove=False):
@@ -925,257 +936,6 @@ class FileDatabaseBackend(Thread):
self.c.execute("SELECT id FROM links WHERE package=? AND status NOT IN (0, 13) LIMIT 3", (str(pid),))
return [r[0] for r in self.c]
-
-class PyFile():
- def __init__(self, manager, id, url, name, size, status, error, pluginname, package, order):
- self.m = manager
-
- self.id = int(id)
- self.url = url
- self.name = name
- self.size = size
- self.status = status
- self.pluginname = pluginname
- self.packageid = package #should not be used, use package() instead
- self.error = error
- self.order = order
- # database information ends here
-
- self.plugin = None
-
- self.waitUntil = 0 # time() + time to wait
-
- # status attributes
- self.active = False #obsolete?
- self.abort = False
- self.reconnected = False
-
- #hook progress
- self.alternativePercent = None
-
- self.m.cache[int(id)] = self
-
-
- def __repr__(self):
- return "PyFile %s: %s@%s" % (self.id, self.name, self.pluginname)
-
- def initPlugin(self):
- """ inits plugin instance """
- if not self.plugin:
- self.pluginmodule = self.m.core.pluginManager.getPlugin(self.pluginname)
- self.pluginclass = getattr(self.pluginmodule, self.pluginname)
- self.plugin = self.pluginclass(self)
-
-
- def package(self):
- """ return package instance"""
- return self.m.getPackage(self.packageid)
-
- def setStatus(self, status):
- self.status = statusMap[status]
- self.sync() #@TODO needed aslong no better job approving exists
-
- def hasStatus(self, status):
- return statusMap[status] == self.status
-
- def sync(self):
- """sync PyFile instance with database"""
- self.m.updateLink(self)
-
- def release(self):
- """sync and remove from cache"""
- self.sync()
- if hasattr(self, "plugin"):
- del self.plugin
- self.m.releaseLink(self.id)
-
- def delete(self):
- """delete pyfile from database"""
- self.m.deleteLink(self.id)
-
- def toDict(self):
- """return dict with all information for interface"""
- return self.toDbDict()
-
- def toDbDict(self):
- """return data as dict for databse
-
- format:
-
- {
- id: {'url': url, 'name': name ... }
- }
-
- """
- return {
- self.id: {
- 'id': self.id,
- 'url': self.url,
- 'name': self.name,
- 'plugin': self.pluginname,
- 'size': self.getSize(),
- 'format_size': self.formatSize(),
- 'status': self.status,
- 'statusmsg': self.m.statusMsg[self.status],
- 'package': self.packageid,
- 'error': self.error,
- 'order': self.order
- }
- }
-
- def abortDownload(self):
- """abort pyfile if possible"""
- while self.id in self.m.core.threadManager.processingIds():
- self.abort = True
- if self.plugin and self.plugin.req: self.plugin.req.abort = True
- sleep(0.1)
-
- self.abort = False
- if hasattr(self, "plugin") and self.plugin and self.plugin.req: self.plugin.req.abort = False
- self.release()
-
- def finishIfDone(self):
- """set status to finish and release file if every thread is finished with it"""
-
- if self.id in self.m.core.threadManager.processingIds():
- return False
-
- self.setStatus("finished")
- self.release()
- return True
-
- def formatWait(self):
- """ formats and return wait time in humanreadable format """
- seconds = self.waitUntil - time()
-
- if seconds < 0: return "00:00:00"
-
- hours, seconds = divmod(seconds, 3600)
- minutes, seconds = divmod(seconds, 60)
- return "%.2i:%.2i:%.2i" % (hours, minutes, seconds)
-
- def formatSize(self):
- """ formats size to readable format """
- return formatSize(self.getSize())
-
- def formatETA(self):
- """ formats eta to readable format """
- seconds = self.getETA()
-
- if seconds < 0: return "00:00:00"
-
- hours, seconds = divmod(seconds, 3600)
- minutes, seconds = divmod(seconds, 60)
- return "%.2i:%.2i:%.2i" % (hours, minutes, seconds)
-
- def getSpeed(self):
- """ calculates speed """
- try:
- return self.plugin.req.get_speed()
- except:
- return 0
-
- def getETA(self):
- """ gets established time of arrival"""
- try:
- return self.plugin.req.get_ETA()
- except:
- return 0
-
- def getBytesLeft(self):
- """ gets bytes left """
- try:
- return self.plugin.req.bytes_left()
- except:
- return 0
-
- def getPercent(self):
- """ get % of download """
- if self.alternativePercent: return self.alternativePercent
- try:
- return int((float(self.plugin.req.dl_arrived) / self.plugin.req.dl_size) * 100)
- except:
- return 0
-
- def getSize(self):
- """ get size of download """
- if self.size: return self.size
- else:
- try:
- return self.plugin.req.dl_size
- except:
- return 0
-
- def notifyChange(self):
- e = UpdateEvent("file", self.id, "collector" if not self.package().queue else "queue")
- self.m.core.pullManager.addEvent(e)
-
-class PyPackage():
- def __init__(self, manager, id, name, folder, site, password, queue, order, priority):
- self.m = manager
- self.m.packageCache[int(id)] = self
-
- self.id = int(id)
- self.name = name
- self.folder = folder
- self.site = site
- self.password = password
- self.queue = queue
- self.order = order
- self.priority = priority
-
-
- self.setFinished = False
-
- def toDict(self):
- """return data as dict
-
- format:
-
- {
- id: {'name': name ... 'links': {} } }
- }
-
- """
- return {
- self.id: {
- 'id': self.id,
- 'name': self.name,
- 'folder': self.folder,
- 'site': self.site,
- 'password': self.password,
- 'queue': self.queue,
- 'order': self.order,
- 'priority': self.priority,
- 'links': {}
- }
- }
-
- def getChildren(self):
- """get information about contained links"""
- return self.m.getPackageData(self.id)["links"]
-
- def setPriority(self, priority):
- self.priority = priority
- self.sync()
-
- def sync(self):
- """sync with db"""
- self.m.updatePackage(self)
-
- def release(self):
- """sync and delete from cache"""
- self.sync()
- self.m.releasePackage(self.id)
-
- def delete(self):
- self.m.deletePackage(self.id)
-
- def notifyChange(self):
- e = UpdateEvent("file", self.id, "collector" if not self.queue else "queue")
- self.m.core.pullManager.addEvent(e)
-
-
if __name__ == "__main__":
pypath = "."
diff --git a/module/gui/Collector.py b/module/gui/Collector.py
index 5fc041a8e..87d433566 100644
--- a/module/gui/Collector.py
+++ b/module/gui/Collector.py
@@ -142,8 +142,9 @@ class CollectorModel(QAbstractItemModel):
if package.id == int(info["package"]):
for k, child in enumerate(package.children):
if child.id == int(event[3]):
- child.data = info
- child.data["downloading"] = None
+ child.data.update(info)
+ if not info["status"] == 12:
+ child.data["downloading"] = None
self.emit(SIGNAL("dataChanged(const QModelIndex &, const QModelIndex &)"), self.index(k, 0, self.index(p, 0)), self.index(k, self.cols, self.index(p, self.cols)))
break
else:
diff --git a/module/gui/Queue.py b/module/gui/Queue.py
index 5489f85ce..eb13415f0 100644
--- a/module/gui/Queue.py
+++ b/module/gui/Queue.py
@@ -116,24 +116,12 @@ class QueueModel(CollectorModel):
def getProgress(self, item):
locker = QMutexLocker(self.mutex)
if isinstance(item, Link):
- if item.data["downloading"]:
- return int(item.data["downloading"]["percent"])
- if item.data["statusmsg"] == "finished" or \
- item.data["statusmsg"] == "failed" or \
- item.data["statusmsg"] == "aborted":
- return 100
+ return int(item.data["progress"])
elif isinstance(item, Package):
count = len(item.children)
perc_sum = 0
for child in item.children:
- val = 0
- if child.data["downloading"]:
- val = int(child.data["downloading"]["percent"])
- elif child.data["statusmsg"] == "finished" or \
- child.data["statusmsg"] == "failed" or \
- child.data["statusmsg"] == "aborted":
- val = 100
- perc_sum += val
+ perc_sum += int(child.data["progress"])
if count == 0:
return 0
return perc_sum/count
diff --git a/module/network/FtpRequest.py b/module/network/FtpRequest.py
index d8f556fea..a0986a9ed 100644
--- a/module/network/FtpRequest.py
+++ b/module/network/FtpRequest.py
@@ -54,6 +54,7 @@ class FtpRequest:
self.averageSpeeds = []
self.averageSpeedTime = 0.0
self.averageSpeedCount = 0.0
+ self.progressNotify = None
self.speedLimitActive = False
self.maxSpeed = 0
@@ -219,8 +220,15 @@ class FtpRequest:
def progress(self, dl_t, dl_d, up_t, up_d):
if self.abort:
return False
- self.dl_arrived = int(dl_d)
- self.dl_size = int(dl_t)
+ self.dl_arrived = int(dl_d)+self.offset
+ self.dl_size = int(dl_t)+self.offset
+
+ if self.progressNotify:
+ try:
+ progress = int(float(self.dl_arrived)/self.dl_size*100)
+ self.progressNotify(progress)
+ except:
+ pass
def get_free_name(self, file_name):
file_count = 0
diff --git a/module/network/Request.py b/module/network/Request.py
index 3a3cd0f41..5314f97ab 100755
--- a/module/network/Request.py
+++ b/module/network/Request.py
@@ -63,6 +63,7 @@ class Request:
self.isSlow = False
self.cookieJar = None
self.interface = interface
+ self.progressNotify = None
# change this for connection information
self.debug = False
@@ -379,6 +380,13 @@ class Request:
self.dl_arrived = int(dl_d)+self.offset
self.dl_size = int(dl_t)+self.offset
+ if self.progressNotify:
+ try:
+ progress = int(float(self.dl_arrived)/self.dl_size*100)
+ self.progressNotify(progress)
+ except:
+ pass
+
def get_free_name(self, folder, file_name):
file_count = 0
file_name = join(folder, file_name)
diff --git a/module/network/XdccRequest.py b/module/network/XdccRequest.py
index b65398dbc..18378cc6f 100644
--- a/module/network/XdccRequest.py
+++ b/module/network/XdccRequest.py
@@ -70,6 +70,7 @@ class XdccRequest:
self.speedLimitActive = False
self.maxSpeed = 0
self.isSlow = False
+ self.progressNotify = None
# change this for connection information
self.debug = False
diff --git a/module/plugins/Plugin.py b/module/plugins/Plugin.py
index 34c06539a..f2c3b18eb 100644
--- a/module/plugins/Plugin.py
+++ b/module/plugins/Plugin.py
@@ -101,7 +101,8 @@ class Plugin(object):
#self.req.canContinue = True
else:
self.req = pyfile.m.core.requestFactory.getRequest(self.__name__)
-
+ self.req.progressNotify = pyfile.progress.setValue
+
self.log = pyfile.m.core.log
self.pyfile = pyfile
diff --git a/module/plugins/hooks/UnRar.py b/module/plugins/hooks/UnRar.py
index 46b9aac6a..fa762a832 100644
--- a/module/plugins/hooks/UnRar.py
+++ b/module/plugins/hooks/UnRar.py
@@ -119,8 +119,10 @@ class UnRar(Hook):
self.core.log.info(_("starting Unrar of %s") % fname)
pyfile = self.core.files.getFile(fid)
pyfile.setStatus("processing")
+ pyfile.progress.setRange(0, 100)
def s(p):
- pyfile.alternativePercent = p
+ pyfile.progress.setValue(p)
+
download_folder = self.core.config['general']['download_folder']
if self.core.config['general']['folder_per_package']:
@@ -165,7 +167,7 @@ class UnRar(Hook):
else:
self.core.log.info(_("Unrar of %s failed (wrong password)") % fname)
finally:
- pyfile.alternativePercent = None
+ pyfile.progress.setValue(100)
pyfile.setStatus("finished")
pyfile.release()