mirror of
https://github.com/codex-storage/deluge.git
synced 2025-01-14 05:26:28 +00:00
Autopep8 E265
This commit is contained in:
parent
2f68092740
commit
142e96b246
@ -245,7 +245,7 @@ def open_url_in_browser(url):
|
||||
import webbrowser
|
||||
webbrowser.open(url)
|
||||
|
||||
## Formatting text functions
|
||||
# Formatting text functions
|
||||
|
||||
# For performance reasons these fsize units are translated outside the function
|
||||
byte_txt = "Bytes"
|
||||
@ -617,7 +617,7 @@ def is_ip(ip):
|
||||
|
||||
"""
|
||||
import socket
|
||||
#first we test ipv4
|
||||
# first we test ipv4
|
||||
try:
|
||||
if windows_check():
|
||||
if socket.inet_aton(ip):
|
||||
@ -628,7 +628,7 @@ def is_ip(ip):
|
||||
except socket.error:
|
||||
if not socket.has_ipv6:
|
||||
return False
|
||||
#now test ipv6
|
||||
# now test ipv6
|
||||
try:
|
||||
if windows_check():
|
||||
log.warning("ipv6 check unavailable on windows")
|
||||
|
@ -771,7 +771,7 @@ class Core(component.Component):
|
||||
torrents = ((self.torrentmanager.get_queue_position(torrent_id), torrent_id) for torrent_id in torrent_ids)
|
||||
torrent_moved = True
|
||||
prev_queue_position = None
|
||||
#torrent_ids must be sorted before moving.
|
||||
# torrent_ids must be sorted before moving.
|
||||
for queue_position, torrent_id in sorted(torrents):
|
||||
# Move the torrent if and only if there is space (by not moving it we preserve the order)
|
||||
if torrent_moved or queue_position - prev_queue_position > 1:
|
||||
@ -791,7 +791,7 @@ class Core(component.Component):
|
||||
torrents = ((self.torrentmanager.get_queue_position(torrent_id), torrent_id) for torrent_id in torrent_ids)
|
||||
torrent_moved = True
|
||||
prev_queue_position = None
|
||||
#torrent_ids must be sorted before moving.
|
||||
# torrent_ids must be sorted before moving.
|
||||
for queue_position, torrent_id in sorted(torrents, reverse=True):
|
||||
# Move the torrent if and only if there is space (by not moving it we preserve the order)
|
||||
if torrent_moved or prev_queue_position - queue_position > 1:
|
||||
|
@ -1043,7 +1043,7 @@ class Torrent(object):
|
||||
# If the torrent has already reached it's 'stop_seed_ratio' then do not do anything
|
||||
if self.options["stop_at_ratio"]:
|
||||
if self.get_ratio() >= self.options["stop_ratio"]:
|
||||
#XXX: This should just be returned in the RPC Response, no event
|
||||
# XXX: This should just be returned in the RPC Response, no event
|
||||
return
|
||||
|
||||
if self.options["auto_managed"]:
|
||||
|
@ -97,7 +97,7 @@ def make_meta_file(path, url, piece_length, progress=None, title=None, comment=N
|
||||
|
||||
info = makeinfo(path, piece_length, progress, name, content_type, private)
|
||||
|
||||
#check_info(info)
|
||||
# check_info(info)
|
||||
h = file(f, 'wb')
|
||||
|
||||
data['info'] = info
|
||||
|
@ -81,7 +81,7 @@ def check_input(cond, message):
|
||||
class Core(CorePluginBase):
|
||||
def enable(self):
|
||||
|
||||
#reduce typing, assigning some values to self...
|
||||
# reduce typing, assigning some values to self...
|
||||
self.config = deluge.configmanager.ConfigManager("autoadd.conf", DEFAULT_PREFS)
|
||||
self.config.run_converter((0, 1), 2, self.__migrate_config_1_to_2)
|
||||
self.config.save()
|
||||
@ -104,7 +104,7 @@ class Core(CorePluginBase):
|
||||
self.enable_watchdir(watchdir_id)
|
||||
|
||||
def disable(self):
|
||||
#disable all running looping calls
|
||||
# disable all running looping calls
|
||||
component.get("EventManager").deregister_event_handler(
|
||||
"PreTorrentRemovedEvent", self.__on_pre_torrent_removed
|
||||
)
|
||||
@ -135,12 +135,12 @@ class Core(CorePluginBase):
|
||||
if key not in OPTIONS_AVAILABLE:
|
||||
if key not in [key2 + "_toggle" for key2 in OPTIONS_AVAILABLE.iterkeys()]:
|
||||
raise Exception("autoadd: Invalid options key:%s" % key)
|
||||
#disable the watch loop if it was active
|
||||
# disable the watch loop if it was active
|
||||
if watchdir_id in self.update_timers:
|
||||
self.disable_watchdir(watchdir_id)
|
||||
|
||||
self.watchdirs[watchdir_id].update(options)
|
||||
#re-enable watch loop if appropriate
|
||||
# re-enable watch loop if appropriate
|
||||
if self.watchdirs[watchdir_id]["enabled"]:
|
||||
self.enable_watchdir(watchdir_id)
|
||||
self.config.save()
|
||||
|
@ -57,12 +57,12 @@ class OptionsDialog():
|
||||
self.dialog.set_transient_for(component.get("Preferences").pref_dialog)
|
||||
|
||||
if watchdir_id:
|
||||
#We have an existing watchdir_id, we are editing
|
||||
# We have an existing watchdir_id, we are editing
|
||||
self.glade.get_widget('opts_add_button').hide()
|
||||
self.glade.get_widget('opts_apply_button').show()
|
||||
self.watchdir_id = watchdir_id
|
||||
else:
|
||||
#We don't have an id, adding
|
||||
# We don't have an id, adding
|
||||
self.glade.get_widget('opts_add_button').show()
|
||||
self.glade.get_widget('opts_apply_button').hide()
|
||||
self.watchdir_id = None
|
||||
@ -439,7 +439,7 @@ class GtkUI(GtkPluginBase):
|
||||
pass
|
||||
|
||||
def on_add_button_clicked(self, event=None):
|
||||
#display options_window
|
||||
# display options_window
|
||||
self.opts_dialog.show()
|
||||
|
||||
def on_remove_button_clicked(self, event=None):
|
||||
|
@ -37,8 +37,8 @@ if windows_check():
|
||||
'C:\\Program Files (x86)\\7-Zip\\7z.exe',
|
||||
]
|
||||
switch_7z = "x -y"
|
||||
## Future suport:
|
||||
## 7-zip cannot extract tar.* with single command.
|
||||
# Future suport:
|
||||
# 7-zip cannot extract tar.* with single command.
|
||||
# ".tar.gz", ".tgz",
|
||||
# ".tar.bz2", ".tbz",
|
||||
# ".tar.lzma", ".tlz",
|
||||
@ -53,9 +53,9 @@ if windows_check():
|
||||
break
|
||||
else:
|
||||
required_cmds = ["unrar", "unzip", "tar", "unxz", "unlzma", "7zr", "bunzip2"]
|
||||
## Possible future suport:
|
||||
# Possible future suport:
|
||||
# gunzip: gz (cmd will delete original archive)
|
||||
## the following do not extract to dest dir
|
||||
# the following do not extract to dest dir
|
||||
# ".xz": ["xz", "-d --keep"],
|
||||
# ".lzma": ["xz", "-d --format=lzma --keep"],
|
||||
# ".bz2": ["bzip2", "-d --keep"],
|
||||
|
@ -82,7 +82,7 @@ class Core(CorePluginBase):
|
||||
self.config = ConfigManager("label.conf", defaults=CONFIG_DEFAULTS)
|
||||
self.core_cfg = ConfigManager("core.conf")
|
||||
|
||||
#reduce typing, assigning some values to self...
|
||||
# reduce typing, assigning some values to self...
|
||||
self.torrents = core.torrentmanager.torrents
|
||||
self.labels = self.config["labels"]
|
||||
self.torrent_labels = self.config["torrent_labels"]
|
||||
@ -92,7 +92,7 @@ class Core(CorePluginBase):
|
||||
component.get("EventManager").register_event_handler("TorrentAddedEvent", self.post_torrent_add)
|
||||
component.get("EventManager").register_event_handler("TorrentRemovedEvent", self.post_torrent_remove)
|
||||
|
||||
#register tree:
|
||||
# register tree:
|
||||
component.get("FilterManager").register_tree_field("label", self.init_filter_dict)
|
||||
|
||||
log.debug("Label plugin enabled..")
|
||||
@ -161,7 +161,7 @@ class Core(CorePluginBase):
|
||||
def get_labels(self):
|
||||
return sorted(self.labels.keys())
|
||||
|
||||
#Labels:
|
||||
# Labels:
|
||||
@export
|
||||
def add(self, label_id):
|
||||
"""add a label
|
||||
@ -265,12 +265,12 @@ class Core(CorePluginBase):
|
||||
|
||||
self.labels[label_id].update(options_dict)
|
||||
|
||||
#apply
|
||||
# apply
|
||||
for torrent_id, label in self.torrent_labels.iteritems():
|
||||
if label_id == label and torrent_id in self.torrents:
|
||||
self._set_torrent_options(torrent_id, label_id)
|
||||
|
||||
#auto add
|
||||
# auto add
|
||||
options = self.labels[label_id]
|
||||
if options["auto_add"]:
|
||||
for torrent_id, torrent in self.torrents.iteritems():
|
||||
|
@ -52,23 +52,23 @@ class GtkUI(GtkPluginBase):
|
||||
log.debug(ex)
|
||||
|
||||
def load_interface(self):
|
||||
#sidebar
|
||||
#disabled
|
||||
# sidebar
|
||||
# disabled
|
||||
if not self.sidebar_menu:
|
||||
self.sidebar_menu = sidebar_menu.LabelSidebarMenu()
|
||||
#self.sidebar.load()
|
||||
# self.sidebar.load()
|
||||
|
||||
#menu:
|
||||
# menu:
|
||||
log.debug("add items to torrentview-popup menu.")
|
||||
torrentmenu = component.get("MenuBar").torrentmenu
|
||||
self.label_menu = submenu.LabelMenu()
|
||||
torrentmenu.append(self.label_menu)
|
||||
self.label_menu.show_all()
|
||||
|
||||
#columns:
|
||||
# columns:
|
||||
self.load_columns()
|
||||
|
||||
#config:
|
||||
# config:
|
||||
if not self.labelcfg:
|
||||
self.labelcfg = label_config.LabelConfig(self.plugin)
|
||||
self.labelcfg.load()
|
||||
|
@ -59,5 +59,5 @@ class LabelConfig(object):
|
||||
|
||||
def on_apply_prefs(self):
|
||||
options = {}
|
||||
#update options dict here.
|
||||
# update options dict here.
|
||||
client.label.set_config(options)
|
||||
|
@ -21,7 +21,7 @@ log = logging.getLogger(__name__)
|
||||
NO_LABEL = "No Label"
|
||||
|
||||
|
||||
#helpers:
|
||||
# helpers:
|
||||
def get_resource(filename):
|
||||
import pkg_resources
|
||||
import os
|
||||
@ -30,7 +30,7 @@ def get_resource(filename):
|
||||
)
|
||||
|
||||
|
||||
#menu
|
||||
# menu
|
||||
class LabelSidebarMenu(object):
|
||||
def __init__(self):
|
||||
|
||||
@ -38,7 +38,7 @@ class LabelSidebarMenu(object):
|
||||
self.menu = self.treeview.menu
|
||||
self.items = []
|
||||
|
||||
#add items, in reverse order, because they are prepended.
|
||||
# add items, in reverse order, because they are prepended.
|
||||
sep = gtk.SeparatorMenuItem()
|
||||
self.items.append(sep)
|
||||
self.menu.prepend(sep)
|
||||
@ -47,10 +47,10 @@ class LabelSidebarMenu(object):
|
||||
self._add_item("add", _("_Add Label"), gtk.STOCK_ADD)
|
||||
|
||||
self.menu.show_all()
|
||||
#dialogs:
|
||||
# dialogs:
|
||||
self.add_dialog = AddDialog()
|
||||
self.options_dialog = OptionsDialog()
|
||||
#hooks:
|
||||
# hooks:
|
||||
self.menu.connect("show", self.on_show, None)
|
||||
|
||||
def _add_item(self, id, label, stock):
|
||||
@ -82,18 +82,18 @@ class LabelSidebarMenu(object):
|
||||
cat = self.treeview.cat
|
||||
label = self.treeview.value
|
||||
if cat == "label" or (cat == "cat" and label == "label"):
|
||||
#is a label : show menu-items
|
||||
# is a label : show menu-items
|
||||
for item in self.items:
|
||||
item.show()
|
||||
#default items
|
||||
# default items
|
||||
sensitive = ((label not in (NO_LABEL, None, "", "All")) and (cat != "cat"))
|
||||
for item in self.items:
|
||||
item.set_sensitive(sensitive)
|
||||
|
||||
#add is allways enabled.
|
||||
# add is allways enabled.
|
||||
self.item_add.set_sensitive(True)
|
||||
else:
|
||||
#not a label -->hide everything.
|
||||
# not a label -->hide everything.
|
||||
for item in self.items:
|
||||
item.hide()
|
||||
|
||||
@ -106,7 +106,7 @@ class LabelSidebarMenu(object):
|
||||
self.items = []
|
||||
|
||||
|
||||
#dialogs:
|
||||
# dialogs:
|
||||
class AddDialog(object):
|
||||
def __init__(self):
|
||||
pass
|
||||
@ -137,7 +137,7 @@ class OptionsDialog(object):
|
||||
chk_ids = ["apply_max", "apply_queue", "stop_at_ratio", "apply_queue", "remove_at_ratio",
|
||||
"apply_move_completed", "move_completed", "is_auto_managed", "auto_add"]
|
||||
|
||||
#list of tuples, because order matters when nesting.
|
||||
# list of tuples, because order matters when nesting.
|
||||
sensitive_groups = [
|
||||
("apply_max", ["max_download_speed", "max_upload_speed", "max_upload_slots", "max_connections"]),
|
||||
("apply_queue", ["is_auto_managed", "stop_at_ratio"]),
|
||||
|
@ -33,7 +33,7 @@ class LabelMenu(gtk.MenuItem):
|
||||
self.set_submenu(self.sub_menu)
|
||||
self.items = []
|
||||
|
||||
#attach..
|
||||
# attach..
|
||||
component.get("MenuBar").torrentmenu
|
||||
self.sub_menu.connect("show", self.on_show, None)
|
||||
|
||||
|
@ -18,12 +18,12 @@ sclient.set_core_uri()
|
||||
|
||||
print(sclient.get_enabled_plugins())
|
||||
|
||||
#enable plugin.
|
||||
# enable plugin.
|
||||
if not "label" in sclient.get_enabled_plugins():
|
||||
sclient.enable_plugin("label")
|
||||
|
||||
|
||||
#test labels.
|
||||
# test labels.
|
||||
print("#init labels")
|
||||
try:
|
||||
sclient.label_remove("test")
|
||||
|
@ -56,7 +56,7 @@ class SchedulerSelectWidget(gtk.DrawingArea):
|
||||
self.button_state.append(list(s))
|
||||
log.debug(self.button_state)
|
||||
|
||||
#redraw the whole thing
|
||||
# redraw the whole thing
|
||||
def expose(self, widget, event):
|
||||
self.context = self.window.cairo_create()
|
||||
self.context.rectangle(event.area.x, event.area.y, event.area.width, event.area.height)
|
||||
@ -76,7 +76,7 @@ class SchedulerSelectWidget(gtk.DrawingArea):
|
||||
self.context.set_source_rgba(0.5, 0.5, 0.5, 0.5)
|
||||
self.context.stroke()
|
||||
|
||||
#coordinates --> which box
|
||||
# coordinates --> which box
|
||||
def get_point(self, event):
|
||||
size = self.window.get_size()
|
||||
x = int((event.x - size[0] * 0.5 / 145.0) / (6 * size[0] / 145.0))
|
||||
@ -93,17 +93,17 @@ class SchedulerSelectWidget(gtk.DrawingArea):
|
||||
|
||||
return [x, y]
|
||||
|
||||
#mouse down
|
||||
# mouse down
|
||||
def mouse_down(self, widget, event):
|
||||
self.mouse_press = True
|
||||
self.start_point = self.get_point(event)
|
||||
|
||||
#if the same box -> change it
|
||||
# if the same box -> change it
|
||||
def mouse_up(self, widget, event):
|
||||
self.mouse_press = False
|
||||
end_point = self.get_point(event)
|
||||
|
||||
#change color on mouseclick depending on the button
|
||||
# change color on mouseclick depending on the button
|
||||
if end_point[0] is self.start_point[0] and end_point[1] is self.start_point[1]:
|
||||
if event.button == 1:
|
||||
self.button_state[end_point[0]][end_point[1]] += 1
|
||||
@ -115,8 +115,8 @@ class SchedulerSelectWidget(gtk.DrawingArea):
|
||||
self.button_state[end_point[0]][end_point[1]] = 2
|
||||
self.queue_draw()
|
||||
|
||||
#if box changed and mouse is pressed draw all boxes from start point to end point
|
||||
#set hover text etc..
|
||||
# if box changed and mouse is pressed draw all boxes from start point to end point
|
||||
# set hover text etc..
|
||||
def mouse_hover(self, widget, event):
|
||||
if self.get_point(event) != self.hover_point:
|
||||
self.hover_point = self.get_point(event)
|
||||
@ -133,7 +133,7 @@ class SchedulerSelectWidget(gtk.DrawingArea):
|
||||
|
||||
self.queue_draw()
|
||||
|
||||
#clear hover text on mouse leave
|
||||
# clear hover text on mouse leave
|
||||
def mouse_leave(self, widget, event):
|
||||
self.hover_label.set_text("")
|
||||
self.hover_point = [-1, -1]
|
||||
@ -199,9 +199,9 @@ class GtkUI(GtkPluginBase):
|
||||
def on_status_item_clicked(self, widget, event):
|
||||
component.get("Preferences").show("Scheduler")
|
||||
|
||||
#Configuration dialog
|
||||
# Configuration dialog
|
||||
def create_prefs_page(self):
|
||||
#Select Widget
|
||||
# Select Widget
|
||||
hover = gtk.Label()
|
||||
self.scheduler_select = SchedulerSelectWidget(hover)
|
||||
|
||||
|
@ -113,11 +113,11 @@ class Core(CorePluginBase):
|
||||
|
||||
def update_stats(self):
|
||||
try:
|
||||
#Get all possible stats!
|
||||
# Get all possible stats!
|
||||
stats = {}
|
||||
for key in self.stats_keys:
|
||||
#try all keys we have, very inefficient but saves having to
|
||||
#work out where a key comes from...
|
||||
# try all keys we have, very inefficient but saves having to
|
||||
# work out where a key comes from...
|
||||
try:
|
||||
stats.update(self.core.get_session_status([key]))
|
||||
except AttributeError:
|
||||
@ -134,8 +134,8 @@ class Core(CorePluginBase):
|
||||
update_time = time.time()
|
||||
self.last_update[1] = update_time
|
||||
|
||||
#extract the ones we are interested in
|
||||
#adding them to the 1s array
|
||||
# extract the ones we are interested in
|
||||
# adding them to the 1s array
|
||||
for stat, stat_list in self.stats[1].iteritems():
|
||||
if stat in stats:
|
||||
stat_list.insert(0, int(stats[stat]))
|
||||
|
@ -121,7 +121,7 @@ class Graph:
|
||||
ratio = (right - left) / float(duration)
|
||||
|
||||
if duration < 1800 * 10:
|
||||
#try rounding to nearest 1min, 5mins, 10mins, 30mins
|
||||
# try rounding to nearest 1min, 5mins, 10mins, 30mins
|
||||
for step in [60, 300, 600, 1800]:
|
||||
if duration / step < 10:
|
||||
x_step = step
|
||||
@ -130,7 +130,7 @@ class Graph:
|
||||
# if there wasnt anything useful find a nice fitting hourly divisor
|
||||
x_step = ((duration / 5) / 3600) * 3600
|
||||
|
||||
#this doesnt allow for dst and timezones...
|
||||
# this doesnt allow for dst and timezones...
|
||||
seconds_to_step = math.ceil(start / float(x_step)) * x_step - start
|
||||
|
||||
for i in xrange(0, duration / x_step + 1):
|
||||
@ -146,7 +146,7 @@ class Graph:
|
||||
font_extents = self.ctx.font_extents()
|
||||
x_axis_space = font_extents[2] + 2 + self.line_size / 2.0
|
||||
plot_height = self.height - x_axis_space
|
||||
#lets say we need 2n-1*font height pixels to plot the y ticks
|
||||
# lets say we need 2n-1*font height pixels to plot the y ticks
|
||||
tick_limit = (plot_height / font_extents[3]) # / 2.0
|
||||
|
||||
max_value = 0
|
||||
@ -163,7 +163,7 @@ class Graph:
|
||||
|
||||
y_ticks = self.intervalise(max_value, tick_limit)
|
||||
max_value = y_ticks[-1]
|
||||
#find the width of the y_ticks
|
||||
# find the width of the y_ticks
|
||||
y_tick_text = [self.left_axis['formatter'](tick) for tick in y_ticks]
|
||||
|
||||
def space_required(text):
|
||||
@ -182,8 +182,8 @@ class Graph:
|
||||
"""Given a value x create an array of tick points to got with the graph
|
||||
The number of ticks returned can be constrained by limit, minimum of 3
|
||||
"""
|
||||
#Limit is the number of ticks which is 1 + the number of steps as we
|
||||
#count the 0 tick in limit
|
||||
# Limit is the number of ticks which is 1 + the number of steps as we
|
||||
# count the 0 tick in limit
|
||||
if limit is not None:
|
||||
if limit < 3:
|
||||
limit = 2
|
||||
@ -194,7 +194,7 @@ class Graph:
|
||||
scale = self.left_axis['formatter_scale'](x)
|
||||
x = x / float(scale)
|
||||
|
||||
#Find the largest power of 10 less than x
|
||||
# Find the largest power of 10 less than x
|
||||
log = math.log10(x)
|
||||
intbit = math.floor(log)
|
||||
|
||||
|
@ -122,7 +122,7 @@ class GraphsTab(Tab):
|
||||
self.graph.draw_to_context(context,
|
||||
self.graph_widget.allocation.width,
|
||||
self.graph_widget.allocation.height)
|
||||
#Do not propagate the event
|
||||
# Do not propagate the event
|
||||
return False
|
||||
|
||||
def update(self):
|
||||
@ -188,7 +188,7 @@ class GraphsTab(Tab):
|
||||
current = intervals.index(self.selected_interval)
|
||||
except:
|
||||
current = 0
|
||||
#should select the value saved in config
|
||||
# should select the value saved in config
|
||||
self.intervals_combo.set_active(current)
|
||||
|
||||
def _on_selected_interval_changed(self, combobox):
|
||||
|
@ -100,7 +100,7 @@ def test_write():
|
||||
f.write(data)
|
||||
f.close()
|
||||
|
||||
#test_sync()
|
||||
# test_sync()
|
||||
test_async()
|
||||
test_dht()
|
||||
#test_write()
|
||||
# test_write()
|
||||
|
@ -110,7 +110,7 @@ def create_plugin():
|
||||
write_file(data_dir, "config.glade", GLADE)
|
||||
write_file(data_dir, "%s.js" % safe_name, DEFAULT_JS)
|
||||
|
||||
#add an input parameter for this?
|
||||
# add an input parameter for this?
|
||||
print("building dev-link..")
|
||||
write_file(plugin_base, "create_dev_link.sh", CREATE_DEV_LINK)
|
||||
dev_link_path = os.path.join(plugin_base, "create_dev_link.sh")
|
||||
|
@ -9,8 +9,8 @@
|
||||
#
|
||||
|
||||
#
|
||||
#generate docs for deluge-wiki
|
||||
#client doc's For core.
|
||||
# generate docs for deluge-wiki
|
||||
# client doc's For core.
|
||||
#
|
||||
|
||||
from __future__ import print_function
|
||||
|
@ -112,7 +112,7 @@ class TorrentTestCase(unittest.TestCase):
|
||||
# The length of the list of new priorites is the same as the original
|
||||
self.assertEquals(len(priorities_original), len(new_priorites))
|
||||
|
||||
#self.print_priority_list(priorities)
|
||||
# self.print_priority_list(priorities)
|
||||
|
||||
def test_set_prioritize_first_last_pieces_false(self):
|
||||
atp = self.get_torrent_atp("dir_with_6_files.torrent")
|
||||
@ -128,4 +128,4 @@ class TorrentTestCase(unittest.TestCase):
|
||||
for i in priorities:
|
||||
self.assertEquals(priorities[i], 1)
|
||||
|
||||
#self.print_priority_list(priorities)
|
||||
# self.print_priority_list(priorities)
|
||||
|
@ -306,7 +306,7 @@ class DelugeTransferProtocolTestCase(unittest.TestCase):
|
||||
self.assertEquals(rencode.dumps(self.msg2), rencode.dumps(message2))
|
||||
|
||||
# Needs file containing big data structure e.g. like thetorrent list as it is transfered by the daemon
|
||||
#def test_simulate_big_transfer(self):
|
||||
# def test_simulate_big_transfer(self):
|
||||
# filename = "../deluge.torrentlist"
|
||||
#
|
||||
# f = open(filename, "r")
|
||||
@ -314,9 +314,9 @@ class DelugeTransferProtocolTestCase(unittest.TestCase):
|
||||
# message_to_send = eval(data)
|
||||
# self.transfer.transfer_message(message_to_send)
|
||||
#
|
||||
# # Get the data as sent to the network by DelugeTransferProtocol
|
||||
# Get the data as sent to the network by DelugeTransferProtocol
|
||||
# compressed_data = self.transfer.get_messages_out_joined()
|
||||
# packet_size = 16000 # Or something smaller...
|
||||
# packet_size = 16000 # Or something smaller...
|
||||
#
|
||||
# for d in self.receive_parts_helper(compressed_data, packet_size):
|
||||
# bytes_recv = self.transfer.get_bytes_recv()
|
||||
@ -324,16 +324,16 @@ class DelugeTransferProtocolTestCase(unittest.TestCase):
|
||||
# self.assertEquals(len(self.transfer.get_messages_in()), 0)
|
||||
# else:
|
||||
# self.assertEquals(len(self.transfer.get_messages_in()), 1)
|
||||
# # Get the data as received by DelugeTransferProtocol
|
||||
# Get the data as received by DelugeTransferProtocol
|
||||
# transfered_message = self.transfer.get_messages_in().pop(0)
|
||||
# # Test that the data structures are equal
|
||||
# #self.assertEquals(transfered_message, message_to_send)
|
||||
# #self.assertTrue(transfered_message == message_to_send)
|
||||
# Test that the data structures are equal
|
||||
# self.assertEquals(transfered_message, message_to_send)
|
||||
# self.assertTrue(transfered_message == message_to_send)
|
||||
#
|
||||
# #f.close()
|
||||
# #f = open("rencode.torrentlist", "w")
|
||||
# #f.write(str(transfered_message))
|
||||
# #f.close()
|
||||
# f.close()
|
||||
# f = open("rencode.torrentlist", "w")
|
||||
# f.write(str(transfered_message))
|
||||
# f.close()
|
||||
|
||||
def receive_parts_helper(self, data, packet_size, receive_func=None):
|
||||
byte_count = len(data)
|
||||
|
@ -84,7 +84,7 @@ class Win32IcoFile(object):
|
||||
icon_header['color_depth'] = (icon_header['bpp'] or (icon_header['nb_color'] == 16 and 4))
|
||||
icon_header['dim'] = (icon_header['width'], icon_header['height'])
|
||||
self.entry.append(icon_header)
|
||||
#end for (read headers)
|
||||
# end for (read headers)
|
||||
|
||||
# order by size and color depth
|
||||
self.entry.sort(lambda x, y: cmp(x['width'], y['width'])
|
||||
@ -144,7 +144,7 @@ class Win32IcoFile(object):
|
||||
if mode == PIL.BmpImagePlugin.BIT2MODE[k][1]:
|
||||
bpp = k
|
||||
break
|
||||
#end for
|
||||
# end for
|
||||
log.debug("o:%s, w:%s, h:%s, bpp:%s", o, im.size[0], im.size[1], bpp)
|
||||
and_mask_offset = o + (im.size[0] * im.size[1] * (bpp / 8.0))
|
||||
|
||||
@ -199,18 +199,18 @@ class Win32IcoFile(object):
|
||||
im = im.convert('RGBA')
|
||||
im.putalpha(mask)
|
||||
log.debug("image mode: %s", im.mode)
|
||||
#end if !'RGBA'
|
||||
#end if (png)/else(bmp)
|
||||
# end if !'RGBA'
|
||||
# end if (png)/else(bmp)
|
||||
|
||||
return im
|
||||
#end frame
|
||||
# end frame
|
||||
|
||||
def __repr__(self):
|
||||
s = 'Microsoft Icon: %d images (max %dx%d %dbpp)' % (
|
||||
len(self.entry), self.entry[0]['width'], self.entry[0]['height'],
|
||||
self.entry[0]['bpp'])
|
||||
return s
|
||||
#end Win32IcoFile
|
||||
# end Win32IcoFile
|
||||
|
||||
|
||||
class Win32IconImageFile (PIL.ImageFile.ImageFile):
|
||||
@ -242,7 +242,7 @@ class Win32IconImageFile (PIL.ImageFile.ImageFile):
|
||||
self.im = im.im
|
||||
self.mode = im.mode
|
||||
self.size = im.size
|
||||
#end class Win32IconImageFile
|
||||
# end class Win32IconImageFile
|
||||
|
||||
|
||||
def _accept(prefix):
|
||||
@ -250,7 +250,7 @@ def _accept(prefix):
|
||||
Quick file test helper for Image.open()
|
||||
"""
|
||||
return prefix[:4] == _MAGIC
|
||||
#end _accept
|
||||
# end _accept
|
||||
|
||||
|
||||
# register our decoder with PIL
|
||||
|
@ -206,12 +206,12 @@ class Command(BaseCommand):
|
||||
col_filename = unicode(col_filename, "utf-8")
|
||||
|
||||
col_all_info = col_size + col_progress + col_priority
|
||||
#Check how much space we've got left after writing all the info
|
||||
# Check how much space we've got left after writing all the info
|
||||
space_left = cols - tlen(col_all_info)
|
||||
#And how much we will potentially have with the longest possible column
|
||||
# And how much we will potentially have with the longest possible column
|
||||
maxlen_space_left = cols - tlen(" (1000.0 MiB) 100.00% Priority: Do Not Download")
|
||||
if maxlen_space_left > tlen(col_filename) + 1:
|
||||
#If there is enough space, pad it all nicely
|
||||
# If there is enough space, pad it all nicely
|
||||
col_all_info = ""
|
||||
col_all_info += " ("
|
||||
spaces_to_add = tlen(" (1000.0 MiB)") - tlen(col_size)
|
||||
@ -223,13 +223,13 @@ class Command(BaseCommand):
|
||||
spaces_to_add = tlen(" Priority: Do Not Download") - tlen(col_priority)
|
||||
col_all_info += col_priority
|
||||
col_all_info += " " * spaces_to_add
|
||||
#And remember to put it to the left!
|
||||
# And remember to put it to the left!
|
||||
col_filename = format_utils.pad_string(col_filename, maxlen_space_left - 2, side="right")
|
||||
elif space_left > tlen(col_filename) + 1:
|
||||
#If there is enough space, put the info to the right
|
||||
# If there is enough space, put the info to the right
|
||||
col_filename = format_utils.pad_string(col_filename, space_left - 2, side="right")
|
||||
else:
|
||||
#And if there is not, shorten the name
|
||||
# And if there is not, shorten the name
|
||||
col_filename = format_utils.trim_string(col_filename, space_left, True)
|
||||
self.console.write(col_filename + col_all_info)
|
||||
|
||||
@ -348,15 +348,15 @@ class Command(BaseCommand):
|
||||
s += " {!info!}" + ("%.2f%%" % status["progress"]).ljust(7, " ")
|
||||
s += " {!input!}%s" % (status["name"])
|
||||
|
||||
#Shorten the ID if it's necessary. Pretty hacky
|
||||
#I _REALLY_ should make a nice function for it that can partition and shorten stuff
|
||||
# Shorten the ID if it's necessary. Pretty hacky
|
||||
# I _REALLY_ should make a nice function for it that can partition and shorten stuff
|
||||
space_left = cols - strwidth("[s] 100.00% " + status["name"] + " " * 3) - 2
|
||||
|
||||
if space_left >= len(torrent_id) - 2:
|
||||
#There's enough space, print it
|
||||
# There's enough space, print it
|
||||
s += " {!cyan!}%s" % torrent_id
|
||||
else:
|
||||
#Shorten the ID
|
||||
# Shorten the ID
|
||||
a = int(space_left * 2 / 3.0)
|
||||
b = space_left - a
|
||||
if a < 8:
|
||||
@ -366,10 +366,10 @@ class Command(BaseCommand):
|
||||
a += b
|
||||
b = 0
|
||||
if a > 8:
|
||||
#Print the shortened ID
|
||||
# Print the shortened ID
|
||||
s += " {!cyan!}%s" % (torrent_id[0:a] + ".." + torrent_id[-b - 1:-1])
|
||||
else:
|
||||
#It has wrapped over to the second row anyway
|
||||
# It has wrapped over to the second row anyway
|
||||
s += " {!cyan!}%s" % torrent_id
|
||||
self.console.write(s)
|
||||
|
||||
|
@ -54,7 +54,7 @@ class Command(BaseCommand):
|
||||
# This is a correct path, check to see if it's a directory
|
||||
if os.path.isdir(line):
|
||||
# Directory, so we need to show contents of directory
|
||||
#ret.extend(os.listdir(line))
|
||||
# ret.extend(os.listdir(line))
|
||||
for f in os.listdir(line):
|
||||
# Skip hidden
|
||||
if f.startswith("."):
|
||||
|
@ -49,7 +49,7 @@ class EventLog(component.Component):
|
||||
self.write("{!green!}Torrent Added: {!info!}%s ({!cyan!}%s{!info!})" % (
|
||||
status["name"], torrent_id)
|
||||
)
|
||||
#Write out what state the added torrent took
|
||||
# Write out what state the added torrent took
|
||||
self.on_torrent_state_changed_event(torrent_id, status["state"])
|
||||
|
||||
client.core.get_torrent_status(torrent_id, ["name", "state"]).addCallback(on_torrent_status)
|
||||
@ -59,7 +59,7 @@ class EventLog(component.Component):
|
||||
(self.console.get_torrent_name(torrent_id), torrent_id))
|
||||
|
||||
def on_torrent_state_changed_event(self, torrent_id, state):
|
||||
#It's probably a new torrent, ignore it
|
||||
# It's probably a new torrent, ignore it
|
||||
if not state:
|
||||
return
|
||||
# Modify the state string color
|
||||
@ -68,7 +68,7 @@ class EventLog(component.Component):
|
||||
|
||||
t_name = self.console.get_torrent_name(torrent_id)
|
||||
|
||||
#Again, it's most likely a new torrent
|
||||
# Again, it's most likely a new torrent
|
||||
if not t_name:
|
||||
return
|
||||
|
||||
|
@ -143,7 +143,7 @@ class AddTorrents(BaseMode, component.Component):
|
||||
self.raw_rows.append(row)
|
||||
self.raw_rows_dirs.append(row)
|
||||
|
||||
#Highlight the directory we came from
|
||||
# Highlight the directory we came from
|
||||
if self.path_stack_pos < len(self.path_stack):
|
||||
selected = self.path_stack[self.path_stack_pos]
|
||||
ld = sorted(self.listing_dirs, key=lambda n: n.lower())
|
||||
@ -204,7 +204,7 @@ class AddTorrents(BaseMode, component.Component):
|
||||
widths = [self.cols - 35, 12, 23]
|
||||
self.formatted_rows.append(format_utils.format_row(cols, widths))
|
||||
else:
|
||||
#Size of .torrent file itself couldn't matter less so we'll leave it out
|
||||
# Size of .torrent file itself couldn't matter less so we'll leave it out
|
||||
try:
|
||||
filename = filename.decode("utf8")
|
||||
except:
|
||||
@ -236,7 +236,7 @@ class AddTorrents(BaseMode, component.Component):
|
||||
def on_resize(self, *args):
|
||||
BaseMode.on_resize_norefresh(self, *args)
|
||||
|
||||
#Always refresh Legacy(it will also refresh AllTorrents), otherwise it will bug deluge out
|
||||
# Always refresh Legacy(it will also refresh AllTorrents), otherwise it will bug deluge out
|
||||
legacy = component.get("LegacyUI")
|
||||
legacy.on_resize(*args)
|
||||
|
||||
@ -253,7 +253,7 @@ class AddTorrents(BaseMode, component.Component):
|
||||
self.stdscr.erase()
|
||||
self.add_string(0, self.statusbars.topbar)
|
||||
|
||||
#This will quite likely fail when switching modes
|
||||
# This will quite likely fail when switching modes
|
||||
try:
|
||||
rf = format_utils.remove_formatting
|
||||
string = self.statusbars.bottombar
|
||||
@ -267,7 +267,7 @@ class AddTorrents(BaseMode, component.Component):
|
||||
|
||||
off = 1
|
||||
|
||||
#Render breadcrumbs
|
||||
# Render breadcrumbs
|
||||
s = "Location: "
|
||||
for i, e in enumerate(self.path_stack):
|
||||
if e == "/":
|
||||
@ -287,7 +287,7 @@ class AddTorrents(BaseMode, component.Component):
|
||||
self.add_string(off, s)
|
||||
off += 1
|
||||
|
||||
#Render header
|
||||
# Render header
|
||||
cols = ["Name", "Contents", "Modification time"]
|
||||
widths = [self.cols - 35, 12, 23]
|
||||
s = ""
|
||||
@ -309,10 +309,10 @@ class AddTorrents(BaseMode, component.Component):
|
||||
self.add_string(off, s)
|
||||
off += 1
|
||||
|
||||
#Render files and folders
|
||||
# Render files and folders
|
||||
for i, row in enumerate(self.formatted_rows[self.view_offset:]):
|
||||
i += self.view_offset
|
||||
#It's a folder
|
||||
# It's a folder
|
||||
color_string = ""
|
||||
if self.raw_rows[i][4]:
|
||||
if self.raw_rows[i][1] == -1:
|
||||
@ -369,7 +369,7 @@ class AddTorrents(BaseMode, component.Component):
|
||||
self._show_add_dialog()
|
||||
|
||||
def _enter_dir(self):
|
||||
#Enter currently selected directory
|
||||
# Enter currently selected directory
|
||||
dirname = self.raw_rows[self.cursel][0]
|
||||
new_dir = self.path_stack_pos >= len(self.path_stack)
|
||||
new_dir = new_dir or (dirname != self.path_stack[self.path_stack_pos])
|
||||
@ -457,7 +457,7 @@ class AddTorrents(BaseMode, component.Component):
|
||||
self.popup.add_select_input("Add Paused:", "add_paused", ["Yes", "No"], [True, False], ap)
|
||||
|
||||
def _go_up(self):
|
||||
#Go up in directory hierarchy
|
||||
# Go up in directory hierarchy
|
||||
if self.path_stack_pos > 1:
|
||||
self.path_stack_pos -= 1
|
||||
|
||||
@ -495,14 +495,14 @@ class AddTorrents(BaseMode, component.Component):
|
||||
if c == curses.KEY_UP:
|
||||
self.scroll_list_up(1)
|
||||
elif c == curses.KEY_PPAGE:
|
||||
#self.scroll_list_up(self._listing_space-2)
|
||||
# self.scroll_list_up(self._listing_space-2)
|
||||
self.scroll_list_up(self.rows // 2)
|
||||
elif c == curses.KEY_HOME:
|
||||
self.scroll_list_up(len(self.formatted_rows))
|
||||
elif c == curses.KEY_DOWN:
|
||||
self.scroll_list_down(1)
|
||||
elif c == curses.KEY_NPAGE:
|
||||
#self.scroll_list_down(self._listing_space-2)
|
||||
# self.scroll_list_down(self._listing_space-2)
|
||||
self.scroll_list_down(self.rows // 2)
|
||||
elif c == curses.KEY_END:
|
||||
self.scroll_list_down(len(self.formatted_rows))
|
||||
@ -514,7 +514,7 @@ class AddTorrents(BaseMode, component.Component):
|
||||
# Enter Key
|
||||
elif c == curses.KEY_ENTER or c == 10:
|
||||
self._perform_action()
|
||||
#Escape
|
||||
# Escape
|
||||
elif c == 27:
|
||||
self.back_to_overview()
|
||||
else:
|
||||
|
@ -411,7 +411,7 @@ class AllTorrents(BaseMode, component.Component):
|
||||
ccol = column
|
||||
width = self.column_widths[i]
|
||||
|
||||
#Trim the column if it's too long to fit
|
||||
# Trim the column if it's too long to fit
|
||||
if len(ccol) > width:
|
||||
ccol = ccol[:width - 1]
|
||||
|
||||
@ -538,7 +538,7 @@ class AllTorrents(BaseMode, component.Component):
|
||||
|
||||
result = state
|
||||
|
||||
#Sort first by secondary sort field and then primary sort field
|
||||
# Sort first by secondary sort field and then primary sort field
|
||||
# so it all works out
|
||||
|
||||
cmp_func = self._queue_sort
|
||||
@ -551,7 +551,7 @@ class AllTorrents(BaseMode, component.Component):
|
||||
|
||||
reverse = field in reverse_sort_fields
|
||||
|
||||
#Get first element so we can check if it has given field
|
||||
# Get first element so we can check if it has given field
|
||||
# and if it's a string
|
||||
first_element = state[state.keys()[0]]
|
||||
if field in first_element:
|
||||
@ -560,7 +560,7 @@ class AllTorrents(BaseMode, component.Component):
|
||||
sort_key = lambda s: sg(s)[field]
|
||||
sort_key2 = lambda s: sg(s)[field].lower()
|
||||
|
||||
#If it's a string, sort case-insensitively but preserve A>a order
|
||||
# If it's a string, sort case-insensitively but preserve A>a order
|
||||
if is_string:
|
||||
result = sorted(result, cmp_func, sort_key, reverse)
|
||||
result = sorted(result, cmp_func, sort_key2, reverse)
|
||||
@ -572,7 +572,7 @@ class AllTorrents(BaseMode, component.Component):
|
||||
|
||||
return result
|
||||
|
||||
#Just in case primary and secondary fields are empty and/or
|
||||
# Just in case primary and secondary fields are empty and/or
|
||||
# both are too ambiguous, also sort by queue position first
|
||||
if "queue" not in [s_secondary, s_primary]:
|
||||
result = sort_by_field(state, result, "queue")
|
||||
@ -809,9 +809,9 @@ class AllTorrents(BaseMode, component.Component):
|
||||
self.refresh()
|
||||
|
||||
def refresh(self, lines=None):
|
||||
#log.error("ref")
|
||||
# log.error("ref")
|
||||
#import traceback
|
||||
#traceback.print_stack()
|
||||
# traceback.print_stack()
|
||||
# Something has requested we scroll to the top of the list
|
||||
if self._go_top:
|
||||
self.cursel = 1
|
||||
@ -847,7 +847,7 @@ class AllTorrents(BaseMode, component.Component):
|
||||
|
||||
self.add_string(self.rows - 1, string)
|
||||
else:
|
||||
#This will quite likely fail when switching modes
|
||||
# This will quite likely fail when switching modes
|
||||
try:
|
||||
rf = format_utils.remove_formatting
|
||||
string = self.statusbars.bottombar
|
||||
@ -867,7 +867,7 @@ class AllTorrents(BaseMode, component.Component):
|
||||
tidx = self.curoff
|
||||
currow = 2
|
||||
|
||||
#Because dots are slow
|
||||
# Because dots are slow
|
||||
sorted_ids = self._sorted_ids
|
||||
curstate = self.curstate
|
||||
gcv = deluge.ui.console.modes.column.get_column_value
|
||||
@ -956,7 +956,7 @@ class AllTorrents(BaseMode, component.Component):
|
||||
try:
|
||||
self.add_string(currow, "%s%s" % (colorstr, row[0]), trim=False)
|
||||
except:
|
||||
#Yeah, this should be fixed in some better way
|
||||
# Yeah, this should be fixed in some better way
|
||||
pass
|
||||
tidx += 1
|
||||
currow += 1
|
||||
@ -965,7 +965,7 @@ class AllTorrents(BaseMode, component.Component):
|
||||
else:
|
||||
self.add_string(1, "Waiting for torrents from core...")
|
||||
|
||||
#self.stdscr.redrawwin()
|
||||
# self.stdscr.redrawwin()
|
||||
if self.entering_search:
|
||||
curses.curs_set(2)
|
||||
self.stdscr.move(self.rows - 1, len(self.search_string) + 17)
|
||||
|
@ -36,7 +36,7 @@ class EventView(BaseMode):
|
||||
|
||||
self.add_string(0, self.statusbars.topbar)
|
||||
hstr = "%sPress [h] for help" % (" " * (self.cols - len(self.statusbars.bottombar) - 10))
|
||||
#This will quite likely fail when switching modes
|
||||
# This will quite likely fail when switching modes
|
||||
try:
|
||||
rf = format_utils.remove_formatting
|
||||
string = self.statusbars.bottombar
|
||||
@ -74,7 +74,7 @@ class EventView(BaseMode):
|
||||
def on_resize(self, *args):
|
||||
BaseMode.on_resize_norefresh(self, *args)
|
||||
|
||||
#Always refresh Legacy(it will also refresh AllTorrents), otherwise it will bug deluge out
|
||||
# Always refresh Legacy(it will also refresh AllTorrents), otherwise it will bug deluge out
|
||||
legacy = component.get("LegacyUI")
|
||||
legacy.on_resize(*args)
|
||||
self.stdscr.erase()
|
||||
|
@ -104,7 +104,7 @@ def trim_string(string, w, have_dbls):
|
||||
|
||||
def format_column(col, lim):
|
||||
dbls = 0
|
||||
#Chosen over isinstance(col, unicode) and col.__class__ == unicode
|
||||
# Chosen over isinstance(col, unicode) and col.__class__ == unicode
|
||||
# for speed - it's ~3 times faster for non-unicode strings and ~1.5
|
||||
# for unicode strings.
|
||||
if col.__class__ is unicode:
|
||||
@ -199,7 +199,7 @@ def wrap_string(string, width, min_lines=0, strip_colors=True):
|
||||
for i in range(len(ret), min_lines):
|
||||
ret.append(" ")
|
||||
|
||||
#Carry colors over to the next line
|
||||
# Carry colors over to the next line
|
||||
last_color_string = ""
|
||||
for i, line in enumerate(ret):
|
||||
if i != 0:
|
||||
|
@ -744,7 +744,7 @@ class TextInput(InputField):
|
||||
# This is a correct path, check to see if it's a directory
|
||||
if os.path.isdir(line):
|
||||
# Directory, so we need to show contents of directory
|
||||
#ret.extend(os.listdir(line))
|
||||
# ret.extend(os.listdir(line))
|
||||
for f in os.listdir(line):
|
||||
# Skip hidden
|
||||
if f.startswith("."):
|
||||
@ -786,7 +786,7 @@ class InputPopup(Popup):
|
||||
self.additional_formatting = additional_formatting
|
||||
self.immediate_action = immediate_action
|
||||
|
||||
#We need to replicate some things in order to wrap our inputs
|
||||
# We need to replicate some things in order to wrap our inputs
|
||||
self.encoding = parent_mode.encoding
|
||||
|
||||
def move(self, r, c):
|
||||
@ -833,7 +833,7 @@ class InputPopup(Popup):
|
||||
self.inputs.append(CheckedInput(self, message, name, checked,
|
||||
additional_formatting=self.additional_formatting))
|
||||
|
||||
#def add_checked_plus_input(self, message, name, child)
|
||||
# def add_checked_plus_input(self, message, name, child)
|
||||
|
||||
def add_float_spin_input(self, message, name, value=0.0, inc_amt=1.0, precision=1, min_val=None, max_val=None):
|
||||
i = FloatSpinInput(self, message, name, self.move, value, inc_amt, precision, min_val, max_val,
|
||||
|
@ -127,7 +127,7 @@ class Legacy(BaseMode, component.Component):
|
||||
|
||||
self.console_config = component.get("AllTorrents").config
|
||||
|
||||
#To avoid having to truncate the file every time we're writing
|
||||
# To avoid having to truncate the file every time we're writing
|
||||
# or doing it on exit(and therefore relying on an error-less
|
||||
# or in other words clean exit, we're going to have two files
|
||||
# that we swap around based on length
|
||||
@ -153,7 +153,7 @@ class Legacy(BaseMode, component.Component):
|
||||
lines2 = []
|
||||
self._hf_lines[1] = 0
|
||||
|
||||
#The non-full file is the active one
|
||||
# The non-full file is the active one
|
||||
if self._hf_lines[0] > self._hf_lines[1]:
|
||||
self.lines = lines1 + lines2
|
||||
else:
|
||||
@ -162,10 +162,10 @@ class Legacy(BaseMode, component.Component):
|
||||
if len(self.lines) > MAX_HISTFILE_SIZE:
|
||||
self.lines = self.lines[-MAX_HISTFILE_SIZE:]
|
||||
|
||||
#Instead of having additional input history file, we can
|
||||
# Instead of having additional input history file, we can
|
||||
# simply scan for lines beginning with ">>> "
|
||||
for i, line in enumerate(self.lines):
|
||||
#if not isinstance(line, unicode):
|
||||
# if not isinstance(line, unicode):
|
||||
#line = line.encode(self.encoding)
|
||||
#self.lines[i] = line
|
||||
line = format_utils.remove_formatting(line)
|
||||
@ -219,7 +219,7 @@ class Legacy(BaseMode, component.Component):
|
||||
# Read the character
|
||||
c = self.stdscr.getch()
|
||||
|
||||
#An ugly, ugly, UGLY UGLY way to handle alt+backspace
|
||||
# An ugly, ugly, UGLY UGLY way to handle alt+backspace
|
||||
# deleting more characters than it should, but without a more
|
||||
# complex input handling system, a more elegant solution
|
||||
# is not viable
|
||||
@ -385,7 +385,7 @@ class Legacy(BaseMode, component.Component):
|
||||
def on_resize(self, *args):
|
||||
BaseMode.on_resize_norefresh(self, *args)
|
||||
|
||||
#We need to also refresh AllTorrents because otherwise it will
|
||||
# We need to also refresh AllTorrents because otherwise it will
|
||||
# be only us that get properly resized
|
||||
all_torrents = component.get("AllTorrents")
|
||||
all_torrents.on_resize(*args)
|
||||
@ -464,8 +464,8 @@ class Legacy(BaseMode, component.Component):
|
||||
"""
|
||||
|
||||
if self.console_config["save_legacy_history"]:
|
||||
#Determine which file is the active one
|
||||
#If both are under maximum, it's first, otherwise it's the one not full
|
||||
# Determine which file is the active one
|
||||
# If both are under maximum, it's first, otherwise it's the one not full
|
||||
if self._hf_lines[0] < MAX_HISTFILE_SIZE and self._hf_lines[1] < MAX_HISTFILE_SIZE:
|
||||
active_file = 0
|
||||
elif self._hf_lines[0] == MAX_HISTFILE_SIZE:
|
||||
@ -473,7 +473,7 @@ class Legacy(BaseMode, component.Component):
|
||||
else:
|
||||
active_file = 0
|
||||
|
||||
#Write the line
|
||||
# Write the line
|
||||
f = open(self.history_file[active_file], "a")
|
||||
|
||||
if isinstance(text, unicode):
|
||||
@ -482,10 +482,10 @@ class Legacy(BaseMode, component.Component):
|
||||
|
||||
f.write(os.linesep)
|
||||
|
||||
#And increment line counter
|
||||
# And increment line counter
|
||||
self._hf_lines[active_file] += 1
|
||||
|
||||
#If the active file reaches max size, we truncate it
|
||||
# If the active file reaches max size, we truncate it
|
||||
# therefore swapping the currently active file
|
||||
if self._hf_lines[active_file] == MAX_HISTFILE_SIZE:
|
||||
self._hf_lines[1 - active_file] = 0
|
||||
@ -684,7 +684,7 @@ class Legacy(BaseMode, component.Component):
|
||||
# First check to see if there is no space, this will mean that it's a
|
||||
# command that needs to be completed.
|
||||
|
||||
#We don't want to split by escaped spaces
|
||||
# We don't want to split by escaped spaces
|
||||
def split(string):
|
||||
return re.split(r"(?<!\\) ", string)
|
||||
|
||||
@ -714,11 +714,11 @@ class Legacy(BaseMode, component.Component):
|
||||
# return it, else we need to print out the matches without modifying
|
||||
# the line.
|
||||
elif len(possible_matches) == 1:
|
||||
#Do not append space after directory names
|
||||
# Do not append space after directory names
|
||||
new_line = line_prefix + possible_matches[0]
|
||||
if not new_line.endswith("/") and not new_line.endswith(r"\\"):
|
||||
new_line += " "
|
||||
#We only want to print eventual colors or other control characters, not return them
|
||||
# We only want to print eventual colors or other control characters, not return them
|
||||
new_line = format_utils.remove_formatting(new_line)
|
||||
return (new_line, len(new_line))
|
||||
else:
|
||||
@ -746,7 +746,7 @@ class Legacy(BaseMode, component.Component):
|
||||
|
||||
if match_count >= 4:
|
||||
self.write("{!green!}Autocompletion matches:")
|
||||
#Only list some of the matching torrents as there can be hundreds of them
|
||||
# Only list some of the matching torrents as there can be hundreds of them
|
||||
if self.console_config["third_tab_lists_all"]:
|
||||
if hits == 2 and left > max_list:
|
||||
for i in range(listed, listed + max_list):
|
||||
@ -771,7 +771,7 @@ class Legacy(BaseMode, component.Component):
|
||||
if hits > 2:
|
||||
self.write("{!green!}Finished listing %i torrents (%i/%i)" % (match_count, hits - 1, pages))
|
||||
|
||||
#We only want to print eventual colors or other control characters, not return them
|
||||
# We only want to print eventual colors or other control characters, not return them
|
||||
line = format_utils.remove_formatting(line)
|
||||
cursor = len(line)
|
||||
return (line, cursor)
|
||||
@ -786,7 +786,7 @@ class Legacy(BaseMode, component.Component):
|
||||
# This is a correct path, check to see if it's a directory
|
||||
if os.path.isdir(line):
|
||||
# Directory, so we need to show contents of directory
|
||||
#ret.extend(os.listdir(line))
|
||||
# ret.extend(os.listdir(line))
|
||||
try:
|
||||
for f in os.listdir(line):
|
||||
# Skip hidden
|
||||
@ -839,7 +839,7 @@ class Legacy(BaseMode, component.Component):
|
||||
elif dirs_first == -1:
|
||||
ret = sorted(ret, key=lambda p: os.path.isdir(p), reverse=False)
|
||||
|
||||
#Highlight directory names
|
||||
# Highlight directory names
|
||||
for i, filename in enumerate(ret):
|
||||
if os.path.isdir(filename):
|
||||
ret[i] = "{!cyan!}%s" % filename
|
||||
@ -863,7 +863,7 @@ class Legacy(BaseMode, component.Component):
|
||||
else:
|
||||
empty = False
|
||||
|
||||
#Remove dangling backslashes to avoid breaking shlex
|
||||
# Remove dangling backslashes to avoid breaking shlex
|
||||
if line.endswith("\\"):
|
||||
line = line[:-1]
|
||||
|
||||
@ -903,9 +903,9 @@ class Legacy(BaseMode, component.Component):
|
||||
else:
|
||||
l = len(raw_line)
|
||||
|
||||
#Let's avoid listing all torrents twice if there's no pattern
|
||||
# Let's avoid listing all torrents twice if there's no pattern
|
||||
if not empty and torrent_id.startswith(line):
|
||||
#Highlight the matching part
|
||||
# Highlight the matching part
|
||||
text = "{!info!}%s{!input!}%s - '%s'" % (torrent_id[:l], torrent_id[l:], torrent_name)
|
||||
possible_matches.append(text)
|
||||
if torrent_name.startswith(line):
|
||||
|
@ -95,7 +95,7 @@ class Popup:
|
||||
|
||||
log.debug("Resizing(or creating) popup window")
|
||||
|
||||
#Height
|
||||
# Height
|
||||
if hr == 0:
|
||||
hr = int(self.parent.rows / 2)
|
||||
elif hr == -1:
|
||||
@ -103,7 +103,7 @@ class Popup:
|
||||
elif hr > self.parent.rows - 2:
|
||||
hr = self.parent.rows - 2
|
||||
|
||||
#Width
|
||||
# Width
|
||||
if wr == 0:
|
||||
wr = int(self.parent.cols / 2)
|
||||
elif wr == -1:
|
||||
|
@ -263,7 +263,7 @@ class ColumnsPane(BasePane):
|
||||
|
||||
for cpn in deluge.ui.console.modes.alltorrents.column_pref_names:
|
||||
pn = "show_%s" % cpn
|
||||
#If there is no option for it, it's not togglable
|
||||
# If there is no option for it, it's not togglable
|
||||
# We check in default_prefs because it might still exist in config files
|
||||
if pn not in default_prefs:
|
||||
continue
|
||||
|
@ -143,7 +143,7 @@ class Preferences(BaseMode):
|
||||
BaseMode.on_resize_norefresh(self, *args)
|
||||
self.__calc_sizes()
|
||||
|
||||
#Always refresh Legacy(it will also refresh AllTorrents), otherwise it will bug deluge out
|
||||
# Always refresh Legacy(it will also refresh AllTorrents), otherwise it will bug deluge out
|
||||
legacy = component.get("LegacyUI")
|
||||
legacy.on_resize(*args)
|
||||
self.stdscr.erase()
|
||||
|
@ -337,7 +337,7 @@ class TorrentDetail(BaseMode, component.Component):
|
||||
else:
|
||||
color_string = "{!%s,%s!}" % (fg, bg)
|
||||
|
||||
#actually draw the dir/file string
|
||||
# actually draw the dir/file string
|
||||
if fl[3] and fl[4]: # this is an expanded directory
|
||||
xchar = "v"
|
||||
elif fl[3]: # collapsed directory
|
||||
@ -400,7 +400,7 @@ class TorrentDetail(BaseMode, component.Component):
|
||||
def on_resize(self, *args):
|
||||
BaseMode.on_resize_norefresh(self, *args)
|
||||
|
||||
#Always refresh Legacy(it will also refresh AllTorrents), otherwise it will bug deluge out
|
||||
# Always refresh Legacy(it will also refresh AllTorrents), otherwise it will bug deluge out
|
||||
legacy = component.get("LegacyUI")
|
||||
legacy.on_resize(*args)
|
||||
|
||||
@ -417,12 +417,12 @@ class TorrentDetail(BaseMode, component.Component):
|
||||
up_color = colors.state_color["Seeding"]
|
||||
down_color = colors.state_color["Downloading"]
|
||||
|
||||
#Name
|
||||
# Name
|
||||
s = "{!info!}Name: {!input!}%s" % status["name"]
|
||||
self.add_string(off, s)
|
||||
off += 1
|
||||
|
||||
#Print DL info and ETA
|
||||
# Print DL info and ETA
|
||||
if status["download_payload_rate"] > 0:
|
||||
s = "%sDownloading: {!input!}" % down_color
|
||||
else:
|
||||
@ -436,7 +436,7 @@ class TorrentDetail(BaseMode, component.Component):
|
||||
self.add_string(off, s)
|
||||
off += 1
|
||||
|
||||
#Print UL info and ratio
|
||||
# Print UL info and ratio
|
||||
if status["upload_payload_rate"] > 0:
|
||||
s = "%sUploading: {!input!}" % up_color
|
||||
else:
|
||||
@ -451,7 +451,7 @@ class TorrentDetail(BaseMode, component.Component):
|
||||
self.add_string(off, s)
|
||||
off += 1
|
||||
|
||||
#Seed/peer info
|
||||
# Seed/peer info
|
||||
s = "{!info!}Seeds:{!green!} %s {!input!}(%s)" % (status["num_seeds"], status["total_seeds"])
|
||||
self.add_string(off, s)
|
||||
off += 1
|
||||
@ -459,7 +459,7 @@ class TorrentDetail(BaseMode, component.Component):
|
||||
self.add_string(off, s)
|
||||
off += 1
|
||||
|
||||
#Tracker
|
||||
# Tracker
|
||||
if status["message"] == "OK":
|
||||
color = "{!green!}"
|
||||
else:
|
||||
@ -477,24 +477,24 @@ class TorrentDetail(BaseMode, component.Component):
|
||||
self.add_string(off, s)
|
||||
off += 1
|
||||
|
||||
#Time added
|
||||
# Time added
|
||||
s = "{!info!}Added: {!input!}%s" % fdate(status["time_added"])
|
||||
self.add_string(off, s)
|
||||
off += 1
|
||||
|
||||
#Time active
|
||||
# Time active
|
||||
s = "{!info!}Time active: {!input!}%s" % (ftime(status["active_time"]))
|
||||
if status["seeding_time"]:
|
||||
s += ", {!cyan!}%s{!input!} seeding" % (ftime(status["seeding_time"]))
|
||||
self.add_string(off, s)
|
||||
off += 1
|
||||
|
||||
#Download Folder
|
||||
# Download Folder
|
||||
s = "{!info!}Download Folder: {!input!}%s" % status["download_location"]
|
||||
self.add_string(off, s)
|
||||
off += 1
|
||||
|
||||
#Owner
|
||||
# Owner
|
||||
if status["owner"]:
|
||||
s = "{!info!}Owner: {!input!}%s" % status["owner"]
|
||||
|
||||
@ -510,7 +510,7 @@ class TorrentDetail(BaseMode, component.Component):
|
||||
self.stdscr.erase()
|
||||
self.add_string(0, self.statusbars.topbar)
|
||||
|
||||
#This will quite likely fail when switching modes
|
||||
# This will quite likely fail when switching modes
|
||||
try:
|
||||
rf = format_utils.remove_formatting
|
||||
string = self.statusbars.bottombar
|
||||
@ -591,7 +591,7 @@ class TorrentDetail(BaseMode, component.Component):
|
||||
def build_prio_list(self, files, ret_list, parent_prio, selected_prio):
|
||||
# has a priority been set on my parent (if so, I inherit it)
|
||||
for f in files:
|
||||
#Do not set priorities for the whole dir, just selected contents
|
||||
# Do not set priorities for the whole dir, just selected contents
|
||||
if f[3]:
|
||||
self.build_prio_list(f[3], ret_list, parent_prio, selected_prio)
|
||||
else: # file, need to add to list
|
||||
@ -632,13 +632,13 @@ class TorrentDetail(BaseMode, component.Component):
|
||||
"""
|
||||
fc = self.__get_contained_files_count(idx=idx)
|
||||
if idx not in self.marked:
|
||||
#Not selected, select it
|
||||
# Not selected, select it
|
||||
self.__mark_tree(self.file_list, idx)
|
||||
elif self.marked[idx] < fc:
|
||||
#Partially selected, unselect all contents
|
||||
# Partially selected, unselect all contents
|
||||
self.__unmark_tree(self.file_list, idx)
|
||||
else:
|
||||
#Selected, unselect it
|
||||
# Selected, unselect it
|
||||
self.__unmark_tree(self.file_list, idx)
|
||||
|
||||
def __mark_tree(self, file_list, idx, mark_all=False):
|
||||
@ -650,10 +650,10 @@ class TorrentDetail(BaseMode, component.Component):
|
||||
total_marked = 0
|
||||
for element in file_list:
|
||||
marked = 0
|
||||
#Select the file if it's the one we want or
|
||||
# Select the file if it's the one we want or
|
||||
# if it's inside a directory that got selected
|
||||
if (element[1] == idx) or mark_all:
|
||||
#If it's a folder then select everything inside
|
||||
# If it's a folder then select everything inside
|
||||
if element[3]:
|
||||
marked = self.__mark_tree(element[3], idx, True)
|
||||
self.marked[element[1]] = marked
|
||||
@ -661,17 +661,17 @@ class TorrentDetail(BaseMode, component.Component):
|
||||
marked = 1
|
||||
self.marked[element[1]] = 1
|
||||
else:
|
||||
#Does not match but the item to be selected might be inside, recurse
|
||||
# Does not match but the item to be selected might be inside, recurse
|
||||
if element[3]:
|
||||
marked = self.__mark_tree(element[3], idx, False)
|
||||
#Partially select the folder if it contains files that were selected
|
||||
# Partially select the folder if it contains files that were selected
|
||||
if marked > 0:
|
||||
self.marked[element[1]] = marked
|
||||
else:
|
||||
if element[1] in self.marked:
|
||||
#It's not the element we want but it's marked so count it
|
||||
# It's not the element we want but it's marked so count it
|
||||
marked = 1
|
||||
#Count and then return total amount of files selected in all subdirectories
|
||||
# Count and then return total amount of files selected in all subdirectories
|
||||
total_marked += marked
|
||||
|
||||
return total_marked
|
||||
@ -717,30 +717,30 @@ class TorrentDetail(BaseMode, component.Component):
|
||||
total_marked = 0
|
||||
for element in file_list:
|
||||
marked = 0
|
||||
#It's either the item we want to select or
|
||||
# It's either the item we want to select or
|
||||
# a contained item, deselect it
|
||||
if (element[1] == idx) or unmark_all:
|
||||
if element[1] in self.marked:
|
||||
del self.marked[element[1]]
|
||||
#Deselect all contents if it's a catalog
|
||||
# Deselect all contents if it's a catalog
|
||||
if element[3]:
|
||||
self.__unmark_tree(element[3], idx, True)
|
||||
else:
|
||||
#Not file we wanted but it might be inside this folder, recurse inside
|
||||
# Not file we wanted but it might be inside this folder, recurse inside
|
||||
if element[3]:
|
||||
marked = self.__unmark_tree(element[3], idx, False)
|
||||
#If none of the contents remain selected, unselect this folder as well
|
||||
# If none of the contents remain selected, unselect this folder as well
|
||||
if marked == 0:
|
||||
if element[1] in self.marked:
|
||||
del self.marked[element[1]]
|
||||
#Otherwise update selection count
|
||||
# Otherwise update selection count
|
||||
else:
|
||||
self.marked[element[1]] = marked
|
||||
else:
|
||||
if element[1] in self.marked:
|
||||
marked = 1
|
||||
|
||||
#Count and then return selection count so we can update
|
||||
# Count and then return selection count so we can update
|
||||
# directories higher up in the hierarchy
|
||||
total_marked += marked
|
||||
return total_marked
|
||||
@ -753,7 +753,7 @@ class TorrentDetail(BaseMode, component.Component):
|
||||
if idx == self.current_file_idx:
|
||||
return true_idx
|
||||
|
||||
#It's a folder
|
||||
# It's a folder
|
||||
if element[3]:
|
||||
i = self._selection_to_file_idx(element[3], idx + 1, true_idx, closed or not element[4])
|
||||
if isinstance(i, tuple):
|
||||
@ -804,7 +804,7 @@ class TorrentDetail(BaseMode, component.Component):
|
||||
client.core.rename_files(torrent_id, [(file_idx, new_filename)])
|
||||
|
||||
def _show_rename_popup(self):
|
||||
#Perhaps in the future: Renaming multiple files
|
||||
# Perhaps in the future: Renaming multiple files
|
||||
if self.marked:
|
||||
title = "Error (Enter to close)"
|
||||
text = "Sorry, you can't rename multiple files, please clear selection with {!info!}'c'{!normal!} key"
|
||||
|
@ -56,25 +56,25 @@ class StatusBars(component.Component):
|
||||
info = client.connection_info()
|
||||
connection_info = ""
|
||||
|
||||
#Client name
|
||||
# Client name
|
||||
if info[2] == "localclient":
|
||||
connection_info += "{!white,blue!}%s"
|
||||
else:
|
||||
connection_info += "{!green,blue,bold!}%s"
|
||||
|
||||
#Hostname
|
||||
# Hostname
|
||||
if info[0] == "127.0.0.1":
|
||||
connection_info += "{!white,blue,bold!}@{!white,blue!}%s"
|
||||
else:
|
||||
connection_info += "{!white,blue,bold!}@{!red,blue,bold!}%s"
|
||||
|
||||
#Port
|
||||
# Port
|
||||
if info[1] == DEFAULT_PREFS["daemon_port"]:
|
||||
connection_info += "{!white,blue!}:%s"
|
||||
else:
|
||||
connection_info += "{!status!}:%s"
|
||||
|
||||
#Change color back to normal, just in case
|
||||
# Change color back to normal, just in case
|
||||
connection_info += "{!status!}"
|
||||
|
||||
self.topbar += connection_info % (info[2], info[0], info[1])
|
||||
|
@ -69,7 +69,7 @@ class AddTorrentDialog(component.Component):
|
||||
})
|
||||
|
||||
self.torrent_liststore = gtk.ListStore(str, str, str)
|
||||
#download?, path, filesize, sequence number, inconsistent?
|
||||
# download?, path, filesize, sequence number, inconsistent?
|
||||
self.files_treestore = gtk.TreeStore(
|
||||
bool, str, gobject.TYPE_UINT64, gobject.TYPE_INT64, bool, str)
|
||||
self.files_treestore.set_sort_column_id(1, gtk.SORT_ASCENDING)
|
||||
@ -516,7 +516,7 @@ class AddTorrentDialog(component.Component):
|
||||
self.files_treestore.set_value(iter, 4, True)
|
||||
else:
|
||||
self.files_treestore.set_value(iter, 0, toggle)
|
||||
#set inconsistent to false
|
||||
# set inconsistent to false
|
||||
self.files_treestore.set_value(iter, 4, False)
|
||||
else:
|
||||
toggle = self.files_treestore.get_value(iter, 0)
|
||||
|
@ -340,7 +340,7 @@ class FilesTab(Tab):
|
||||
timestamp = gtk.get_current_event_time()
|
||||
show_file(filepath, timestamp=timestamp)
|
||||
|
||||
## The following 3 methods create the folder/file view in the treeview
|
||||
# The following 3 methods create the folder/file view in the treeview
|
||||
def prepare_file_store(self, files):
|
||||
split_files = {}
|
||||
i = 0
|
||||
|
@ -57,7 +57,7 @@ class FilterTreeView(component.Component):
|
||||
self.treeview = gtk.TreeView()
|
||||
self.sidebar.add_tab(self.treeview, "filters", "Filters")
|
||||
|
||||
#set filter to all when hidden:
|
||||
# set filter to all when hidden:
|
||||
self.sidebar.notebook.connect("hide", self._on_hide)
|
||||
|
||||
# Create the treestore
|
||||
@ -98,7 +98,7 @@ class FilterTreeView(component.Component):
|
||||
|
||||
self.treeview.connect("button-press-event", self.on_button_press_event)
|
||||
|
||||
#colors using current theme.
|
||||
# colors using current theme.
|
||||
style = self.window.window.get_style()
|
||||
self.colour_background = style.bg[gtk.STATE_NORMAL]
|
||||
self.colour_foreground = style.fg[gtk.STATE_NORMAL]
|
||||
@ -116,11 +116,11 @@ class FilterTreeView(component.Component):
|
||||
self.default_menu_items = self.menu.get_children()
|
||||
|
||||
def start(self):
|
||||
#add Cat nodes:
|
||||
# add Cat nodes:
|
||||
self.cat_nodes = {}
|
||||
self.filters = {}
|
||||
|
||||
#initial order of state filter:
|
||||
# initial order of state filter:
|
||||
self.cat_nodes["state"] = self.treestore.append(None, ["cat", "state", _("States"), 0, None, False])
|
||||
for state in ["All", "Active"] + TORRENT_STATE:
|
||||
self.update_row("state", state, 0, _(state))
|
||||
@ -149,7 +149,7 @@ class FilterTreeView(component.Component):
|
||||
self.treeview.set_model(self.model_filter)
|
||||
|
||||
def cb_update_filter_tree(self, filter_items):
|
||||
#create missing cat_nodes
|
||||
# create missing cat_nodes
|
||||
for cat in filter_items:
|
||||
if not cat in self.cat_nodes:
|
||||
label = _(cat)
|
||||
@ -157,7 +157,7 @@ class FilterTreeView(component.Component):
|
||||
label = _("Labels")
|
||||
self.cat_nodes[cat] = self.treestore.append(None, ["cat", cat, label, 0, None, False])
|
||||
|
||||
#update rows
|
||||
# update rows
|
||||
visible_filters = []
|
||||
for cat, filters in filter_items.iteritems():
|
||||
for value, count in filters:
|
||||
@ -214,7 +214,7 @@ class FilterTreeView(component.Component):
|
||||
label = model.get_value(row, 2)
|
||||
count = model.get_value(row, 3)
|
||||
|
||||
#Supress Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
|
||||
# Supress Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
|
||||
original_filters = warnings.filters[:]
|
||||
warnings.simplefilter("ignore")
|
||||
try:
|
||||
@ -324,7 +324,7 @@ class FilterTreeView(component.Component):
|
||||
return True
|
||||
|
||||
elif event.button == 3:
|
||||
#assign current cat, value to self:
|
||||
# assign current cat, value to self:
|
||||
x, y = event.get_coords()
|
||||
path = self.treeview.get_path_at_pos(int(x), int(y))
|
||||
if not path:
|
||||
@ -334,7 +334,7 @@ class FilterTreeView(component.Component):
|
||||
self.value = self.model_filter.get_value(row, 1)
|
||||
self.count = self.model_filter.get_value(row, 3)
|
||||
|
||||
#Show the pop-up menu
|
||||
# Show the pop-up menu
|
||||
self.set_menu_sensitivity()
|
||||
self.menu.hide()
|
||||
self.menu.popup(None, None, None, event.button, event.time)
|
||||
@ -345,7 +345,7 @@ class FilterTreeView(component.Component):
|
||||
return True
|
||||
|
||||
def set_menu_sensitivity(self):
|
||||
#select-all/pause/resume
|
||||
# select-all/pause/resume
|
||||
sensitive = (self.cat != "cat" and self.count != 0)
|
||||
for item in self.default_menu_items:
|
||||
item.set_sensitive(sensitive)
|
||||
|
@ -143,7 +143,7 @@ class GtkUI(object):
|
||||
import gnome.ui
|
||||
import gnome
|
||||
|
||||
#Suppress: Warning: Attempt to add property GnomeProgram::*** after class was initialised
|
||||
# Suppress: Warning: Attempt to add property GnomeProgram::*** after class was initialised
|
||||
original_filters = warnings.filters[:]
|
||||
warnings.simplefilter("ignore")
|
||||
try:
|
||||
|
@ -111,22 +111,22 @@ class MenuBar(component.Component):
|
||||
|
||||
### Connect main window Signals ###
|
||||
component.get("MainWindow").connect_signals({
|
||||
## File Menu
|
||||
# File Menu
|
||||
"on_menuitem_addtorrent_activate": self.on_menuitem_addtorrent_activate,
|
||||
"on_menuitem_createtorrent_activate": self.on_menuitem_createtorrent_activate,
|
||||
"on_menuitem_quitdaemon_activate": self.on_menuitem_quitdaemon_activate,
|
||||
"on_menuitem_quit_activate": self.on_menuitem_quit_activate,
|
||||
|
||||
## Edit Menu
|
||||
# Edit Menu
|
||||
"on_menuitem_preferences_activate": self.on_menuitem_preferences_activate,
|
||||
"on_menuitem_connectionmanager_activate": self.on_menuitem_connectionmanager_activate,
|
||||
|
||||
## View Menu
|
||||
# View Menu
|
||||
"on_menuitem_toolbar_toggled": self.on_menuitem_toolbar_toggled,
|
||||
"on_menuitem_sidebar_toggled": self.on_menuitem_sidebar_toggled,
|
||||
"on_menuitem_statusbar_toggled": self.on_menuitem_statusbar_toggled,
|
||||
|
||||
## Help Menu
|
||||
# Help Menu
|
||||
"on_menuitem_homepage_activate": self.on_menuitem_homepage_activate,
|
||||
"on_menuitem_faq_activate": self.on_menuitem_faq_activate,
|
||||
"on_menuitem_community_activate": self.on_menuitem_community_activate,
|
||||
@ -137,7 +137,7 @@ class MenuBar(component.Component):
|
||||
|
||||
# Connect menubar signals
|
||||
self.builder.connect_signals({
|
||||
## Torrent Menu
|
||||
# Torrent Menu
|
||||
"on_menuitem_pause_activate": self.on_menuitem_pause_activate,
|
||||
"on_menuitem_resume_activate": self.on_menuitem_resume_activate,
|
||||
"on_menuitem_updatetracker_activate": self.on_menuitem_updatetracker_activate,
|
||||
|
@ -557,7 +557,7 @@ class PathChooserPopup(object):
|
||||
"""
|
||||
|
||||
# Necessary for the first call, to make treeview.size_request give sensible values
|
||||
#self.popup_window.realize()
|
||||
# self.popup_window.realize()
|
||||
self.treeview.realize()
|
||||
|
||||
# We start with the coordinates of the parent window
|
||||
@ -1249,7 +1249,7 @@ class PathChooserComboBox(gtk.HBox, StoredValuesPopup, gobject.GObject):
|
||||
self.auto_completer._end_completion(args)
|
||||
|
||||
######################################
|
||||
## Callbacks and internal functions
|
||||
# Callbacks and internal functions
|
||||
######################################
|
||||
|
||||
def on_entry_text_changed(self, entry):
|
||||
@ -1349,7 +1349,7 @@ class PathChooserComboBox(gtk.HBox, StoredValuesPopup, gobject.GObject):
|
||||
self._stored_values_popping_down = False
|
||||
|
||||
######################################
|
||||
## Config dialog
|
||||
# Config dialog
|
||||
######################################
|
||||
|
||||
def _on_button_toggle_dropdown_button_press_event(self, widget, event):
|
||||
@ -1535,7 +1535,7 @@ if __name__ == "__main__":
|
||||
cursor_end=False)
|
||||
|
||||
entry2.set_filechooser_button_visible(False)
|
||||
#entry2.set_enable_properties(False)
|
||||
# entry2.set_enable_properties(False)
|
||||
entry2.set_filechooser_button_enabled(False)
|
||||
|
||||
def list_value_added_event(widget, values):
|
||||
|
@ -341,11 +341,11 @@ class PeersTab(Tab):
|
||||
value = txt_ip.get_text()
|
||||
if value and ':' in value:
|
||||
if ']' in value:
|
||||
#ipv6
|
||||
# ipv6
|
||||
ip = value.split("]")[0][1:]
|
||||
port = value.split("]")[1][1:]
|
||||
else:
|
||||
#ipv4
|
||||
# ipv4
|
||||
ip = value.split(":")[0]
|
||||
port = value.split(":")[1]
|
||||
if deluge.common.is_ip(ip):
|
||||
|
@ -72,7 +72,7 @@ class PluginManager(deluge.pluginmanagerbase.PluginManagerBase, component.Compon
|
||||
def _on_plugin_disabled_event(self, name):
|
||||
self.disable_plugin(name)
|
||||
|
||||
## Hook functions
|
||||
# Hook functions
|
||||
def run_on_show_prefs(self):
|
||||
"""This hook is run before the user is shown the preferences dialog.
|
||||
It is designed so that plugins can update their preference page with
|
||||
@ -89,7 +89,7 @@ class PluginManager(deluge.pluginmanagerbase.PluginManagerBase, component.Compon
|
||||
for function in self.hooks["on_apply_prefs"]:
|
||||
function()
|
||||
|
||||
## Plugin functions.. will likely move to own class..
|
||||
# Plugin functions.. will likely move to own class..
|
||||
|
||||
def add_torrentview_text_column(self, *args, **kwargs):
|
||||
return component.get("TorrentView").add_text_column(*args, **kwargs)
|
||||
|
@ -358,7 +358,7 @@ class SystemTray(component.Component):
|
||||
|
||||
def on_tray_setbwdown(self, widget, data=None):
|
||||
if isinstance(widget, gtk.RadioMenuItem):
|
||||
#ignore previous radiomenuitem value
|
||||
# ignore previous radiomenuitem value
|
||||
if not widget.get_active():
|
||||
return
|
||||
self.setbwlimit(widget, _("Download Speed Limit"), _("Set the maximum download speed"),
|
||||
@ -367,7 +367,7 @@ class SystemTray(component.Component):
|
||||
|
||||
def on_tray_setbwup(self, widget, data=None):
|
||||
if isinstance(widget, gtk.RadioMenuItem):
|
||||
#ignore previous radiomenuitem value
|
||||
# ignore previous radiomenuitem value
|
||||
if not widget.get_active():
|
||||
return
|
||||
self.setbwlimit(widget, _("Upload Speed Limit"), _("Set the maximum upload speed"),
|
||||
|
@ -145,7 +145,7 @@ class TorrentDetails(component.Component):
|
||||
def add_tab(self, tab, generate_menu=True, visible=None):
|
||||
name = tab.get_name()
|
||||
|
||||
#find position of tab in self.state, this is the tab weight
|
||||
# find position of tab in self.state, this is the tab weight
|
||||
weight = None
|
||||
for w, item in enumerate(self.state):
|
||||
if item[0] == name:
|
||||
@ -164,7 +164,7 @@ class TorrentDetails(component.Component):
|
||||
|
||||
if visible:
|
||||
tab.is_visible = True
|
||||
#add the tab at position guided by the weight
|
||||
# add the tab at position guided by the weight
|
||||
insert_pos = self.tab_insert_position(weight)
|
||||
log.debug("Trying to insert tab at %d" % insert_pos)
|
||||
pos = self.notebook.insert_page(
|
||||
@ -382,9 +382,9 @@ class TorrentDetails(component.Component):
|
||||
|
||||
def save_state(self):
|
||||
"""We save the state, which is basically the tab_index list"""
|
||||
#Update the visiblity status of all tabs
|
||||
#Leave tabs we dont know anything about it the state as they
|
||||
#might come from a plugin
|
||||
# Update the visiblity status of all tabs
|
||||
# Leave tabs we dont know anything about it the state as they
|
||||
# might come from a plugin
|
||||
for i, (name, visible) in enumerate(self.state):
|
||||
log.debug("Testing name: %s" % name)
|
||||
if name in self.tabs:
|
||||
|
@ -69,7 +69,7 @@ def cell_data_statusicon(column, cell, model, row, data):
|
||||
|
||||
icon = ICON_STATE[state]
|
||||
|
||||
#Supress Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
|
||||
# Supress Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
|
||||
original_filters = warnings.filters[:]
|
||||
warnings.simplefilter("ignore")
|
||||
try:
|
||||
@ -101,7 +101,7 @@ def set_icon(icon, cell):
|
||||
else:
|
||||
pixbuf = create_blank_pixbuf()
|
||||
|
||||
#Suppress Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
|
||||
# Suppress Warning: g_object_set_qdata: assertion `G_IS_OBJECT (object)' failed
|
||||
with warnings.catch_warnings():
|
||||
warnings.simplefilter("ignore")
|
||||
cell.set_property("pixbuf", pixbuf)
|
||||
|
@ -188,7 +188,7 @@ class SessionProxy(component.Component):
|
||||
for k in value:
|
||||
self.cache_times[key][k] = t
|
||||
except KeyError:
|
||||
#The torrent was removed
|
||||
# The torrent was removed
|
||||
continue
|
||||
|
||||
# Create the status dict
|
||||
|
Loading…
x
Reference in New Issue
Block a user