Compare commits

...

25 Commits

Author SHA1 Message Date
36e6d5a2d1 Tag 1.0.3 release 2008-10-19 00:12:40 +00:00
63c314843e lang sync 2008-10-19 00:09:47 +00:00
be2b266ba8 lt sync 2836 2008-10-18 23:57:39 +00:00
1458db6b03 Re-add "Max Connections per Second" setting 2008-10-18 23:55:27 +00:00
8b6696a2a6 Tag 1.0.3 release 2008-10-18 21:42:57 +00:00
16ba61dbf5 Prep for release 2008-10-18 21:38:54 +00:00
46352b6f13 ly sync 2832 2008-10-18 21:22:44 +00:00
82d15c856a maid service 2008-10-17 21:42:09 +00:00
5315620ca2 lt sync 2824 - fix segfault when passing None to torrent_info() 2008-10-17 19:38:33 +00:00
40d6716e74 Remove max connections per second from config dialog. 2008-10-17 18:38:19 +00:00
efec531c75 lt sync 2823 2008-10-17 17:54:07 +00:00
cc7e6d1ff2 Deluge will now use a system libtorrent library if available. 2008-10-17 17:52:12 +00:00
e2b9d5d936 fix bad opera fix 2008-10-16 17:19:58 +00:00
5f8fef7996 changelog 2008-10-16 17:17:27 +00:00
03a37062d4 fix opera tested on 2008-10-16 17:12:22 +00:00
0534b24609 Fix IP filter 2008-10-15 23:57:03 +00:00
130d7c08a0 lt sync 2803 2008-10-15 20:55:20 +00:00
ea6a6ec9bc Use "127.0.0.1" instead of "localhost" when starting the SignalReceiver 2008-10-15 19:19:12 +00:00
d0da82de21 Change to use 'all_time_upload' and 'all_time_download' due to change
in recent libtorrent revision
2008-10-15 18:49:51 +00:00
8cc74af9c3 lt sync 2802 2008-10-15 18:45:35 +00:00
f75c0cf096 lt sync 2796 2008-10-14 16:13:23 +00:00
244ba86b8a use multithreaded ssl on windows 2008-10-11 07:30:18 +00:00
054cc120de lang sync 2008-10-11 04:45:42 +00:00
fbdb1479ad Update for release 2008-10-10 22:45:41 +00:00
ec8c45e940 Fix issue where torrents will not be properly added to the session 2008-10-10 22:01:10 +00:00
46 changed files with 10900 additions and 16375 deletions

View File

@ -1,3 +1,27 @@
Deluge 1.0.3 (18 October 2008)
Core:
* Fix upnp - it should work on more routers now too
* Fix issue where Deluge would send improper stats to the tracker after a
pause/resume.
* Fix issue where fastresume files would be rejected when using FAT32. This
would cause the torrent to be rechecked on every startup.
* Fix ip filtering
GtkUI:
* Re-add the "Max Connections Per Second" option with a default setting of 20
WebUI:
* Fix White template for Opera
Misc:
* Deluge will now use a system libtorrent library if available.
* The build system will no longer build libtorrent if a system library is
detected.
Deluge 1.0.2 (10 October 2008)
Core:
* Fix issue where torrents will not be properly added to the session
Deluge 1.0.1 (10 October 2008)
Core:
* Change the default max global upload slots to 4 instead of -1 since libtorrent

6
debian/changelog vendored
View File

@ -1,5 +1,5 @@
deluge-torrent (1.0.1-1) unstable; urgency=low
deluge-torrent (1.0.3-1) unstable; urgency=low
* 1.0.1
* 1.0.3
-- Andrew Resch (andar) <andrewresch@gmail.com> Fri, 10 Oct 2008 02:10:00 -0000
-- Andrew Resch (andar) <andrewresch@gmail.com> Sat, 18 Oct 2008 02:10:00 -0000

View File

@ -36,7 +36,10 @@
import gobject
import deluge.component as component
import deluge.libtorrent as lt
try:
import libtorrent as lt
except ImportError:
import deluge.libtorrent as lt
from deluge.log import LOG as log
class AlertManager(component.Component):

View File

@ -33,7 +33,10 @@
import os
import deluge.libtorrent as lt
try:
import libtorrent as lt
except ImportError:
import deluge.libtorrent as lt
import deluge.component as component
from deluge.configmanager import ConfigManager
from deluge.log import LOG as log

View File

@ -46,7 +46,11 @@ import gobject
import threading
import socket
import deluge.libtorrent as lt
try:
import libtorrent as lt
except ImportError:
import deluge.libtorrent as lt
import deluge.configmanager
import deluge.common
import deluge.component as component
@ -223,6 +227,12 @@ class Core(
self.settings.send_redundant_have = True
self.session.set_settings(self.settings)
# Create an ip filter
self.ip_filter = lt.ip_filter()
# This keeps track of the timer to set the ip filter.. We do this a few
# seconds aftering adding a rule so that 'batch' adding of rules isn't slow.
self._set_ip_filter_timer = None
# Load metadata extension
self.session.add_extension(lt.create_metadata_plugin)
@ -614,12 +624,13 @@ class Core(
def export_block_ip_range(self, range):
"""Block an ip range"""
try:
self.ip_filter.add_rule(range[0], range[1], 1)
except AttributeError:
self.export_reset_ip_filter()
self.ip_filter.add_rule(range[0], range[1], 1)
self.ip_filter.add_rule(range[0], range[1], 1)
# Start a 2 second timer (and remove the previous one if it exists)
if self._set_ip_filter_timer:
gobject.source_remove(self._set_ip_filter_timer)
self._set_ip_filter_timer = gobject.timeout_add(2000, self.session.set_ip_filter, self.ip_filter)
def export_reset_ip_filter(self):
"""Clears the ip filter"""
self.ip_filter = lt.ip_filter()
@ -827,10 +838,7 @@ class Core(
self.session.set_max_half_open_connections(value)
def _on_set_max_connections_per_second(self, key, value):
#self.settings.connection_speed = value
# We are hard-coding this value to 20 due to issues with having it
# unlimited by default.
self.settings.connection_speed = 20
self.settings.connection_speed = value
self.session.set_settings(self.settings)
def _on_ignore_limits_on_local_network(self, key, value):

View File

@ -37,7 +37,10 @@ import pickle
import cPickle
import shutil
import deluge.libtorrent as lt
try:
import libtorrent as lt
except ImportError:
import deluge.libtorrent as lt
from deluge.configmanager import ConfigManager
import deluge.core.torrentmanager
from deluge.log import LOG as log

View File

@ -35,7 +35,10 @@
import os
import deluge.libtorrent as lt
try:
import libtorrent as lt
except ImportError:
import deluge.libtorrent as lt
import deluge.common
import deluge.component as component
from deluge.configmanager import ConfigManager
@ -111,6 +114,9 @@ class Torrent:
tracker["tier"] = value.tier
self.trackers.append(tracker)
# Set the allocation mode
self.compact = options["compact_allocation"]
# Various torrent options
self.set_max_connections(options["max_connections_per_torrent"])
self.set_max_upload_slots(options["max_upload_slots_per_torrent"])
@ -121,8 +127,6 @@ class Torrent:
if options.has_key("file_priorities"):
self.set_file_priorities(options["file_priorities"])
# Set the allocation mode
self.compact = options["compact_allocation"]
# Where the torrent is being saved to
self.save_path = options["download_location"]
# Status message holds error info about the torrent
@ -189,9 +193,9 @@ class Torrent:
self.options["file_priorities"] = self.handle.file_priorities()
return
if self.options["compact_allocation"]:
if self.compact:
log.debug("setting file priority with compact allocation does not work!")
self.options["file_priorities"] = self.handle.file_priorities()
self.file_priorities = self.handle.file_priorities()
return
log.debug("setting %s's file priorities: %s", self.torrent_id, file_priorities)
@ -408,12 +412,12 @@ class Torrent:
full_status = {
"distributed_copies": distributed_copies,
"total_done": self.status.total_done,
"total_uploaded": self.total_uploaded + self.status.total_payload_upload,
"total_uploaded": self.status.all_time_upload,
"state": self.state,
"paused": self.status.paused,
"progress": progress,
"next_announce": self.status.next_announce.seconds,
"total_payload_download": self.status.total_payload_download,
"total_payload_download": self.status.all_time_download,
"total_payload_upload": self.status.total_payload_upload,
"download_payload_rate": self.status.download_payload_rate,
"upload_payload_rate": self.status.upload_payload_rate,

View File

@ -40,7 +40,10 @@ import time
import gobject
import deluge.libtorrent as lt
try:
import libtorrent as lt
except ImportError:
import deluge.libtorrent as lt
import deluge.common
import deluge.component as component

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2008-09-22 16:45-0500\n"
"POT-Creation-Date: 2008-10-18 19:10-0500\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"
@ -32,7 +32,7 @@ msgstr ""
msgid "Warning"
msgstr ""
#: deluge/core/torrentmanager.py:719
#: deluge/core/torrentmanager.py:718
#: deluge/ui/webui/scripts/template_strings.py:25
#: deluge/ui/gtkui/sidebar.py:69
msgid "Error"
@ -141,7 +141,7 @@ msgid "ETA"
msgstr ""
#: deluge/ui/webui/scripts/template_strings.py:24
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1785
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1783
msgid "Enable"
msgstr ""
@ -416,7 +416,7 @@ msgstr ""
msgid "Maximum Upload Slots"
msgstr ""
#: deluge/ui/webui/torrent_add.py:55 deluge/ui/webui/config_tabs_deluge.py:130
#: deluge/ui/webui/torrent_add.py:55 deluge/ui/webui/config_tabs_deluge.py:131
msgid "Prioritize first and last pieces"
msgstr ""
@ -573,62 +573,66 @@ msgid "Auto Add folder"
msgstr ""
#: deluge/ui/webui/config_tabs_deluge.py:129
msgid "Auto Add enabled"
msgstr ""
#: deluge/ui/webui/config_tabs_deluge.py:130
#: deluge/ui/gtkui/glade/preferences_dialog.glade:469
msgid "Use Compact Allocation"
msgstr ""
#: deluge/ui/webui/config_tabs_deluge.py:136
#: deluge/ui/webui/config_tabs_deluge.py:137
msgid "Daemon"
msgstr ""
#: deluge/ui/webui/config_tabs_deluge.py:137
#: deluge/ui/webui/config_tabs_deluge.py:138
msgid "Restart daemon and webui after changing these settings"
msgstr ""
#: deluge/ui/webui/config_tabs_deluge.py:138
#: deluge/ui/webui/config_tabs_deluge.py:139
#: deluge/ui/webui/config_tabs_webui.py:63
msgid "Port"
msgstr ""
#: deluge/ui/webui/config_tabs_deluge.py:139
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2146
#: deluge/ui/webui/config_tabs_deluge.py:140
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2144
msgid "Allow Remote Connections"
msgstr ""
#: deluge/ui/webui/config_tabs_deluge.py:144
#: deluge/ui/webui/config_tabs_deluge.py:145
msgid "Queue"
msgstr ""
#: deluge/ui/webui/config_tabs_deluge.py:145
#: deluge/ui/webui/config_tabs_deluge.py:146
msgid "-1 = unlimited"
msgstr ""
#: deluge/ui/webui/config_tabs_deluge.py:147
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2296
#: deluge/ui/webui/config_tabs_deluge.py:148
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2294
msgid "Queue new torrents to top"
msgstr ""
#: deluge/ui/webui/config_tabs_deluge.py:151
#: deluge/ui/webui/config_tabs_deluge.py:152
msgid "Total active torrents"
msgstr ""
#: deluge/ui/webui/config_tabs_deluge.py:152
#: deluge/ui/webui/config_tabs_deluge.py:153
msgid "Total active downloading"
msgstr ""
#: deluge/ui/webui/config_tabs_deluge.py:153
#: deluge/ui/webui/config_tabs_deluge.py:154
msgid "Total active seeding"
msgstr ""
#: deluge/ui/webui/config_tabs_deluge.py:160
#: deluge/ui/webui/config_tabs_deluge.py:161
msgid "Stop seeding when ratio reaches"
msgstr ""
#: deluge/ui/webui/config_tabs_deluge.py:162
#: deluge/ui/webui/config_tabs_deluge.py:163
msgid "Remove torrent when ratio reached"
msgstr ""
#: deluge/ui/webui/config_tabs_deluge.py:169
#: deluge/ui/webui/config_tabs_deluge.py:170
msgid "Enabled Plugins"
msgstr ""
@ -703,12 +707,12 @@ msgid "∞"
msgstr ""
#: deluge/ui/webui/torrent_options.py:23
#: deluge/ui/gtkui/glade/main_window.glade:1946
#: deluge/ui/gtkui/glade/main_window.glade:1943
msgid "Prioritize First/Last"
msgstr ""
#: deluge/ui/webui/torrent_options.py:26
#: deluge/ui/gtkui/glade/main_window.glade:1816
#: deluge/ui/gtkui/glade/main_window.glade:1813
msgid "Auto Managed"
msgstr ""
@ -717,7 +721,7 @@ msgid "Stop seed at ratio"
msgstr ""
#: deluge/ui/webui/torrent_options.py:29
#: deluge/ui/gtkui/glade/main_window.glade:1874
#: deluge/ui/gtkui/glade/main_window.glade:1871
msgid "Remove at ratio"
msgstr ""
@ -871,7 +875,7 @@ msgstr ""
#: deluge/ui/webui/lib/newforms_plus.py:204 deluge/ui/gtkui/systemtray.py:187
#: deluge/ui/gtkui/systemtray.py:191 deluge/ui/gtkui/systemtray.py:322
#: deluge/ui/gtkui/statusbar.py:359 deluge/ui/gtkui/statusbar.py:387
#: deluge/ui/gtkui/statusbar.py:414 deluge/common.py:174
#: deluge/ui/gtkui/statusbar.py:414 deluge/common.py:181
msgid "Unlimited"
msgstr ""
@ -1017,14 +1021,14 @@ msgstr ""
#: deluge/ui/gtkui/systemtray.py:321 deluge/ui/gtkui/statusbar.py:329
#: deluge/ui/gtkui/statusbar.py:339 deluge/ui/gtkui/statusbar.py:352
#: deluge/ui/gtkui/statusbar.py:380
#: deluge/ui/gtkui/glade/main_window.glade:1726
#: deluge/ui/gtkui/glade/main_window.glade:1738
#: deluge/ui/gtkui/glade/main_window.glade:1665
#: deluge/ui/gtkui/glade/main_window.glade:1679
msgid "KiB/s"
msgstr ""
#: deluge/ui/gtkui/systemtray.py:325 deluge/ui/gtkui/statusbar.py:361
#: deluge/ui/gtkui/statusbar.py:389 deluge/ui/gtkui/statusbar.py:416
#: deluge/common.py:231 deluge/common.py:232
#: deluge/common.py:238 deluge/common.py:239
msgid "Other..."
msgstr ""
@ -1112,11 +1116,11 @@ msgstr ""
msgid "Tier"
msgstr ""
#: deluge/common.py:177
#: deluge/common.py:184
msgid "Activated"
msgstr ""
#: deluge/common.py:247
#: deluge/common.py:254
#, python-format
msgid "%s"
msgstr ""
@ -1508,109 +1512,109 @@ msgstr ""
msgid "<b><i><big>Bandwidth</big></i></b>"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1204
msgid "Maximum Connection Attempts per Second:"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1216
msgid "Maximum Half-Open Connections:"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1227
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1251
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1317
msgid "The maximum upload speed for all torrents. Set -1 for unlimited."
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1229
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1491
msgid "Maximum Upload Speed (KiB/s):"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1240
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1265
msgid "The maximum number of connections allowed. Set -1 for unlimited."
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1242
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1454
msgid "Maximum Connections:"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1253
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1465
msgid "Maximum Upload Slots:"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1283
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1298
msgid "The maximum download speed for all torrents. Set -1 for unlimited."
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1285
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1478
msgid "Maximum Download Speed (KiB/s):"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1336
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1172
msgid "The maximum upload slots for all torrents. Set -1 for unlimited."
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1361
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1191
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1261
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1285
msgid "The maximum upload speed for all torrents. Set -1 for unlimited."
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1211
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1229
msgid "The maximum download speed for all torrents. Set -1 for unlimited."
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1231
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1466
msgid "Maximum Download Speed (KiB/s):"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1243
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1274
msgid "The maximum number of connections allowed. Set -1 for unlimited."
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1263
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1479
msgid "Maximum Upload Slots:"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1276
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1492
msgid "Maximum Connections:"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1287
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1453
msgid "Maximum Upload Speed (KiB/s):"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1299
msgid "Maximum Half-Open Connections:"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1310
msgid "Maximum Connection Attempts per Second:"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1359
msgid "Ignore limits on local network"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1379
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1377
msgid "<b>Global Bandwidth Usage</b>"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1418
msgid "The maximum upload slots per torrent. Set -1 for unlimited."
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1437
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1503
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1521
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1416
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1434
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1502
msgid "The maximum number of connections per torrent. Set -1 for unlimited."
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1543
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1518
msgid "The maximum upload slots per torrent. Set -1 for unlimited."
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1541
msgid "<b>Per Torrent Bandwidth Usage</b>"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1570
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1568
msgid "page 8"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1601
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1599
msgid "<i><b><big>Interface</big></b></i>"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1635
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1633
msgid "Enable system tray icon"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1650
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1648
msgid "Minimize to tray on close"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1669
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1667
msgid "Start in tray"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1690
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1688
msgid "Password protect system tray"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1717
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1715
msgid "Password:"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1752
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1750
msgid "<b>System Tray</b>"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1784
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1782
msgid ""
"Classic Mode will hide most of the daemon functionality and will make Deluge "
"appear to be a single application. Use this if you do not want to take "
@ -1618,122 +1622,122 @@ msgid ""
"setting to take effect."
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1796
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1794
msgid "<b>Classic Mode</b>"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1848
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1846
msgid "<i><b><big>Other</big></b></i>"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1890
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1888
msgid ""
"Deluge will check our servers and will tell you if a newer version has been "
"released"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1891
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1889
msgid "Be alerted about new releases"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1910
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1908
msgid "<b>Updates</b>"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1946
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1944
msgid ""
"Help us improve Deluge by sending us your Python version, PyGTK version, OS "
"and processor types. Absolutely no other information is sent."
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1965
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1963
msgid "Yes, please send anonymous statistics"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1984
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1982
msgid "<b>System Information</b>"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2037
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2035
msgid "<i><b><big>Daemon</big></b></i>"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2079
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2077
msgid "Daemon port:"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2114
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2112
msgid "<b>Port</b>"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2157
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2155
msgid "<b>Connections</b>"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2189
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2187
msgid "Periodically check the website for new releases"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2200
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2198
msgid "<b>Other</b>"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2253
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2251
msgid "<i><b><big>Queue</big></b></i>"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2309
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2307
#: deluge/ui/gtkui/glade/add_torrent_dialog.glade:810
#: deluge/ui/gtkui/glade/main_window.glade:2005
#: deluge/ui/gtkui/glade/main_window.glade:2002
#: deluge/plugins/blocklist/blocklist/data/blocklist_pref.glade:89
msgid "<b>General</b>"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2383
msgid "Total active seeding:"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2396
msgid "Total active:"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2425
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2348
msgid "Total active downloading:"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2439
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2379
msgid "Total active:"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2389
msgid "Total active seeding:"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2437
msgid "Do not count slow torrents"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2455
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2453
msgid "<b>Active Torrents</b>"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2496
msgid "Share Ratio Limit:"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2506
msgid "Seed Time Ratio:"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2518
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2542
msgid "Seed Time (m):"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2586
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2554
msgid "Seed Time Ratio:"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2566
msgid "Share Ratio Limit:"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2584
msgid "Stop seeding when share ratio reaches:"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2631
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2629
msgid "Remove torrent when share ratio reached"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2649
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2647
msgid "<b>Seeding</b>"
msgstr ""
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2707
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2705
msgid "<i><b><big>Plugins</big></b></i>"
msgstr ""
@ -1750,27 +1754,27 @@ msgid "Automatically add torrents on connect"
msgstr ""
#: deluge/ui/gtkui/glade/remove_torrent_dialog.glade:8
#: deluge/ui/gtkui/glade/main_window.glade:2102
#: deluge/ui/gtkui/glade/main_window.glade:2099
msgid "Remove Torrent?"
msgstr ""
#: deluge/ui/gtkui/glade/remove_torrent_dialog.glade:44
#: deluge/ui/gtkui/glade/main_window.glade:2138
#: deluge/ui/gtkui/glade/main_window.glade:2135
msgid "<big><b>Are you sure you want to remove the selected torrent?</b></big>"
msgstr ""
#: deluge/ui/gtkui/glade/remove_torrent_dialog.glade:95
#: deluge/ui/gtkui/glade/main_window.glade:2189
#: deluge/ui/gtkui/glade/main_window.glade:2186
msgid "<i>The associated .torrent will be deleted!</i>"
msgstr ""
#: deluge/ui/gtkui/glade/remove_torrent_dialog.glade:134
#: deluge/ui/gtkui/glade/main_window.glade:2228
#: deluge/ui/gtkui/glade/main_window.glade:2225
msgid "<i>The downloaded data will be deleted!</i>"
msgstr ""
#: deluge/ui/gtkui/glade/remove_torrent_dialog.glade:179
#: deluge/ui/gtkui/glade/main_window.glade:2272
#: deluge/ui/gtkui/glade/main_window.glade:2269
msgid "Remove Selected Torrent"
msgstr ""
@ -1857,12 +1861,12 @@ msgid "Compact"
msgstr ""
#: deluge/ui/gtkui/glade/add_torrent_dialog.glade:596
#: deluge/ui/gtkui/glade/main_window.glade:1753
#: deluge/ui/gtkui/glade/main_window.glade:1653
msgid "Max Upload Slots:"
msgstr ""
#: deluge/ui/gtkui/glade/add_torrent_dialog.glade:610
#: deluge/ui/gtkui/glade/main_window.glade:1690
#: deluge/ui/gtkui/glade/main_window.glade:1716
msgid "Max Connections:"
msgstr ""
@ -1875,7 +1879,7 @@ msgid "Max Down Speed:"
msgstr ""
#: deluge/ui/gtkui/glade/add_torrent_dialog.glade:668
#: deluge/ui/gtkui/glade/main_window.glade:1786
#: deluge/ui/gtkui/glade/main_window.glade:1783
msgid "<b>Bandwidth</b>"
msgstr ""
@ -1888,13 +1892,13 @@ msgid "Prioritize First/Last Pieces"
msgstr ""
#: deluge/ui/gtkui/glade/add_torrent_dialog.glade:735
#: deluge/ui/gtkui/glade/main_window.glade:1933
#: deluge/ui/gtkui/glade/main_window.glade:1930
msgid "Private"
msgstr ""
#: deluge/ui/gtkui/glade/add_torrent_dialog.glade:777
#: deluge/ui/gtkui/glade/torrent_menu.glade:130
#: deluge/ui/gtkui/glade/main_window.glade:1980
#: deluge/ui/gtkui/glade/main_window.glade:1977
msgid "_Edit Trackers"
msgstr ""
@ -1907,7 +1911,7 @@ msgid "Apply To All"
msgstr ""
#: deluge/ui/gtkui/glade/add_torrent_dialog.glade:968
#: deluge/ui/gtkui/glade/main_window.glade:2082
#: deluge/ui/gtkui/glade/main_window.glade:2079
msgid "_Options"
msgstr ""
@ -2121,148 +2125,148 @@ msgstr ""
msgid "Hi_ghest Priority"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:683
msgid "<b>Auto Managed:</b>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:722
msgid "<b>Seed Rank:</b>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:737
msgid "<b>Seeding Time:</b>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:762
msgid "<b>Active Time:</b>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:818
msgid "<b>Tracker Status:</b>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:849
msgid "<b>Availability:</b>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:903
msgid "<b>Peers:</b>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:929
msgid "<b>Seeders:</b>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:947
msgid "<b>Pieces:</b>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:969
msgid "<b>ETA:</b>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:991
#: deluge/ui/gtkui/glade/main_window.glade:1013
msgid "<b>Speed:</b>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:1032
msgid "<b>Next Announce:</b>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:1051
msgid "<b>Share Ratio:</b>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:1070
msgid "<b>Uploaded:</b>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:1089
#: deluge/ui/gtkui/glade/main_window.glade:717
msgid "<b>Downloaded:</b>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:1176
#: deluge/ui/gtkui/glade/main_window.glade:734
msgid "<b>Uploaded:</b>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:753
msgid "<b>Share Ratio:</b>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:772
msgid "<b>Next Announce:</b>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:792
#: deluge/ui/gtkui/glade/main_window.glade:812
msgid "<b>Speed:</b>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:834
msgid "<b>ETA:</b>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:856
msgid "<b>Pieces:</b>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:873
msgid "<b>Seeders:</b>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:897
msgid "<b>Peers:</b>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:952
msgid "<b>Availability:</b>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:984
msgid "<b>Tracker Status:</b>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:1043
msgid "<b>Active Time:</b>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:1066
msgid "<b>Seeding Time:</b>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:1081
msgid "<b>Seed Rank:</b>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:1120
msgid "<b>Auto Managed:</b>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:1173
msgid "_Statistics"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:1247
msgid "<b># of files:</b>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:1279
msgid "<b>Hash:</b>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:1308
msgid "<b>Tracker:</b>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:1328
msgid "<b>Total Size:</b>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:1365
msgid "<b>Name:</b>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:1385
msgid "<b>Path:</b>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:1419
#: deluge/ui/gtkui/glade/main_window.glade:1258
msgid "<b>Status:</b>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:1484
#: deluge/ui/gtkui/glade/main_window.glade:1295
msgid "<b>Path:</b>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:1318
msgid "<b>Name:</b>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:1352
msgid "<b>Total Size:</b>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:1369
msgid "<b>Tracker:</b>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:1398
msgid "<b>Hash:</b>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:1430
msgid "<b># of files:</b>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:1481
msgid "_Details"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:1534
#: deluge/ui/gtkui/glade/main_window.glade:1531
msgid "_Files"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:1584
#: deluge/ui/gtkui/glade/main_window.glade:1581
msgid "_Peers"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:1692
msgid "Max Download Speed:"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:1703
msgid "Max Upload Speed:"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:1716
msgid "Max Download Speed:"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:1836
#: deluge/ui/gtkui/glade/main_window.glade:1833
msgid "Stop seed at ratio:"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:1898
#: deluge/ui/gtkui/glade/main_window.glade:1895
msgid "<b>Queue</b>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:2290
#: deluge/ui/gtkui/glade/main_window.glade:2287
msgid "New Release"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:2321
#: deluge/ui/gtkui/glade/main_window.glade:2318
msgid "<b><big>New Release Available!</big></b>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:2372
msgid "<i>Available Version:</i>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:2395
#: deluge/ui/gtkui/glade/main_window.glade:2357
msgid "<i>Current Version:</i>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:2417
#: deluge/ui/gtkui/glade/main_window.glade:2378
msgid "<i>Available Version:</i>"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:2414
msgid "Do not show this dialog in the future"
msgstr ""
#: deluge/ui/gtkui/glade/main_window.glade:2457
#: deluge/ui/gtkui/glade/main_window.glade:2454
msgid "_Goto Website"
msgstr ""

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -7,14 +7,14 @@ msgid ""
msgstr ""
"Project-Id-Version: deluge\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2008-08-31 18:34-0500\n"
"PO-Revision-Date: 2008-09-16 15:29+0000\n"
"Last-Translator: Tiago Silva <Unknown>\n"
"POT-Creation-Date: 2008-10-10 18:32-0500\n"
"PO-Revision-Date: 2008-10-12 09:56+0000\n"
"Last-Translator: Tony Manco <Unknown>\n"
"Language-Team: Portuguese <pt@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2008-09-21 02:20+0000\n"
"X-Launchpad-Export-Date: 2008-10-19 00:01+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#: deluge/core/torrentmanager.py:667
@ -33,7 +33,7 @@ msgstr "Alerta"
msgid "Warning"
msgstr "Aviso"
#: deluge/core/torrentmanager.py:719
#: deluge/core/torrentmanager.py:718
#: deluge/ui/webui/scripts/template_strings.py:25
#: deluge/ui/gtkui/sidebar.py:69
msgid "Error"
@ -142,7 +142,7 @@ msgid "ETA"
msgstr "TEC"
#: deluge/ui/webui/scripts/template_strings.py:24
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1784
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1785
msgid "Enable"
msgstr "Activar"
@ -417,7 +417,7 @@ msgstr "Ligações máximas"
msgid "Maximum Upload Slots"
msgstr "Quantidade máxima de envios simultâneos"
#: deluge/ui/webui/torrent_add.py:55 deluge/ui/webui/config_tabs_deluge.py:130
#: deluge/ui/webui/torrent_add.py:55 deluge/ui/webui/config_tabs_deluge.py:131
msgid "Prioritize first and last pieces"
msgstr "Dar prioridade à primeira e última partes"
@ -574,62 +574,66 @@ msgid "Auto Add folder"
msgstr "Auto adicionar pasta"
#: deluge/ui/webui/config_tabs_deluge.py:129
msgid "Auto Add enabled"
msgstr "Adicionamento automático activo"
#: deluge/ui/webui/config_tabs_deluge.py:130
#: deluge/ui/gtkui/glade/preferences_dialog.glade:469
msgid "Use Compact Allocation"
msgstr "Alocamento Compacto"
#: deluge/ui/webui/config_tabs_deluge.py:136
#: deluge/ui/webui/config_tabs_deluge.py:137
msgid "Daemon"
msgstr "Serviço"
#: deluge/ui/webui/config_tabs_deluge.py:137
#: deluge/ui/webui/config_tabs_deluge.py:138
msgid "Restart daemon and webui after changing these settings"
msgstr "Reiniciar serviço e webui depois de alterar estas definições"
#: deluge/ui/webui/config_tabs_deluge.py:138
#: deluge/ui/webui/config_tabs_deluge.py:139
#: deluge/ui/webui/config_tabs_webui.py:63
msgid "Port"
msgstr "Porta"
#: deluge/ui/webui/config_tabs_deluge.py:139
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2145
#: deluge/ui/webui/config_tabs_deluge.py:140
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2146
msgid "Allow Remote Connections"
msgstr "Permitir ligações remotas"
#: deluge/ui/webui/config_tabs_deluge.py:144
#: deluge/ui/webui/config_tabs_deluge.py:145
msgid "Queue"
msgstr "Fila"
#: deluge/ui/webui/config_tabs_deluge.py:145
#: deluge/ui/webui/config_tabs_deluge.py:146
msgid "-1 = unlimited"
msgstr "-1 = Ilimitado"
#: deluge/ui/webui/config_tabs_deluge.py:147
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2295
#: deluge/ui/webui/config_tabs_deluge.py:148
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2296
msgid "Queue new torrents to top"
msgstr "Fila de novos torrents no topo"
#: deluge/ui/webui/config_tabs_deluge.py:151
#: deluge/ui/webui/config_tabs_deluge.py:152
msgid "Total active torrents"
msgstr "Total de torrents activos"
#: deluge/ui/webui/config_tabs_deluge.py:152
#: deluge/ui/webui/config_tabs_deluge.py:153
msgid "Total active downloading"
msgstr "Total de activos a descarregar"
#: deluge/ui/webui/config_tabs_deluge.py:153
#: deluge/ui/webui/config_tabs_deluge.py:154
msgid "Total active seeding"
msgstr "Total de activos a semear"
#: deluge/ui/webui/config_tabs_deluge.py:160
#: deluge/ui/webui/config_tabs_deluge.py:161
msgid "Stop seeding when ratio reaches"
msgstr "Para de semear quando o rácio chegar a"
#: deluge/ui/webui/config_tabs_deluge.py:162
#: deluge/ui/webui/config_tabs_deluge.py:163
msgid "Remove torrent when ratio reached"
msgstr "Remover o torrent quanto o rácio chegar a"
#: deluge/ui/webui/config_tabs_deluge.py:169
#: deluge/ui/webui/config_tabs_deluge.py:170
msgid "Enabled Plugins"
msgstr "Plugins activos"
@ -882,7 +886,7 @@ msgstr "Este pasta não existe."
#: deluge/ui/webui/lib/newforms_plus.py:204 deluge/ui/gtkui/systemtray.py:187
#: deluge/ui/gtkui/systemtray.py:191 deluge/ui/gtkui/systemtray.py:322
#: deluge/ui/gtkui/statusbar.py:359 deluge/ui/gtkui/statusbar.py:387
#: deluge/ui/gtkui/statusbar.py:413 deluge/common.py:174
#: deluge/ui/gtkui/statusbar.py:414 deluge/common.py:174
msgid "Unlimited"
msgstr "Ilimitado"
@ -927,14 +931,6 @@ msgstr "Mover"
msgid "Recheck"
msgstr "Reverificar"
#: deluge/ui/gtkui/addtorrenturl.py:45
msgid "Add torrent from URL"
msgstr "Adicionar torrent a partir do URL"
#: deluge/ui/gtkui/addtorrenturl.py:50
msgid "Enter the URL of the .torrent to download"
msgstr "Introduza o URL do ficheiro .torrent para fazer o download"
#: deluge/ui/gtkui/preferences.py:81
msgid "Plugin"
msgstr "Extensão"
@ -1042,7 +1038,7 @@ msgid "KiB/s"
msgstr "KiB/s"
#: deluge/ui/gtkui/systemtray.py:325 deluge/ui/gtkui/statusbar.py:361
#: deluge/ui/gtkui/statusbar.py:389 deluge/ui/gtkui/statusbar.py:415
#: deluge/ui/gtkui/statusbar.py:389 deluge/ui/gtkui/statusbar.py:416
#: deluge/common.py:231 deluge/common.py:232
msgid "Other..."
msgstr "Outro..."
@ -1136,7 +1132,7 @@ msgstr "Velocidade de Download (KiB/s):"
msgid "Upload Speed (KiB/s):"
msgstr "Velocidade de Envio (KiB/s):"
#: deluge/ui/gtkui/statusbar.py:417
#: deluge/ui/gtkui/statusbar.py:418
msgid "Connection Limit:"
msgstr "Limite de ligações:"
@ -1296,9 +1292,8 @@ msgstr "<big><b>Gestor de Ligações</b></big>"
#: deluge/ui/gtkui/glade/connection_manager.glade:405
#: deluge/ui/gtkui/glade/queuedtorrents.glade:171
#: deluge/ui/gtkui/glade/edit_trackers.glade:108
#: deluge/ui/gtkui/glade/add_torrent_dialog.glade:1022
msgid "gtk-add"
msgstr "gtk-adicionar"
msgstr "gtk-add"
#: deluge/ui/gtkui/glade/connection_manager.glade:152
msgid "_Start local daemon"
@ -1318,7 +1313,7 @@ msgstr "Não mostrar este diálogo no arranque"
#: deluge/ui/gtkui/glade/connection_manager.glade:285
msgid "gtk-connect"
msgstr "gtk-conectar"
msgstr "gtk-connect"
#: deluge/ui/gtkui/glade/connection_manager.glade:308
msgid "Add Host"
@ -1551,55 +1546,55 @@ msgstr "página 7"
msgid "<b><i><big>Bandwidth</big></i></b>"
msgstr "<b><i><big>Largura de banda</big></i></b>"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1172
msgid "The maximum upload slots for all torrents. Set -1 for unlimited."
msgstr "Nº Máximo de envios para os torrents. Definir -1 para ilimitados."
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1204
msgid "Maximum Connection Attempts per Second:"
msgstr "Número Máximo de Tentativas de Ligação por Segundo:"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1191
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1261
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1285
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1216
msgid "Maximum Half-Open Connections:"
msgstr "Máximo de ligações meias-abertas:"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1227
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1251
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1317
msgid "The maximum upload speed for all torrents. Set -1 for unlimited."
msgstr ""
"Velocidade máxima de envio para todos os torrents. -1 para ilimitada."
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1211
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1229
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1491
msgid "Maximum Upload Speed (KiB/s):"
msgstr "Velocidade Máxima de Envio (KB/s):"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1240
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1265
msgid "The maximum number of connections allowed. Set -1 for unlimited."
msgstr "Número máximo de ligações permitidas. -1 para ilimitado."
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1242
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1454
msgid "Maximum Connections:"
msgstr "Ligações Máximas:"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1253
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1465
msgid "Maximum Upload Slots:"
msgstr "Número Máximo de Envios:"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1283
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1298
msgid "The maximum download speed for all torrents. Set -1 for unlimited."
msgstr ""
"Velocidade máxima de download para todos os torrents. -1 para ilimitada."
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1231
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1468
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1285
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1478
msgid "Maximum Download Speed (KiB/s):"
msgstr "Velocidade máxima de download (KiB/s):"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1243
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1274
msgid "The maximum number of connections allowed. Set -1 for unlimited."
msgstr "Número máximo de ligações permitidas. -1 para ilimitado."
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1263
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1481
msgid "Maximum Upload Slots:"
msgstr "Número Máximo de Envios:"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1276
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1494
msgid "Maximum Connections:"
msgstr "Ligações Máximas:"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1287
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1455
msgid "Maximum Upload Speed (KiB/s):"
msgstr "Velocidade Máxima de Envio (KB/s):"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1299
msgid "Maximum Half-Open Connections:"
msgstr "Máximo de ligações meias-abertas:"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1311
msgid "Maximum Connection Attempts per Second:"
msgstr "Número Máximo de Tentativas de Ligação por Segundo:"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1336
msgid "The maximum upload slots for all torrents. Set -1 for unlimited."
msgstr "Nº Máximo de envios para os torrents. Definir -1 para ilimitados."
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1361
msgid "Ignore limits on local network"
@ -1610,15 +1605,15 @@ msgid "<b>Global Bandwidth Usage</b>"
msgstr "<b>Uso da Largura de Banda Global</b>"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1418
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1436
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1504
msgid "The maximum number of connections per torrent. Set -1 for unlimited."
msgstr "Numero máximo de ligações por torrent. -1 para ilimitadas."
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1520
msgid "The maximum upload slots per torrent. Set -1 for unlimited."
msgstr "O número máximo de envios por torrent. -1 para ilimitado."
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1437
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1503
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1521
msgid "The maximum number of connections per torrent. Set -1 for unlimited."
msgstr "Numero máximo de ligações por torrent. -1 para ilimitadas."
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1543
msgid "<b>Per Torrent Bandwidth Usage</b>"
msgstr "<b>Uso de Largura de Banda Por Torrent</b>"
@ -1655,15 +1650,27 @@ msgstr "Palavra-passe:"
msgid "<b>System Tray</b>"
msgstr "<b>Barra do Sistema</b>"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1795
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1784
msgid ""
"Classic Mode will hide most of the daemon functionality and will make Deluge "
"appear to be a single application. Use this if you do not want to take "
"advantage of running Deluge as a daemon. You need to restart Deluge for this "
"setting to take effect."
msgstr ""
"O Modo Clássico irá esconder a maioria das funcionalidades de serviço e irá "
"fazer com que o Deluge pareça uma única aplicação. Use isto se não quiser "
"tirar partido das vantagens de correr o Deluge como um serviço. Precisa de "
"reiniciar o Deluge para que esta definição tenha efeito."
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1796
msgid "<b>Classic Mode</b>"
msgstr "<b>Modo Clássico</b>"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1847
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1848
msgid "<i><b><big>Other</big></b></i>"
msgstr "<i><b><big>Outro</big></b></i>"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1889
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1890
msgid ""
"Deluge will check our servers and will tell you if a newer version has been "
"released"
@ -1671,15 +1678,15 @@ msgstr ""
"O Deluge irá verificar os nossos servidores e irá dizer-lhe se alguma nova "
"versão foi lançada."
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1890
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1891
msgid "Be alerted about new releases"
msgstr "Ser informado sobre novas versões"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1909
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1910
msgid "<b>Updates</b>"
msgstr "<b>Actualizações</b>"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1945
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1946
msgid ""
"Help us improve Deluge by sending us your Python version, PyGTK version, OS "
"and processor types. Absolutely no other information is sent."
@ -1687,94 +1694,94 @@ msgstr ""
"Ajude-nos melhorar o Deluge enviando-nos a sua versão do Python, PyGTK, SO e "
"tipos de processador. Absolutamente nenhuma outra informação será enviada."
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1964
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1965
msgid "Yes, please send anonymous statistics"
msgstr "Sim, enviar estatísticas anónimas"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1983
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1984
msgid "<b>System Information</b>"
msgstr "<b>Informação do Sistema</b>"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2036
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2037
msgid "<i><b><big>Daemon</big></b></i>"
msgstr "<i><b><big>Serviço</big></b></i>"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2078
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2079
msgid "Daemon port:"
msgstr "Porta do serviço:"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2113
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2114
msgid "<b>Port</b>"
msgstr "<b>Porta</b>"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2156
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2157
msgid "<b>Connections</b>"
msgstr "<b>Ligações</b>"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2188
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2189
msgid "Periodically check the website for new releases"
msgstr "Periodicamente verificar o website por novos lançamentos"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2199
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2200
msgid "<b>Other</b>"
msgstr "<b>Outro</b>"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2252
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2253
msgid "<i><b><big>Queue</big></b></i>"
msgstr "<i><b><big>Espera</big></b></i>"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2308
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2309
#: deluge/ui/gtkui/glade/add_torrent_dialog.glade:810
#: deluge/ui/gtkui/glade/main_window.glade:2005
#: deluge/plugins/blocklist/blocklist/data/blocklist_pref.glade:89
msgid "<b>General</b>"
msgstr "<b>Geral</b>"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2349
msgid "Total active downloading:"
msgstr "Total activos a descarregar:"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2380
msgid "Total active:"
msgstr "Total activo:"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2390
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2383
msgid "Total active seeding:"
msgstr "Total activos a semear:"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2438
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2396
msgid "Total active:"
msgstr "Total activo:"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2425
msgid "Total active downloading:"
msgstr "Total activos a descarregar:"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2439
msgid "Do not count slow torrents"
msgstr "Não contar com torrents lentos"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2454
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2455
msgid "<b>Active Torrents</b>"
msgstr "<b>Torrents Activos</b>"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2543
msgid "Seed Time (m):"
msgstr "Tempo de Semente (m):"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2555
msgid "Seed Time Ratio:"
msgstr "Tempo de Semente de Rácio:"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2567
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2496
msgid "Share Ratio Limit:"
msgstr "Limite de Partilha de Rácio:"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2585
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2506
msgid "Seed Time Ratio:"
msgstr "Tempo de Semente de Rácio:"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2518
msgid "Seed Time (m):"
msgstr "Tempo de Semente (m):"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2586
msgid "Stop seeding when share ratio reaches:"
msgstr "Parar de semear quando o rácio de semente atingir:"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2630
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2631
msgid "Remove torrent when share ratio reached"
msgstr "Remover torrent quando o rácio de semente atingir:"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2648
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2649
msgid "<b>Seeding</b>"
msgstr "<b>A Semear</b>"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2706
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2707
msgid "<i><b><big>Plugins</big></b></i>"
msgstr "<i><b><big>Extensões</big></b></i>"
@ -1827,7 +1834,7 @@ msgstr "<big><b>Editar Trackers</b></big>"
#: deluge/ui/gtkui/glade/edit_trackers.glade:122
msgid "gtk-edit"
msgstr "gtk-editar"
msgstr "gtk-edit"
#: deluge/ui/gtkui/glade/edit_trackers.glade:223
#: deluge/ui/gtkui/glade/add_torrent_dialog.glade:1044
@ -2064,22 +2071,6 @@ msgstr "Sair & Desligar Serviço"
msgid "_Quit"
msgstr "_Sair"
#: deluge/ui/gtkui/glade/file_tab_menu.glade:12
msgid "Select All"
msgstr "Seleccionar Tudo"
#: deluge/ui/gtkui/glade/file_tab_menu.glade:33
msgid "Unselect All"
msgstr "Desseleccionar Todas"
#: deluge/ui/gtkui/glade/file_tab_menu.glade:60
msgid "Check Selected"
msgstr "Marcar Seleccionados"
#: deluge/ui/gtkui/glade/file_tab_menu.glade:81
msgid "Uncheck Selected"
msgstr "Desmarcar Seleccionados"
#: deluge/ui/gtkui/glade/main_window.glade:20
msgid "_File"
msgstr "_Ficheiro"

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@ -7,19 +7,19 @@ msgid ""
msgstr ""
"Project-Id-Version: deluge\n"
"Report-Msgid-Bugs-To: FULL NAME <EMAIL@ADDRESS>\n"
"POT-Creation-Date: 2008-08-31 18:34-0500\n"
"PO-Revision-Date: 2008-09-18 20:03+0000\n"
"POT-Creation-Date: 2008-09-20 21:59-0500\n"
"PO-Revision-Date: 2008-09-21 14:02+0000\n"
"Last-Translator: momou <somberman@hotmail.com>\n"
"Language-Team: Simplified Chinese <zh_CN@li.org>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Launchpad-Export-Date: 2008-09-21 02:24+0000\n"
"X-Launchpad-Export-Date: 2008-10-11 04:24+0000\n"
"X-Generator: Launchpad (build Unknown)\n"
#: deluge/core/torrentmanager.py:667
msgid "Announce OK"
msgstr ""
msgstr "通告正常"
#: deluge/core/torrentmanager.py:688
msgid "Announce Sent"
@ -55,7 +55,7 @@ msgstr "添加"
#: deluge/ui/webui/scripts/template_strings.py:4
msgid "Add Another (Stay in add page)"
msgstr ""
msgstr "添加另一个(留在此页面)"
#: deluge/ui/webui/scripts/template_strings.py:5
msgid "Add Torrent"
@ -98,11 +98,11 @@ msgstr "DHT 节点"
#: deluge/ui/webui/scripts/template_strings.py:14
msgid "Debug:Data Dump"
msgstr ""
msgstr "调试:数据丢弃"
#: deluge/ui/webui/scripts/template_strings.py:15
msgid "Delete .torrent file"
msgstr ""
msgstr "删除.torrent文件"
#: deluge/ui/webui/scripts/template_strings.py:16
msgid "Delete downloaded files."
@ -142,7 +142,7 @@ msgid "ETA"
msgstr "估计剩余时间"
#: deluge/ui/webui/scripts/template_strings.py:24
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1784
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1785
msgid "Enable"
msgstr "启用"
@ -592,7 +592,7 @@ msgid "Port"
msgstr "端口"
#: deluge/ui/webui/config_tabs_deluge.py:139
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2145
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2146
msgid "Allow Remote Connections"
msgstr "允许远程连接"
@ -605,7 +605,7 @@ msgid "-1 = unlimited"
msgstr "-1 = 无限制"
#: deluge/ui/webui/config_tabs_deluge.py:147
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2295
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2296
msgid "Queue new torrents to top"
msgstr "排列新的任务到顶端"
@ -875,7 +875,7 @@ msgstr "此文件夹不存在。"
#: deluge/ui/webui/lib/newforms_plus.py:204 deluge/ui/gtkui/systemtray.py:187
#: deluge/ui/gtkui/systemtray.py:191 deluge/ui/gtkui/systemtray.py:322
#: deluge/ui/gtkui/statusbar.py:359 deluge/ui/gtkui/statusbar.py:387
#: deluge/ui/gtkui/statusbar.py:413 deluge/common.py:174
#: deluge/ui/gtkui/statusbar.py:414 deluge/common.py:174
msgid "Unlimited"
msgstr "无限制"
@ -920,14 +920,6 @@ msgstr "移动"
msgid "Recheck"
msgstr "重新检查"
#: deluge/ui/gtkui/addtorrenturl.py:45
msgid "Add torrent from URL"
msgstr "从URL添加种子"
#: deluge/ui/gtkui/addtorrenturl.py:50
msgid "Enter the URL of the .torrent to download"
msgstr "输入种子的URL以供下载"
#: deluge/ui/gtkui/preferences.py:81
msgid "Plugin"
msgstr "插件"
@ -1035,7 +1027,7 @@ msgid "KiB/s"
msgstr "KiB/s"
#: deluge/ui/gtkui/systemtray.py:325 deluge/ui/gtkui/statusbar.py:361
#: deluge/ui/gtkui/statusbar.py:389 deluge/ui/gtkui/statusbar.py:415
#: deluge/ui/gtkui/statusbar.py:389 deluge/ui/gtkui/statusbar.py:416
#: deluge/common.py:231 deluge/common.py:232
msgid "Other..."
msgstr "其他"
@ -1121,7 +1113,7 @@ msgstr "下载速度(KiB/s):"
msgid "Upload Speed (KiB/s):"
msgstr "上传速度(KiB/s):"
#: deluge/ui/gtkui/statusbar.py:417
#: deluge/ui/gtkui/statusbar.py:418
msgid "Connection Limit:"
msgstr "连接极限:"
@ -1532,53 +1524,53 @@ msgstr "page 7"
msgid "<b><i><big>Bandwidth</big></i></b>"
msgstr "<b><i><big>带宽</big></i></b>"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1172
msgid "The maximum upload slots for all torrents. Set -1 for unlimited."
msgstr "全局最大上传通道。-1为无限制。"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1204
msgid "Maximum Connection Attempts per Second:"
msgstr "每秒最大尝试连接数:"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1191
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1261
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1285
msgid "The maximum upload speed for all torrents. Set -1 for unlimited."
msgstr "全局最大上传速度。-1为无限制。"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1211
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1229
msgid "The maximum download speed for all torrents. Set -1 for unlimited."
msgstr "全局最大下载速度。-1为无限制。"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1231
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1468
msgid "Maximum Download Speed (KiB/s):"
msgstr "最大下载速度(KiB/s):"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1243
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1274
msgid "The maximum number of connections allowed. Set -1 for unlimited."
msgstr "全局最大连接数。-1为无限制。"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1263
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1481
msgid "Maximum Upload Slots:"
msgstr "最大上传通道:"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1276
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1494
msgid "Maximum Connections:"
msgstr "最大连接数:"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1287
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1455
msgid "Maximum Upload Speed (KiB/s):"
msgstr "最大上传速度(KiB/s):"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1299
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1216
msgid "Maximum Half-Open Connections:"
msgstr "最大半开连接数:"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1311
msgid "Maximum Connection Attempts per Second:"
msgstr "每秒最大尝试连接数:"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1227
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1251
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1317
msgid "The maximum upload speed for all torrents. Set -1 for unlimited."
msgstr "全局最大上传速度。-1为无限制。"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1229
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1491
msgid "Maximum Upload Speed (KiB/s):"
msgstr "最大上传速度(KiB/s):"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1240
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1265
msgid "The maximum number of connections allowed. Set -1 for unlimited."
msgstr "全局最大连接数。-1为无限制。"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1242
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1454
msgid "Maximum Connections:"
msgstr "最大连接数:"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1253
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1465
msgid "Maximum Upload Slots:"
msgstr "最大上传通道:"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1283
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1298
msgid "The maximum download speed for all torrents. Set -1 for unlimited."
msgstr "全局最大下载速度。-1为无限制。"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1285
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1478
msgid "Maximum Download Speed (KiB/s):"
msgstr "最大下载速度(KiB/s):"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1336
msgid "The maximum upload slots for all torrents. Set -1 for unlimited."
msgstr "全局最大上传通道。-1为无限制。"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1361
msgid "Ignore limits on local network"
@ -1589,15 +1581,15 @@ msgid "<b>Global Bandwidth Usage</b>"
msgstr "<b>全局带宽使用情况</b>"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1418
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1436
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1504
msgid "The maximum number of connections per torrent. Set -1 for unlimited."
msgstr "每个种子的最大连接数。-1为无限制。"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1520
msgid "The maximum upload slots per torrent. Set -1 for unlimited."
msgstr "每个种子的最大上传通道。-1为无限制。"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1437
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1503
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1521
msgid "The maximum number of connections per torrent. Set -1 for unlimited."
msgstr "每个种子的最大连接数。-1为无限制。"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1543
msgid "<b>Per Torrent Bandwidth Usage</b>"
msgstr "<b>每个种子的带宽使用情况</b>"
@ -1634,122 +1626,132 @@ msgstr "密码:"
msgid "<b>System Tray</b>"
msgstr "<b>系统托盘</b>"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1795
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1784
msgid ""
"Classic Mode will hide most of the daemon functionality and will make Deluge "
"appear to be a single application. Use this if you do not want to take "
"advantage of running Deluge as a daemon. You need to restart Deluge for this "
"setting to take effect."
msgstr ""
"标准模式将隐藏大多数的后台功能并使Deluge变成单一程序。使用这个功能如果您不想运行Deluge作为后台进程。您需要重启Deluge来应用所作的更改"
"。"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1796
msgid "<b>Classic Mode</b>"
msgstr "<b>经典模式</b>"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1847
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1848
msgid "<i><b><big>Other</big></b></i>"
msgstr "<i><b><big>其他</big></b></i>"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1889
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1890
msgid ""
"Deluge will check our servers and will tell you if a newer version has been "
"released"
msgstr "Deluge会检查服务器并在有新版本发布时通知你"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1890
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1891
msgid "Be alerted about new releases"
msgstr "自动报告新版本"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1909
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1910
msgid "<b>Updates</b>"
msgstr "<b>升级</b>"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1945
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1946
msgid ""
"Help us improve Deluge by sending us your Python version, PyGTK version, OS "
"and processor types. Absolutely no other information is sent."
msgstr "发送你的Python和PyGTK版本及系统和处理器类型来帮助我们改进Deluge。绝对不会发送其他信息。"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1964
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1965
msgid "Yes, please send anonymous statistics"
msgstr "是的,请发送匿名统计"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1983
#: deluge/ui/gtkui/glade/preferences_dialog.glade:1984
msgid "<b>System Information</b>"
msgstr "<b>系统信息</b>"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2036
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2037
msgid "<i><b><big>Daemon</big></b></i>"
msgstr "<i><b><big>后台</big></b></i>"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2078
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2079
msgid "Daemon port:"
msgstr "后台端口"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2113
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2114
msgid "<b>Port</b>"
msgstr "<b>端口</b>"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2156
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2157
msgid "<b>Connections</b>"
msgstr "连接"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2188
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2189
msgid "Periodically check the website for new releases"
msgstr "定期检查更新"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2199
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2200
msgid "<b>Other</b>"
msgstr "<b>其他</b>"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2252
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2253
msgid "<i><b><big>Queue</big></b></i>"
msgstr "<i><b><big>队列</big></b></i>"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2308
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2309
#: deluge/ui/gtkui/glade/add_torrent_dialog.glade:810
#: deluge/ui/gtkui/glade/main_window.glade:2005
#: deluge/plugins/blocklist/blocklist/data/blocklist_pref.glade:89
msgid "<b>General</b>"
msgstr "<b>常规</b>"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2349
msgid "Total active downloading:"
msgstr "所有正在下载的:"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2380
msgid "Total active:"
msgstr "所有活动的:"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2390
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2383
msgid "Total active seeding:"
msgstr "所有正在做种的:"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2438
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2396
msgid "Total active:"
msgstr "所有活动的:"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2425
msgid "Total active downloading:"
msgstr "所有正在下载的:"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2439
msgid "Do not count slow torrents"
msgstr "不考虑速度慢的任务"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2454
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2455
msgid "<b>Active Torrents</b>"
msgstr "<b>活跃任务</b>"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2543
msgid "Seed Time (m):"
msgstr "做种时间m"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2555
msgid "Seed Time Ratio:"
msgstr "做种时间比率:"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2567
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2496
msgid "Share Ratio Limit:"
msgstr "限制共享率:"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2585
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2506
msgid "Seed Time Ratio:"
msgstr "做种时间比率:"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2518
msgid "Seed Time (m):"
msgstr "做种时间m"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2586
msgid "Stop seeding when share ratio reaches:"
msgstr "停止做种当共享率达到:"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2630
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2631
msgid "Remove torrent when share ratio reached"
msgstr "删除种子当共享率达到:"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2648
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2649
msgid "<b>Seeding</b>"
msgstr "<b>做种</b>"
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2706
#: deluge/ui/gtkui/glade/preferences_dialog.glade:2707
msgid "<i><b><big>Plugins</big></b></i>"
msgstr "<i><b><big>插件</big></b></i>"
@ -2038,22 +2040,6 @@ msgstr "退出并关闭后台"
msgid "_Quit"
msgstr "退出 (_Q)"
#: deluge/ui/gtkui/glade/file_tab_menu.glade:12
msgid "Select All"
msgstr "全选"
#: deluge/ui/gtkui/glade/file_tab_menu.glade:33
msgid "Unselect All"
msgstr "全不选"
#: deluge/ui/gtkui/glade/file_tab_menu.glade:60
msgid "Check Selected"
msgstr "检查已选"
#: deluge/ui/gtkui/glade/file_tab_menu.glade:81
msgid "Uncheck Selected"
msgstr "不检查已选"
#: deluge/ui/gtkui/glade/main_window.glade:20
msgid "_File"
msgstr "文件 (_F)"

View File

@ -113,7 +113,7 @@ class PGZip(TextBase):
def next(self):
try:
ret = self.reader.next()
if ret == False:
if not ret:
# This bit is repeated below and could be moved into a
# new procedure. However I'm not clear on how this
# would effect tail recursion, so it remains

View File

@ -179,7 +179,10 @@ class AddTorrentDialog(component.Component):
break
def add_from_files(self, filenames):
import deluge.libtorrent as lt
try:
import libtorrent as lt
except ImportError:
import deluge.libtorrent as lt
import os.path
new_row = None
@ -393,7 +396,7 @@ class AddTorrentDialog(component.Component):
files_list = []
for file_dict in self.files[torrent_id]:
if file_dict["download"] == False:
if not file_dict["download"]:
files_list.append(0)
else:
files_list.append(1)

View File

@ -1306,6 +1306,7 @@ Disabled</property>
</child>
<child>
<widget class="GtkLabel" id="label58">
<property name="visible">True</property>
<property name="xalign">0</property>
<property name="label" translatable="yes">Maximum Connection Attempts per Second:</property>
</widget>
@ -1333,6 +1334,7 @@ Disabled</property>
</child>
<child>
<widget class="GtkSpinButton" id="spin_max_connections_per_second">
<property name="visible">True</property>
<property name="can_focus">True</property>
<property name="xalign">1</property>
<property name="adjustment">-1 -1 9999 1 10 10</property>

View File

@ -143,13 +143,13 @@ class MainWindow(component.Component):
h = self.config["window_height"]
self.window.move(x, y)
self.window.resize(w, h)
if self.config["window_maximized"] == True:
if self.config["window_maximized"]:
self.window.maximize()
self.vpaned.set_position(
self.config["window_height"] - self.config["window_pane_position"])
def on_window_configure_event(self, widget, event):
if self.config["window_maximized"] == False and self.visible:
if not self.config["window_maximized"] and self.visible:
self.config.set("window_x_pos", self.window.get_position()[0])
self.config.set("window_y_pos", self.window.get_position()[1])
self.config.set("window_width", event.width)

View File

@ -60,8 +60,8 @@ class SignalReceiver(ThreadingMixIn, SimpleXMLRPCServer.SimpleXMLRPCServer):
def start_server(self, port=None):
# Setup the xmlrpc server
host = "localhost"
if self.remote == True:
host = "127.0.0.1"
if self.remote:
host = ""
server_ready = False

View File

@ -1,12 +1,14 @@
$def with (filter_items)
<div id="organize_block">
<div id="organize_state">
<div class="title">$_('Keyword')</div>
<form method="GET" id="category_form">
<input type="hidden" name="sort" value="$get('sort')">
<input type="hidden" name="order" value="$get('order')">
<input type="hidden" name="filter_cat" value="keyword">
<div id="organize_block">
<div id="organize_state">
<div class="title">$_('Keyword')</div>
<input type="text" name="filter_value" id="filter_value"
$if get('filter_cat') == "keyword":
value="$get('filter_value')"

View File

@ -77,7 +77,6 @@ void bind_torrent_info()
.def(init<entry const&>())
.def(init<sha1_hash const&>())
.def(init<char const*, int>())
.def(init<char const*>())
.def("add_tracker", &torrent_info::add_tracker, (arg("url"), arg("tier")=0))
.def("add_url_seed", &torrent_info::add_url_seed)

View File

@ -114,9 +114,10 @@ namespace libtorrent
virtual char const* what() const { return "file renamed"; }
virtual std::string message() const
{
return torrent_alert::message() + ": file "
+ boost::lexical_cast<std::string>(index) + " renamed to "
+ name;
std::stringstream ret;
ret << torrent_alert::message() << ": file "
<< index << " renamed to " << name;
return ret.str();
}
std::string name;
@ -139,9 +140,10 @@ namespace libtorrent
virtual char const* what() const { return "file rename failed"; }
virtual std::string message() const
{
return torrent_alert::message() + ": failed to rename file "
+ boost::lexical_cast<std::string>(index) + ": "
+ msg;
std::stringstream ret;
ret << torrent_alert::message() << ": failed to rename file "
<< index << ": " << msg;
return ret.str();
}
const static int static_category = alert::storage_notification;
@ -236,10 +238,10 @@ namespace libtorrent
virtual char const* what() const { return "tracker error"; }
virtual std::string message() const
{
return tracker_alert::message() + " ("
+ boost::lexical_cast<std::string>(status_code)
+ ") " + msg + " (" + boost::lexical_cast<std::string>(times_in_row)
+ ")";
std::stringstream ret;
ret << tracker_alert::message() << " (" << status_code << ") "
<< msg << " (" << times_in_row << ")";
return ret.str();
}
int times_in_row;
@ -288,9 +290,10 @@ namespace libtorrent
virtual char const* what() const { return "tracker scrape reply"; }
virtual std::string message() const
{
return tracker_alert::message() + " scrape reply: "
+ boost::lexical_cast<std::string>(incomplete) + " "
+ boost::lexical_cast<std::string>(complete);
std::stringstream ret;
ret << tracker_alert::message() << " scrape reply: " << incomplete
<< " " << complete;
return ret.str();
}
};
@ -332,8 +335,10 @@ namespace libtorrent
virtual char const* what() const { return "tracker reply"; }
virtual std::string message() const
{
return tracker_alert::message() + " received peers: "
+ boost::lexical_cast<std::string>(num_peers);
std::stringstream ret;
ret << tracker_alert::message() << " received peers: "
<< num_peers;
return ret.str();
}
};
@ -352,8 +357,10 @@ namespace libtorrent
virtual char const* what() const { return "DHT reply"; }
virtual std::string message() const
{
return torrent_alert::message() + " received DHT peers: "
+ boost::lexical_cast<std::string>(num_peers);
std::stringstream ret;
ret << torrent_alert::message() << " received DHT peers: "
<< num_peers;
return ret.str();
}
};
@ -393,8 +400,10 @@ namespace libtorrent
virtual int category() const { return static_category; }
virtual std::string message() const
{
return torrent_alert::message() + " hash for piece "
+ boost::lexical_cast<std::string>(piece_index) + " failed";
std::stringstream ret;
ret << torrent_alert::message() << " hash for piece "
<< piece_index << " failed";
return ret.str();
}
int piece_index;
@ -523,10 +532,11 @@ namespace libtorrent
virtual char const* what() const { return "invalid piece request"; }
virtual std::string message() const
{
return peer_alert::message() + " peer sent an invalid piece request "
"( piece: " + boost::lexical_cast<std::string>(request.piece)
+ " start: " + boost::lexical_cast<std::string>(request.start)
+ " len: " + boost::lexical_cast<std::string>(request.length) + ")";
std::stringstream ret;
ret << peer_alert::message() << " peer sent an invalid piece request "
"( piece: " << request.piece << " start: " << request.start
<< " len: " << request.length << ")";
return ret.str();
}
peer_request request;
@ -568,8 +578,10 @@ namespace libtorrent
virtual int category() const { return static_category; }
virtual std::string message() const
{
return torrent_alert::message() + " piece "
+ boost::lexical_cast<std::string>(piece_index) + " finished downloading";
std::stringstream ret;
ret << torrent_alert::message() << " piece " << piece_index
<< " finished downloading";
return ret.str();
}
};
@ -593,9 +605,10 @@ namespace libtorrent
virtual int category() const { return static_category; }
virtual std::string message() const
{
return peer_alert::message() + " peer dropped block ( piece: "
+ boost::lexical_cast<std::string>(piece_index) + " block: "
+ boost::lexical_cast<std::string>(block_index) + ")";
std::stringstream ret;
ret << peer_alert::message() << " peer dropped block ( piece: "
<< piece_index << " block: " << block_index << ")";
return ret.str();
}
};
@ -619,9 +632,10 @@ namespace libtorrent
virtual int category() const { return static_category; }
virtual std::string message() const
{
return peer_alert::message() + " peer timed out request ( piece: "
+ boost::lexical_cast<std::string>(piece_index) + " block: "
+ boost::lexical_cast<std::string>(block_index) + ")";
std::stringstream ret;
ret << peer_alert::message() << " peer timed out request ( piece: "
<< piece_index << " block: " << block_index << ")";
return ret.str();
}
};
@ -644,9 +658,10 @@ namespace libtorrent
virtual int category() const { return static_category; }
virtual std::string message() const
{
return peer_alert::message() + " block finished downloading ( piece: "
+ boost::lexical_cast<std::string>(piece_index) + " block: "
+ boost::lexical_cast<std::string>(block_index) + ")";
std::stringstream ret;
ret << peer_alert::message() << " block finished downloading ( piece: "
<< piece_index << " block: " << block_index << ")";
return ret.str();
}
};
@ -671,10 +686,10 @@ namespace libtorrent
virtual int category() const { return static_category; }
virtual std::string message() const
{
return peer_alert::message() + " requested block ( piece: "
+ boost::lexical_cast<std::string>(piece_index) + " block: "
+ boost::lexical_cast<std::string>(block_index) + ") "
+ peer_speedmsg;
std::stringstream ret;
ret << peer_alert::message() << " requested block ( piece: "
<< piece_index << " block: " << block_index << ") " << peer_speedmsg;
return ret.str();
}
};
@ -695,9 +710,10 @@ namespace libtorrent
virtual char const* what() const { return "unwanted block received"; }
virtual std::string message() const
{
return peer_alert::message() + " received block not in download queue ( piece: "
+ boost::lexical_cast<std::string>(piece_index) + " block: "
+ boost::lexical_cast<std::string>(block_index) + ")";
std::stringstream ret;
ret << peer_alert::message() << " received block not in download queue ( piece: "
<< piece_index << " block: " << block_index << ")";
return ret.str();
}
};
@ -1009,8 +1025,10 @@ namespace libtorrent
virtual std::string message() const
{
error_code ec;
return "listening on " + boost::lexical_cast<std::string>(endpoint)
+ " failed: " + error.message();
std::stringstream ret;
ret << "listening on " << endpoint
<< " failed: " << error.message();
return ret.str();
}
};
@ -1030,7 +1048,9 @@ namespace libtorrent
virtual std::string message() const
{
error_code ec;
return "successfully listening on " + boost::lexical_cast<std::string>(endpoint);
std::stringstream ret;
ret << "successfully listening on " << endpoint;
return ret.str();
}
};
@ -1076,8 +1096,10 @@ namespace libtorrent
virtual std::string message() const
{
static char const* type_str[] = {"NAT-PMP", "UPnP"};
return std::string("successfully mapped port using ") + type_str[type]
+ ". external port: " + boost::lexical_cast<std::string>(external_port);
std::stringstream ret;
ret << "successfully mapped port using " << type_str[type]
<< ". external port: " << external_port;
return ret.str();
}
};

View File

@ -87,6 +87,14 @@ namespace libtorrent
size_type counter() const { return m_counter; }
void clear()
{
std::memset(m_rate_history, 0, sizeof(m_rate_history));
m_counter = 0;
m_total_counter = 0;
m_rate_sum = 0;
}
private:
#ifndef NDEBUG
@ -218,6 +226,12 @@ namespace libtorrent
size_type last_payload_uploaded() const
{ return m_stat[upload_payload].counter(); }
void clear()
{
for (int i = 0; i < num_channels; ++i)
m_stat[i].clear();
}
private:
// these are the channels we keep stats for

View File

@ -200,6 +200,9 @@ private:
std::vector<mapping_t> mapping;
// this is the hostname, port and path
// component of the url or the control_url
// if it has been found
std::string hostname;
int port;
std::string path;

View File

@ -169,15 +169,13 @@ namespace libtorrent
for (std::vector<ip_interface>::const_iterator i = interfaces.begin()
, end(interfaces.end()); i != end; ++i)
{
// only broadcast to IPv4 addresses that are not local
if (is_local(i->interface_address)) continue;
// only multicast on compatible networks
if (i->interface_address.is_v4() != multicast_endpoint.address().is_v4()) continue;
// ignore any loopback interface
if (is_loopback(i->interface_address)) continue;
#ifndef NDEBUG
// std::cerr << "broadcast socket [ if: " << i->to_v4().to_string()
// std::cerr << "broadcast socket [ if: " << i->interface_address.to_v4().to_string()
// << " group: " << multicast_endpoint.address() << " ]" << std::endl;
#endif
open_unicast_socket(ios, i->interface_address);

View File

@ -282,9 +282,12 @@ namespace libtorrent
TORRENT_ASSERT(p);
peer_connection const& rhs = *p;
size_type c1;
size_type c2;
// first compare how many bytes they've sent us
size_type c1 = m_statistics.total_payload_download() - m_downloaded_at_last_unchoke;
size_type c2 = rhs.m_statistics.total_payload_download() - rhs.m_downloaded_at_last_unchoke;
c1 = m_statistics.total_payload_download() - m_downloaded_at_last_unchoke;
c2 = rhs.m_statistics.total_payload_download() - rhs.m_downloaded_at_last_unchoke;
if (c1 > c2) return true;
if (c1 < c2) return false;
@ -294,6 +297,16 @@ namespace libtorrent
if (rhs.m_peer_info) c2 = rhs.m_peer_info->total_upload();
else c2 = rhs.m_statistics.total_payload_upload();
// in order to not switch back and forth too often,
// unchoked peers must be at least one piece ahead
// of a choked peer to be sorted at a lower unchoke-priority
boost::shared_ptr<torrent> t1 = m_torrent.lock();
TORRENT_ASSERT(t1);
boost::shared_ptr<torrent> t2 = rhs.associated_torrent().lock();
TORRENT_ASSERT(t2);
if (!is_choked()) c1 -= (std::max)(t1->torrent_file().piece_length(), 256 * 1024);
if (!rhs.is_choked()) c2 -= (std::max)(t2->torrent_file().piece_length(), 256 * 1024);
return c1 < c2;
}
@ -778,8 +791,6 @@ namespace libtorrent
// and if it can correspond to a request generated by libtorrent.
bool peer_connection::verify_piece(const peer_request& p) const
{
INVARIANT_CHECK;
boost::shared_ptr<torrent> t = m_torrent.lock();
TORRENT_ASSERT(t);
@ -1147,6 +1158,18 @@ namespace libtorrent
boost::shared_ptr<torrent> t = m_torrent.lock();
TORRENT_ASSERT(t);
if (!is_choked())
{
if (m_peer_info && m_peer_info->optimistically_unchoked)
{
m_peer_info->optimistically_unchoked = false;
m_ses.m_optimistic_unchoke_time_scaler = 0;
}
t->choke_peer(*this);
--m_ses.m_num_unchoked;
m_ses.m_unchoke_time_scaler = 0;
}
t->get_policy().not_interested(*this);
}
@ -1616,7 +1639,7 @@ namespace libtorrent
#ifndef NDEBUG
check_postcondition post_checker_(t);
#if !defined TORRENT_DISABLE_INVARIANT_CHECKS
#if !defined TORRENT_DISABLE_INVARIANT_CHECKS && defined TORRENT_EXPENSIVE_INVARIANT_CHECKS
t->check_invariant();
#endif
#endif
@ -1791,7 +1814,8 @@ namespace libtorrent
TORRENT_ASSERT(picker.num_peers(block_finished) == 0);
#if !defined NDEBUG && !defined TORRENT_DISABLE_INVARIANT_CHECKS
#if !defined NDEBUG && !defined TORRENT_DISABLE_INVARIANT_CHECKS \
&& defined TORRENT_EXPENSIVE_INVARIANT_CHECKS
t->check_invariant();
#endif
request_a_block(*t, *this);
@ -3064,7 +3088,9 @@ namespace libtorrent
void peer_connection::fill_send_buffer()
{
#ifdef TORRENT_EXPENSIVE_INVARIANT_CHECKS
INVARIANT_CHECK;
#endif
boost::shared_ptr<torrent> t = m_torrent.lock();
if (!t) return;
@ -3997,7 +4023,9 @@ namespace libtorrent
void peer_connection::keep_alive()
{
#ifdef TORRENT_EXPENSIVE_INVARIANT_CHECKS
INVARIANT_CHECK;
#endif
time_duration d;
d = time_now() - m_last_sent;

View File

@ -122,7 +122,9 @@ namespace libtorrent
void piece_picker::piece_info(int index, piece_picker::downloading_piece& st) const
{
#ifdef TORRENT_EXPENSIVE_INVARIANT_CHECKS
TORRENT_PIECE_PICKER_INVARIANT_CHECK;
#endif
TORRENT_ASSERT(index >= 0);
TORRENT_ASSERT(index < int(m_piece_map.size()));
@ -994,10 +996,6 @@ namespace libtorrent
#ifdef TORRENT_PICKER_LOG
print_pieces();
#endif
#ifndef NDEBUG
check_invariant();
#endif
}
void piece_picker::we_dont_have(int index)
@ -1131,7 +1129,7 @@ namespace libtorrent
if (new_piece_priority == int(p.piece_priority)) return false;
int prev_priority = p.priority(this);
TORRENT_ASSERT(m_dirty | prev_priority < int(m_priority_boundries.size()));
TORRENT_ASSERT(m_dirty || prev_priority < int(m_priority_boundries.size()));
bool ret = false;
if (new_piece_priority == piece_pos::filter_priority
@ -1312,7 +1310,9 @@ namespace libtorrent
// only one of rarest_first and sequential can be set.
TORRENT_ASSERT(bool(options & rarest_first)
+ bool(options & sequential) <= 1);
#ifdef TORRENT_EXPENSIVE_INVARIANT_CHECKS
TORRENT_PIECE_PICKER_INVARIANT_CHECK;
#endif
TORRENT_ASSERT(num_blocks > 0);
TORRENT_ASSERT(pieces.size() == m_piece_map.size());
@ -2173,7 +2173,9 @@ namespace libtorrent
// a peer disconnects. The piece might be in any state
void piece_picker::abort_download(piece_block block)
{
#ifdef TORRENT_EXPENSIVE_INVARIANT_CHECKS
TORRENT_PIECE_PICKER_INVARIANT_CHECK;
#endif
TORRENT_ASSERT(block.piece_index >= 0);
TORRENT_ASSERT(block.block_index >= 0);

View File

@ -338,8 +338,7 @@ namespace libtorrent
piece_picker* p = 0;
if (m_torrent->has_picker())
p = &m_torrent->picker();
for (iterator i = m_peers.begin()
, end(m_peers.end()); i != end;)
for (iterator i = m_peers.begin(); i != m_peers.end();)
{
if ((ses.m_ip_filter.access(i->second.addr) & ip_filter::blocked) == 0)
{
@ -931,16 +930,6 @@ namespace libtorrent
c.add_free_upload(-diff);
}
}
/*
if (!c.is_choked())
{
c.send_choke();
--m_num_unchoked;
if (m_torrent->is_seed()) seed_unchoke_one_peer();
else unchoke_one_peer();
}
*/
}
/*
bool policy::unchoke_one_peer()

View File

@ -1353,19 +1353,23 @@ namespace aux {
> bind(&torrent::seed_rank, _2, boost::ref(m_settings)));
}
int total_running = 0;
for (std::vector<torrent*>::iterator i = downloaders.begin()
, end(downloaders.end()); i != end; ++i)
{
torrent* t = *i;
if (!t->is_paused() && !is_active(t, settings()) && hard_limit > 0)
if (!t->is_paused() && !is_active(t, settings())
&& hard_limit > 0 && total_running < m_max_uploads)
{
--hard_limit;
++total_running;
continue;
}
if (num_downloaders > 0 && hard_limit > 0)
{
--hard_limit;
++total_running;
if (t->state() != torrent_status::queued_for_checking
&& t->state() != torrent_status::checking_files)
{
@ -1383,9 +1387,11 @@ namespace aux {
, end(seeds.end()); i != end; ++i)
{
torrent* t = *i;
if (!t->is_paused() && !is_active(t, settings()) && hard_limit > 0)
if (!t->is_paused() && !is_active(t, settings())
&& hard_limit > 0 && total_running < m_max_uploads)
{
--hard_limit;
++total_running;
continue;
}
@ -1393,6 +1399,7 @@ namespace aux {
{
--hard_limit;
--num_seeds;
++total_running;
if (t->is_paused()) t->resume();
}
else
@ -1410,6 +1417,7 @@ namespace aux {
, end(m_connections.end()); i != end; ++i)
{
peer_connection* p = i->get();
TORRENT_ASSERT(p);
torrent* t = p->associated_torrent().lock().get();
if (!p->peer_info_struct()
|| t == 0
@ -1455,7 +1463,8 @@ namespace aux {
// limit
if (m_stat.upload_rate() < upload_limit * 0.9f
&& m_allowed_upload_slots <= m_num_unchoked + 1
&& congested_torrents < uncongested_torrents)
&& congested_torrents < uncongested_torrents
&& m_upload_channel.queue_size() < 2)
{
++m_allowed_upload_slots;
}
@ -1494,6 +1503,8 @@ namespace aux {
if (p->peer_info_struct()->optimistically_unchoked)
{
// force a new optimistic unchoke
// since this one just got promoted into the
// proper unchoke set
m_optimistic_unchoke_time_scaler = 0;
p->peer_info_struct()->optimistically_unchoked = false;
}

View File

@ -396,8 +396,11 @@ namespace libtorrent
+ " bytes";
return false;
}
if ((compact_mode && time != s->second)
|| (!compact_mode && time < s->second))
// allow one second 'slack', because of FAT volumes
// in sparse mode, allow the files to be more recent
// than the resume data, but only by 5 minutes
if ((compact_mode && (time > s->second + 1 || time < s->second - 1)) ||
(!compact_mode && (time > s->second + 5 * 60) || time < s->second - 1))
{
if (error) *error = "timestamp mismatch for file '"
+ i->path.native_file_string()
@ -523,7 +526,8 @@ namespace libtorrent
// the directory exists.
if (file_iter->size == 0)
{
file(m_save_path / file_iter->path, file::out, ec);
boost::shared_ptr<file> f = m_pool.open_file(this
, m_save_path / file_iter->path, file::in | file::out, ec);
if (ec)
{
set_error(m_save_path / file_iter->path, ec);

View File

@ -2069,7 +2069,15 @@ namespace libtorrent
}
if (!p->is_choked())
{
--m_num_uploads;
m_ses.m_unchoke_time_scaler = 0;
}
if (p->peer_info_struct() && p->peer_info_struct()->optimistically_unchoked)
{
m_ses.m_optimistic_unchoke_time_scaler = 0;
}
m_policy.connection_closed(*p);
p->set_peer_info(0);
@ -4034,6 +4042,7 @@ namespace libtorrent
{
// tell the tracker that we're back
m_start_sent = false;
m_stat.clear();
announce_with_tracker();
}

View File

@ -309,6 +309,13 @@ namespace libtorrent
int ret = load_file(filename, buf);
if (ret < 0) return;
if (buf.empty())
#ifndef BOOST_NO_EXCEPTIONS
throw invalid_torrent_file();
#else
return;
#endif
lazy_entry e;
lazy_bdecode(&buf[0], &buf[0] + buf.size(), e);
std::string error;

View File

@ -141,7 +141,7 @@ void upnp::discover_device_impl()
}
++m_retry_count;
m_broadcast_timer.expires_from_now(milliseconds(250 * m_retry_count), ec);
m_broadcast_timer.expires_from_now(seconds(2 * m_retry_count), ec);
m_broadcast_timer.async_wait(bind(&upnp::resend_request
, self(), _1));
@ -240,7 +240,7 @@ void upnp::resend_request(error_code const& e)
mutex_t::scoped_lock l(m_mutex);
if (m_retry_count < 9
if (m_retry_count < 12
&& (m_devices.empty() || m_retry_count < 4))
{
discover_device_impl();
@ -251,7 +251,7 @@ void upnp::resend_request(error_code const& e)
{
#ifdef TORRENT_UPNP_LOGGING
m_log << time_now_string()
<< " *** Got no response in 9 retries. Giving up, "
<< " *** Got no response in 12 retries. Giving up, "
"disabling UPnP." << std::endl;
#endif
disable("no UPnP router found");
@ -560,7 +560,7 @@ void upnp::post(upnp::rootdevice const& d, std::string const& soap
std::stringstream header;
header << "POST " << d.control_url << " HTTP/1.1\r\n"
header << "POST " << d.path << " HTTP/1.0\r\n"
"Host: " << d.hostname << ":" << d.port << "\r\n"
"Content-Type: text/xml; charset=\"utf-8\"\r\n"
"Content-Length: " << soap.size() << "\r\n"
@ -876,6 +876,22 @@ void upnp::on_upnp_xml(error_code const& e
d.control_url = s.control_url;
std::string protocol;
std::string auth;
char const* error;
boost::tie(protocol, auth, d.hostname, d.port, d.path, error)
= parse_url_components(d.control_url);
if (error)
{
#ifdef TORRENT_UPNP_LOGGING
m_log << time_now_string()
<< " *** Failed to parse URL '" << d.control_url << "': " << error << std::endl;
#endif
d.disabled = true;
return;
}
if (num_mappings() > 0) update_map(d, 0);
}

View File

@ -125,8 +125,8 @@ if windows_check():
'boost_system-vc71-mt-1_35',
'boost_thread-vc71-mt-1_35',
'gdi32',
'libeay32',
'ssleay32',
'libeay32MT',
'ssleay32MT',
'ws2_32',
'wsock32',
'zlib'
@ -165,14 +165,19 @@ for source in _sources:
_sources.remove(source)
break
libtorrent = Extension(
'libtorrent',
extra_compile_args = _extra_compile_args,
include_dirs = _include_dirs,
libraries = _libraries,
library_dirs = _library_dirs,
sources = _sources
)
_ext_modules = []
if not os.path.exists(os.path.join(sysconfig.get_config_var("LIBDIR"), "libtorrent-rasterbar.so.1")):
# There isn't a system libtorrent library, so let's build the one included with deluge
libtorrent = Extension(
'libtorrent',
extra_compile_args = _extra_compile_args,
include_dirs = _include_dirs,
libraries = _libraries,
library_dirs = _library_dirs,
sources = _sources
)
_ext_modules = [libtorrent]
class build_trans(cmd.Command):
description = 'Compile .po files into .mo files'
@ -308,5 +313,5 @@ setup(
]},
packages = find_packages(exclude=["plugins"]),
url = "http://deluge-torrent.org",
version = "1.0.1",
version = "1.0.3",
)