summaryrefslogtreecommitdiffstats
path: root/deluge/ui
diff options
context:
space:
mode:
Diffstat (limited to 'deluge/ui')
-rw-r--r--deluge/ui/client.py26
-rw-r--r--deluge/ui/common.py4
-rw-r--r--deluge/ui/console/commands/config.py12
-rw-r--r--deluge/ui/console/eventlog.py3
-rw-r--r--deluge/ui/console/main.py7
-rw-r--r--deluge/ui/console/screen.py4
-rw-r--r--deluge/ui/coreconfig.py4
-rw-r--r--deluge/ui/gtkui/addtorrentdialog.py7
-rw-r--r--deluge/ui/gtkui/common.py8
-rw-r--r--deluge/ui/gtkui/connectionmanager.py4
-rw-r--r--deluge/ui/gtkui/createtorrentdialog.py4
-rw-r--r--deluge/ui/gtkui/details_tab.py6
-rw-r--r--deluge/ui/gtkui/edittrackersdialog.py7
-rw-r--r--deluge/ui/gtkui/files_tab.py7
-rw-r--r--deluge/ui/gtkui/filtertreeview.py6
-rw-r--r--deluge/ui/gtkui/gtkui.py7
-rw-r--r--deluge/ui/gtkui/ipcinterface.py18
-rw-r--r--deluge/ui/gtkui/listview.py3
-rw-r--r--deluge/ui/gtkui/mainwindow.py6
-rw-r--r--deluge/ui/gtkui/menubar.py6
-rw-r--r--deluge/ui/gtkui/notification.py22
-rw-r--r--deluge/ui/gtkui/peers_tab.py7
-rw-r--r--deluge/ui/gtkui/pluginmanager.py4
-rw-r--r--deluge/ui/gtkui/preferences.py13
-rw-r--r--deluge/ui/gtkui/queuedtorrents.py9
-rw-r--r--deluge/ui/gtkui/removetorrentdialog.py7
-rw-r--r--deluge/ui/gtkui/sidebar.py4
-rw-r--r--deluge/ui/gtkui/status_tab.py7
-rw-r--r--deluge/ui/gtkui/statusbar.py4
-rw-r--r--deluge/ui/gtkui/systemtray.py4
-rw-r--r--deluge/ui/gtkui/toolbar.py7
-rw-r--r--deluge/ui/gtkui/torrentdetails.py6
-rw-r--r--deluge/ui/gtkui/torrentview.py7
-rw-r--r--deluge/ui/sessionproxy.py4
-rw-r--r--deluge/ui/tracker_icons.py5
-rw-r--r--deluge/ui/ui.py18
-rw-r--r--deluge/ui/web/server.py14
37 files changed, 196 insertions, 95 deletions
diff --git a/deluge/ui/client.py b/deluge/ui/client.py
index 3fbae6e6f..f7d808018 100644
--- a/deluge/ui/client.py
+++ b/deluge/ui/client.py
@@ -33,6 +33,7 @@
#
#
+import logging
from twisted.internet.protocol import Protocol, ClientFactory
from twisted.internet import reactor, ssl, defer
try:
@@ -44,7 +45,6 @@ import zlib
import deluge.common
import deluge.component as component
-from deluge.log import LOG as log
if deluge.common.windows_check():
import win32api
@@ -55,6 +55,8 @@ RPC_RESPONSE = 1
RPC_ERROR = 2
RPC_EVENT = 3
+log = logging.getLogger(__name__)
+
def format_kwargs(kwargs):
return ", ".join([key + "=" + str(value) for key, value in kwargs.items()])
@@ -140,7 +142,7 @@ class DelugeRPCProtocol(Protocol):
while data:
# Increase the byte counter
self.factory.bytes_recv += len(data)
-
+
dobj = zlib.decompressobj()
try:
request = rencode.loads(dobj.decompress(data))
@@ -213,7 +215,7 @@ class DelugeRPCClientFactory(ClientFactory):
def __init__(self, daemon, event_handlers):
self.daemon = daemon
self.event_handlers = event_handlers
-
+
self.bytes_recv = 0
self.bytes_sent = 0
@@ -329,7 +331,7 @@ class DaemonSSLProxy(DaemonProxy):
:param request_id: the request_id of the Deferred to pop
:type request_id: int
-
+
"""
return self.__deferred.pop(request_id)
@@ -343,7 +345,7 @@ class DaemonSSLProxy(DaemonProxy):
:param handler: the function to be called when `:param:event`
is emitted from the daemon
:type handler: function
-
+
"""
if event not in self.__factory.event_handlers:
# This is a new event to handle, so we need to tell the daemon
@@ -422,10 +424,10 @@ class DaemonSSLProxy(DaemonProxy):
def get_bytes_recv(self):
return self.__factory.bytes_recv
-
+
def get_bytes_sent(self):
return self.__factory.bytes_sent
-
+
class DaemonClassicProxy(DaemonProxy):
def __init__(self, event_handlers={}):
import deluge.core.daemon
@@ -466,7 +468,7 @@ class DaemonClassicProxy(DaemonProxy):
:param handler: the function to be called when `:param:event`
is emitted from the daemon
:type handler: function
-
+
"""
self.__daemon.core.eventmanager.register_event_handler(event, handler)
@@ -571,7 +573,7 @@ class Client(object):
:rtype: bool
:raises OSError: received from subprocess.call()
-
+
"""
try:
if deluge.common.windows_check():
@@ -679,7 +681,7 @@ class Client(object):
def get_bytes_recv(self):
"""
Returns the number of bytes received from the daemon.
-
+
:returns: the number of bytes received
:rtype: int
"""
@@ -688,11 +690,11 @@ class Client(object):
def get_bytes_sent(self):
"""
Returns the number of bytes sent to the daemon.
-
+
:returns: the number of bytes sent
:rtype: int
"""
return self._daemon_proxy.get_bytes_sent()
-
+
# This is the object clients will use
client = Client()
diff --git a/deluge/ui/common.py b/deluge/ui/common.py
index 5f53db84e..fb9048d01 100644
--- a/deluge/ui/common.py
+++ b/deluge/ui/common.py
@@ -40,6 +40,7 @@ all the interfaces.
import os
import sys
+import logging
import urlparse
import locale
@@ -51,9 +52,10 @@ except ImportError:
from deluge import bencode
from deluge.common import decode_string, path_join
-from deluge.log import LOG as log
import deluge.configmanager
+log = logging.getLogger(__name__)
+
class TorrentInfo(object):
"""
Collects information about a torrent file.
diff --git a/deluge/ui/console/commands/config.py b/deluge/ui/console/commands/config.py
index 54ef15ee5..e74ad344e 100644
--- a/deluge/ui/console/commands/config.py
+++ b/deluge/ui/console/commands/config.py
@@ -34,18 +34,20 @@
#
#
+import re
+import logging
+import tokenize
+import cStringIO
+from optparse import make_option
+
from twisted.internet import defer
from deluge.ui.console.main import BaseCommand
import deluge.ui.console.colors as colors
from deluge.ui.client import client
import deluge.component as component
-from deluge.log import LOG as log
-
-from optparse import make_option
-import re
-import cStringIO, tokenize
+log = logging.getLogger(__name__)
def atom(next, token):
"""taken with slight modifications from http://effbot.org/zone/simple-iterator-parser.htm"""
diff --git a/deluge/ui/console/eventlog.py b/deluge/ui/console/eventlog.py
index 91e258ae1..df1447bae 100644
--- a/deluge/ui/console/eventlog.py
+++ b/deluge/ui/console/eventlog.py
@@ -34,12 +34,13 @@
#
+import logging
import deluge.component as component
import deluge.common
import colors
from deluge.ui.client import client
-from deluge.log import LOG as log
+log = logging.getLogger(__name__)
class EventLog(component.Component):
"""
diff --git a/deluge/ui/console/main.py b/deluge/ui/console/main.py
index 8235ee907..09f534482 100644
--- a/deluge/ui/console/main.py
+++ b/deluge/ui/console/main.py
@@ -34,7 +34,9 @@
#
#
-import os, sys
+import os
+import sys
+import logging
import optparse
import shlex
import locale
@@ -50,9 +52,10 @@ from deluge.ui.console.statusbars import StatusBars
from deluge.ui.console.eventlog import EventLog
import screen
import colors
-from deluge.log import LOG as log
from deluge.ui.ui import _UI
+log = logging.getLogger(__name__)
+
class Console(_UI):
help = """Starts the Deluge console interface"""
diff --git a/deluge/ui/console/screen.py b/deluge/ui/console/screen.py
index ad0da738f..bf6b53190 100644
--- a/deluge/ui/console/screen.py
+++ b/deluge/ui/console/screen.py
@@ -34,6 +34,7 @@
#
import sys
+import logging
try:
import curses
except ImportError:
@@ -48,9 +49,10 @@ try:
except:
pass
-from deluge.log import LOG as log
from twisted.internet import reactor
+log = logging.getLogger(__name__)
+
class CursesStdIO(object):
"""fake fd to be registered as a reader with the twisted reactor.
Curses classes needing input should extend this"""
diff --git a/deluge/ui/coreconfig.py b/deluge/ui/coreconfig.py
index c56019729..6120dcfa8 100644
--- a/deluge/ui/coreconfig.py
+++ b/deluge/ui/coreconfig.py
@@ -34,9 +34,11 @@
#
+import logging
import deluge.component as component
from deluge.ui.client import client
-from deluge.log import LOG as log
+
+log = logging.getLogger(__name__)
class CoreConfig(component.Component):
def __init__(self):
diff --git a/deluge/ui/gtkui/addtorrentdialog.py b/deluge/ui/gtkui/addtorrentdialog.py
index 62e769de8..a4fb421f0 100644
--- a/deluge/ui/gtkui/addtorrentdialog.py
+++ b/deluge/ui/gtkui/addtorrentdialog.py
@@ -36,10 +36,12 @@
import pygtk
pygtk.require('2.0')
-import gtk, gtk.glade
+import gtk
+import gtk.glade
import gettext
import gobject
import base64
+import logging
import os
import pkg_resources
@@ -48,12 +50,13 @@ from deluge.ui.client import client
import deluge.component as component
import listview
from deluge.configmanager import ConfigManager
-from deluge.log import LOG as log
import deluge.common
import deluge.ui.common
import dialogs
import common
+log = logging.getLogger(__name__)
+
class AddTorrentDialog(component.Component):
def __init__(self):
component.Component.__init__(self, "AddTorrentDialog")
diff --git a/deluge/ui/gtkui/common.py b/deluge/ui/gtkui/common.py
index 5b25fa537..b584c81b7 100644
--- a/deluge/ui/gtkui/common.py
+++ b/deluge/ui/gtkui/common.py
@@ -39,15 +39,17 @@ import os
import pygtk
pygtk.require('2.0')
-import gtk, gtk.glade
-
+import gtk
+import gtk.glade
+import logging
import pkg_resources
from deluge.ui.client import client
import deluge.component as component
-from deluge.log import LOG as log
import deluge.common
+log = logging.getLogger(__name__)
+
def get_logo(size):
"""Returns a deluge logo pixbuf based on the size parameter."""
if deluge.common.windows_check() or deluge.common.osx_check():
diff --git a/deluge/ui/gtkui/connectionmanager.py b/deluge/ui/gtkui/connectionmanager.py
index 3b9ddf417..96fef9d1d 100644
--- a/deluge/ui/gtkui/connectionmanager.py
+++ b/deluge/ui/gtkui/connectionmanager.py
@@ -38,6 +38,7 @@ import pkg_resources
import urlparse
import time
import hashlib
+import logging
from twisted.internet import reactor
import deluge.component as component
@@ -48,9 +49,10 @@ from deluge.ui.client import client
import deluge.ui.client
import deluge.ui.common
from deluge.configmanager import ConfigManager
-from deluge.log import LOG as log
import dialogs
+log = logging.getLogger(__name__)
+
DEFAULT_HOST = "127.0.0.1"
DEFAULT_PORT = 58846
diff --git a/deluge/ui/gtkui/createtorrentdialog.py b/deluge/ui/gtkui/createtorrentdialog.py
index 5624a634f..2fb7b689a 100644
--- a/deluge/ui/gtkui/createtorrentdialog.py
+++ b/deluge/ui/gtkui/createtorrentdialog.py
@@ -40,6 +40,7 @@ import pkg_resources
import os.path
import gobject
import base64
+import logging
from twisted.internet.threads import deferToThread
@@ -48,7 +49,8 @@ import listview
import deluge.component as component
import deluge.common
from deluge.configmanager import ConfigManager
-from deluge.log import LOG as log
+
+log = logging.getLogger(__name__)
class CreateTorrentDialog:
def show(self):
diff --git a/deluge/ui/gtkui/details_tab.py b/deluge/ui/gtkui/details_tab.py
index 411d38423..96f39cfbf 100644
--- a/deluge/ui/gtkui/details_tab.py
+++ b/deluge/ui/gtkui/details_tab.py
@@ -34,14 +34,16 @@
#
-import gtk, gtk.glade
+import gtk
+import gtk.glade
+import logging
from deluge.ui.client import client
import deluge.component as component
from deluge.common import fsize, is_url
from deluge.ui.gtkui.torrentdetails import Tab
-from deluge.log import LOG as log
+log = logging.getLogger(__name__)
class DetailsTab(Tab):
def __init__(self):
diff --git a/deluge/ui/gtkui/edittrackersdialog.py b/deluge/ui/gtkui/edittrackersdialog.py
index d710cc6c6..2c9dc73a6 100644
--- a/deluge/ui/gtkui/edittrackersdialog.py
+++ b/deluge/ui/gtkui/edittrackersdialog.py
@@ -34,14 +34,17 @@
#
-import gtk, gtk.glade
+import gtk
+import gtk.glade
+import logging
import pkg_resources
import deluge.common
import common
from deluge.ui.client import client
import deluge.component as component
-from deluge.log import LOG as log
+
+log = logging.getLogger(__name__)
class EditTrackersDialog:
def __init__(self, torrent_id, parent=None):
diff --git a/deluge/ui/gtkui/files_tab.py b/deluge/ui/gtkui/files_tab.py
index c43d85b1b..6feeab7ea 100644
--- a/deluge/ui/gtkui/files_tab.py
+++ b/deluge/ui/gtkui/files_tab.py
@@ -34,11 +34,14 @@
#
-import gtk, gtk.glade, gtk.gdk
+import gtk
+import gtk.gdk
+import gtk.glade
import gobject
import gettext
import os.path
import cPickle
+import logging
from deluge.ui.gtkui.torrentdetails import Tab
from deluge.ui.client import client
@@ -48,7 +51,7 @@ import deluge.component as component
import deluge.common
import common
-from deluge.log import LOG as log
+log = logging.getLogger(__name__)
def cell_priority(column, cell, model, row, data):
if model.get_value(row, 5) == -1:
diff --git a/deluge/ui/gtkui/filtertreeview.py b/deluge/ui/gtkui/filtertreeview.py
index 1438c70dc..d7a242840 100644
--- a/deluge/ui/gtkui/filtertreeview.py
+++ b/deluge/ui/gtkui/filtertreeview.py
@@ -37,14 +37,16 @@
import gtk
import gtk.glade
+import logging
import pkg_resources
import deluge.component as component
import deluge.common
-from deluge.log import LOG as log
from deluge.ui.client import client
from deluge.configmanager import ConfigManager
+log = logging.getLogger(__name__)
+
STATE_PIX = {
"All": "all",
"Downloading": "downloading",
@@ -126,7 +128,7 @@ class FilterTreeView(component.Component):
# Force the theme to use an expander-size of 15 so that we don't cut out
# entries due to our indentation hack.
gtk.rc_parse_string('style "treeview-style" { GtkTreeView::expander-size = 15 } class "GtkTreeView" style "treeview-style"')
-
+
self.label_view.set_model(self.treestore)
self.label_view.get_selection().connect("changed", self.on_selection_changed)
self.create_model_filter()
diff --git a/deluge/ui/gtkui/gtkui.py b/deluge/ui/gtkui/gtkui.py
index 3ff092495..1609a2869 100644
--- a/deluge/ui/gtkui/gtkui.py
+++ b/deluge/ui/gtkui/gtkui.py
@@ -32,7 +32,6 @@
# statement from all source files in the program, then also delete it here.
#
#
-from deluge.log import LOG as log
# Install the twisted reactor
from twisted.internet import gtk2reactor
@@ -42,8 +41,12 @@ import gobject
import gettext
import locale
import pkg_resources
-import gtk, gtk.glade
+import gtk
+import gtk.glade
import sys
+import logging
+
+log = logging.getLogger(__name__)
# Initialize gettext
try:
diff --git a/deluge/ui/gtkui/ipcinterface.py b/deluge/ui/gtkui/ipcinterface.py
index dc2f917ea..f63a8a45c 100644
--- a/deluge/ui/gtkui/ipcinterface.py
+++ b/deluge/ui/gtkui/ipcinterface.py
@@ -37,22 +37,24 @@
import sys
import os
import base64
+import logging
try:
import rencode
except ImportError:
import deluge.rencode as rencode
-
+
import deluge.component as component
from deluge.ui.client import client
import deluge.common
from deluge.configmanager import ConfigManager
-from deluge.log import LOG as log
from twisted.internet.protocol import Factory, Protocol, ClientFactory
from twisted.internet import reactor
import twisted.internet.error
+log = logging.getLogger(__name__)
+
class IPCProtocolServer(Protocol):
def dataReceived(self, data):
data = rencode.loads(data)
@@ -62,11 +64,11 @@ class IPCProtocolClient(Protocol):
def connectionMade(self):
self.transport.write(rencode.dumps(self.factory.args))
self.transport.loseConnection()
-
+
def connectionLost(self, reason):
reactor.stop()
self.factory.stop = True
-
+
class IPCClientFactory(ClientFactory):
protocol = IPCProtocolClient
@@ -74,11 +76,11 @@ class IPCClientFactory(ClientFactory):
self.stop = False
self.args = args
self.connect_failed = connect_failed
-
+
def clientConnectionFailed(self, connector, reason):
log.info("Connection to running instance failed. Starting new one..")
reactor.stop()
-
+
class IPCInterface(component.Component):
def __init__(self, args):
component.Component.__init__(self, "IPCInterface")
@@ -165,7 +167,7 @@ class IPCInterface(component.Component):
os.remove(socket)
except Exception, e:
log.error("Unable to remove socket file: %s", e)
-
+
lock = socket + ".lock"
if os.path.lexists(lock):
try:
@@ -180,7 +182,7 @@ class IPCInterface(component.Component):
log.error("Unable to start IPC listening socket: %s", e)
finally:
process_args(args)
-
+
def shutdown(self):
if deluge.common.windows_check():
import win32api
diff --git a/deluge/ui/gtkui/listview.py b/deluge/ui/gtkui/listview.py
index c083fad76..9a2aed9a6 100644
--- a/deluge/ui/gtkui/listview.py
+++ b/deluge/ui/gtkui/listview.py
@@ -37,6 +37,7 @@
import cPickle
import os.path
+import logging
import pygtk
pygtk.require('2.0')
@@ -46,13 +47,13 @@ import gettext
from deluge.configmanager import ConfigManager
import deluge.configmanager
import deluge.common
-from deluge.log import LOG as log
from gobject import signal_new, SIGNAL_RUN_LAST, TYPE_NONE
from gtk import gdk
signal_new('button-press-event', gtk.TreeViewColumn,
SIGNAL_RUN_LAST, TYPE_NONE, (gdk.Event,))
+log = logging.getLogger(__name__)
# Cell data functions to pass to add_func_column()
def cell_data_speed(column, cell, model, row, data):
diff --git a/deluge/ui/gtkui/mainwindow.py b/deluge/ui/gtkui/mainwindow.py
index 344359f5b..12fa5a96d 100644
--- a/deluge/ui/gtkui/mainwindow.py
+++ b/deluge/ui/gtkui/mainwindow.py
@@ -36,8 +36,10 @@
import pygtk
pygtk.require('2.0')
-import gtk, gtk.glade
+import gtk
+import gtk.glade
import gobject
+import logging
import pkg_resources
from urlparse import urlparse
import urllib
@@ -51,7 +53,7 @@ from twisted.internet import reactor
import deluge.common
import common
-from deluge.log import LOG as log
+log = logging.getLogger(__name__)
class MainWindow(component.Component):
def __init__(self):
diff --git a/deluge/ui/gtkui/menubar.py b/deluge/ui/gtkui/menubar.py
index 1a9026965..901e6b3c6 100644
--- a/deluge/ui/gtkui/menubar.py
+++ b/deluge/ui/gtkui/menubar.py
@@ -36,7 +36,9 @@
import pygtk
pygtk.require('2.0')
-import gtk, gtk.glade
+import gtk
+import gtk.glade
+import logging
import pkg_resources
import deluge.error
@@ -46,7 +48,7 @@ import deluge.common
import common
from deluge.configmanager import ConfigManager
-from deluge.log import LOG as log
+log = logging.getLogger(__name__)
class MenuBar(component.Component):
def __init__(self):
diff --git a/deluge/ui/gtkui/notification.py b/deluge/ui/gtkui/notification.py
index fe2d1e0e9..7e17fa9d2 100644
--- a/deluge/ui/gtkui/notification.py
+++ b/deluge/ui/gtkui/notification.py
@@ -34,13 +34,15 @@
#
+import logging
import deluge.component as component
import deluge.common
import common
-from deluge.log import LOG as log
from deluge.configmanager import ConfigManager
from deluge.ui.client import client
+log = logging.getLogger(__name__)
+
class Notification:
def __init__(self):
self.config = ConfigManager("gtkui.conf")
@@ -53,7 +55,9 @@ class Notification:
self.get_torrent_status(torrent_id)
def get_torrent_status(self, torrent_id):
- component.get("SessionProxy").get_torrent_status(torrent_id, ["name", "num_files", "total_payload_download"]).addCallback(self._on_get_torrent_status)
+ component.get("SessionProxy").get_torrent_status(torrent_id, [
+ "name", "num_files", "total_payload_download"
+ ]).addCallback(self._on_get_torrent_status)
def _on_get_torrent_status(self, status):
if status is None:
@@ -77,7 +81,10 @@ class Notification:
if not pynotify.init("Deluge"):
return
title = deluge.common.xml_encode(_("Torrent complete"))
- message = deluge.common.xml_encode(status["name"] + "\n" + _("Including %i files" % status["num_files"]))
+ message = deluge.common.xml_encode(
+ status["name"] + "\n" +
+ _("Including %i files" % status["num_files"])
+ )
self.note = pynotify.Notification(title, message)
self.note.set_icon_from_pixbuf(common.get_logo(48))
if not self.note.show():
@@ -106,9 +113,12 @@ class Notification:
headers = "From: %s\r\nTo: %s\r\nSubject: %s\r\n\r\n" % (
self.config["ntf_email_add"], self.config["ntf_email_add"],
"Finished torrent %s" % (status["name"]))
- text = _("This email is to inform you that Deluge has finished downloading %(name)s , \
- which includes %(num_files)i files.\nTo stop receiving these alerts, simply turn off \
- email notification in Deluge's preferences.\n\nThank you,\nDeluge") % {"name": status["name"], "num_files": status["num_files"]}
+ text = _("This email is to inform you that Deluge has finished "
+ "downloading %(name)s , which includes %(num_files)i files.\n"
+ "To stop receiving these alerts, simply turn off email "
+ "notification in Deluge's preferences.\n\n"
+ "Thank you,\nDeluge") % {"name": status["name"],
+ "num_files": status["num_files"]}
message = headers + text
if self.config["ntf_security"] == 'SSL':
port = 465
diff --git a/deluge/ui/gtkui/peers_tab.py b/deluge/ui/gtkui/peers_tab.py
index 9e4b92dda..9ac5a6de9 100644
--- a/deluge/ui/gtkui/peers_tab.py
+++ b/deluge/ui/gtkui/peers_tab.py
@@ -34,7 +34,9 @@
#
-import gtk, gtk.glade
+import gtk
+import gtk.glade
+import logging
import os.path
import cPickle
import pkg_resources
@@ -48,9 +50,10 @@ import deluge.component as component
import deluge.common
from deluge.ui.gtkui.listview import cell_data_speed as cell_data_speed
from deluge.ui.gtkui.torrentdetails import Tab
-from deluge.log import LOG as log
from deluge.ui.countries import COUNTRIES
+log = logging.getLogger(__name__)
+
def cell_data_progress(column, cell, model, row, data):
value = model.get_value(row, data)
cell.set_property("value", value * 100)
diff --git a/deluge/ui/gtkui/pluginmanager.py b/deluge/ui/gtkui/pluginmanager.py
index 8d0126461..b5169977d 100644
--- a/deluge/ui/gtkui/pluginmanager.py
+++ b/deluge/ui/gtkui/pluginmanager.py
@@ -34,11 +34,13 @@
#
+import logging
import deluge.component as component
import deluge.pluginmanagerbase
from deluge.ui.client import client
from deluge.configmanager import ConfigManager
-from deluge.log import LOG as log
+
+log = logging.getLogger(__name__)
class PluginManager(deluge.pluginmanagerbase.PluginManagerBase,
component.Component):
diff --git a/deluge/ui/gtkui/preferences.py b/deluge/ui/gtkui/preferences.py
index 0f9a21915..28aa8762d 100644
--- a/deluge/ui/gtkui/preferences.py
+++ b/deluge/ui/gtkui/preferences.py
@@ -36,11 +36,12 @@
import pygtk
pygtk.require('2.0')
-import gtk, gtk.glade
+import gtk
+import gtk.glade
+import logging
import pkg_resources
import deluge.component as component
-from deluge.log import LOG as log
from deluge.ui.client import client
import deluge.common
import deluge.error
@@ -48,13 +49,15 @@ import common
from deluge.configmanager import ConfigManager
import deluge.configmanager
+log = logging.getLogger(__name__)
+
class Preferences(component.Component):
def __init__(self):
component.Component.__init__(self, "Preferences")
self.window = component.get("MainWindow")
- self.glade = gtk.glade.XML(
- pkg_resources.resource_filename("deluge.ui.gtkui",
- "glade/preferences_dialog.glade"))
+ self.glade = gtk.glade.XML(pkg_resources.resource_filename(
+ "deluge.ui.gtkui", "glade/preferences_dialog.glade"
+ ))
self.pref_dialog = self.glade.get_widget("pref_dialog")
self.pref_dialog.set_icon(common.get_deluge_icon())
self.treeview = self.glade.get_widget("treeview")
diff --git a/deluge/ui/gtkui/queuedtorrents.py b/deluge/ui/gtkui/queuedtorrents.py
index fa18a1f87..652473c2c 100644
--- a/deluge/ui/gtkui/queuedtorrents.py
+++ b/deluge/ui/gtkui/queuedtorrents.py
@@ -36,7 +36,9 @@
import base64
import os.path
-import gtk, gtk.glade
+import gtk
+import gtk.glade
+import logging
import gobject
import pkg_resources
@@ -44,9 +46,10 @@ import deluge.component as component
from deluge.ui.client import client
import deluge.common
from deluge.configmanager import ConfigManager
-from deluge.log import LOG as log
import common
+log = logging.getLogger(__name__)
+
class QueuedTorrents(component.Component):
def __init__(self):
component.Component.__init__(self, "QueuedTorrents", depend=["StatusBar", "AddTorrentDialog"])
@@ -176,7 +179,7 @@ class QueuedTorrents(component.Component):
if self.config["interactive_add"]:
def on_show(result):
component.get("AddTorrentDialog").add_from_url(torrent_path)
-
+
d = component.get("AddTorrentDialog").show(self.config["focus_add_dialog"])
d.addCallback(on_show)
else:
diff --git a/deluge/ui/gtkui/removetorrentdialog.py b/deluge/ui/gtkui/removetorrentdialog.py
index 071992ba5..36257eed0 100644
--- a/deluge/ui/gtkui/removetorrentdialog.py
+++ b/deluge/ui/gtkui/removetorrentdialog.py
@@ -33,12 +33,15 @@
#
#
-import gtk, gtk.glade
+import gtk
+import gtk.glade
+import logging
import pkg_resources
from deluge.ui.client import client
import deluge.component as component
-from deluge.log import LOG as log
+
+log = logging.getLogger(__name__)
class RemoveTorrentDialog(object):
"""
diff --git a/deluge/ui/gtkui/sidebar.py b/deluge/ui/gtkui/sidebar.py
index 7c1768b37..1b1cca129 100644
--- a/deluge/ui/gtkui/sidebar.py
+++ b/deluge/ui/gtkui/sidebar.py
@@ -37,11 +37,13 @@
import gtk
import gtk.glade
+import logging
import deluge.component as component
import deluge.common
from deluge.configmanager import ConfigManager
-from deluge.log import LOG as log
+
+log = logging.getLogger(__name__)
class SideBar(component.Component):
"""
diff --git a/deluge/ui/gtkui/status_tab.py b/deluge/ui/gtkui/status_tab.py
index 6feed8ed9..255c303cc 100644
--- a/deluge/ui/gtkui/status_tab.py
+++ b/deluge/ui/gtkui/status_tab.py
@@ -35,13 +35,16 @@
#
-import gtk, gtk.glade
+import gtk
+import gtk.glade
+import logging
from deluge.ui.client import client
import deluge.component as component
import deluge.common
from deluge.ui.gtkui.torrentdetails import Tab
-from deluge.log import LOG as log
+
+log = logging.getLogger(__name__)
def fpeer_sized(first, second):
return "%s (%s)" % (deluge.common.fsize(first), deluge.common.fsize(second))
diff --git a/deluge/ui/gtkui/statusbar.py b/deluge/ui/gtkui/statusbar.py
index a95e78b61..60202a213 100644
--- a/deluge/ui/gtkui/statusbar.py
+++ b/deluge/ui/gtkui/statusbar.py
@@ -36,13 +36,15 @@
import gtk
import gobject
+import logging
from deluge.ui.client import client
import deluge.component as component
import deluge.common
import common
from deluge.configmanager import ConfigManager
-from deluge.log import LOG as log
+
+log = logging.getLogger(__name__)
class StatusBarItem:
def __init__(self, image=None, stock=None, text=None, callback=None, tooltip=None):
diff --git a/deluge/ui/gtkui/systemtray.py b/deluge/ui/gtkui/systemtray.py
index 807852399..95beafac6 100644
--- a/deluge/ui/gtkui/systemtray.py
+++ b/deluge/ui/gtkui/systemtray.py
@@ -35,15 +35,17 @@
import gtk
+import logging
import pkg_resources
import deluge.component as component
from deluge.ui.client import client
import deluge.common
from deluge.configmanager import ConfigManager
-from deluge.log import LOG as log
import common
+log = logging.getLogger(__name__)
+
class SystemTray(component.Component):
def __init__(self):
component.Component.__init__(self, "SystemTray", interval=4)
diff --git a/deluge/ui/gtkui/toolbar.py b/deluge/ui/gtkui/toolbar.py
index 81b0c3e8e..5099fd54d 100644
--- a/deluge/ui/gtkui/toolbar.py
+++ b/deluge/ui/gtkui/toolbar.py
@@ -36,15 +36,18 @@
import pygtk
pygtk.require('2.0')
-import gtk, gtk.glade
+import gtk
+import gtk.glade
import gobject
+import logging
import deluge.component as component
from deluge.ui.client import client
-from deluge.log import LOG as log
from deluge.common import TORRENT_STATE
from deluge.configmanager import ConfigManager
+log = logging.getLogger(__name__)
+
class ToolBar(component.Component):
def __init__(self):
component.Component.__init__(self, "ToolBar")
diff --git a/deluge/ui/gtkui/torrentdetails.py b/deluge/ui/gtkui/torrentdetails.py
index 035e3ac4f..6241a218f 100644
--- a/deluge/ui/gtkui/torrentdetails.py
+++ b/deluge/ui/gtkui/torrentdetails.py
@@ -36,17 +36,19 @@
"""The torrent details component shows info about the selected torrent."""
-import gtk, gtk.glade
+import gtk
+import gtk.glade
import os
import os.path
import cPickle
+import logging
import deluge.component as component
from deluge.ui.client import client
from deluge.configmanager import ConfigManager
import deluge.configmanager
-from deluge.log import LOG as log
+log = logging.getLogger(__name__)
class Tab:
def __init__(self):
diff --git a/deluge/ui/gtkui/torrentview.py b/deluge/ui/gtkui/torrentview.py
index 5f1e45228..3753fa105 100644
--- a/deluge/ui/gtkui/torrentview.py
+++ b/deluge/ui/gtkui/torrentview.py
@@ -38,19 +38,22 @@
import pygtk
pygtk.require('2.0')
-import gtk, gtk.glade
+import gtk
+import gtk.glade
import gettext
import gobject
+import logging
from urlparse import urlparse
import deluge.common
import deluge.component as component
from deluge.ui.client import client
-from deluge.log import LOG as log
import listview
from deluge.ui.tracker_icons import TrackerIcons
from removetorrentdialog import RemoveTorrentDialog
+log = logging.getLogger(__name__)
+
# Status icons.. Create them from file only once to avoid constantly
# re-creating them.
icon_downloading = gtk.gdk.pixbuf_new_from_file(
diff --git a/deluge/ui/sessionproxy.py b/deluge/ui/sessionproxy.py
index 50b8af4ee..f1e5d3e3c 100644
--- a/deluge/ui/sessionproxy.py
+++ b/deluge/ui/sessionproxy.py
@@ -33,13 +33,15 @@
#
#
+import logging
from twisted.internet.defer import maybeDeferred, succeed
import deluge.component as component
from deluge.ui.client import client
-from deluge.log import LOG as log
import time
+log = logging.getLogger(__name__)
+
class SessionProxy(component.Component):
"""
The SessionProxy component is used to cache session information client-side
diff --git a/deluge/ui/tracker_icons.py b/deluge/ui/tracker_icons.py
index 91a02e46e..008783696 100644
--- a/deluge/ui/tracker_icons.py
+++ b/deluge/ui/tracker_icons.py
@@ -34,6 +34,7 @@
#
import os
+import logging
from HTMLParser import HTMLParser, HTMLParseError
from urlparse import urljoin, urlparse
from tempfile import mkstemp
@@ -45,7 +46,7 @@ from deluge.component import Component
from deluge.configmanager import get_config_dir
from deluge.httpdownloader import download_file
from deluge.decorators import proxy
-from deluge.log import LOG as log
+
try:
import PIL.Image as Image
@@ -55,6 +56,8 @@ except ImportError:
else:
PIL_INSTALLED = True
+log = logging.getLogger(__name__)
+
class TrackerIcon(object):
"""
Represents a tracker's icon
diff --git a/deluge/ui/ui.py b/deluge/ui/ui.py
index b210e2d1d..06fe76c4e 100644
--- a/deluge/ui/ui.py
+++ b/deluge/ui/ui.py
@@ -33,6 +33,7 @@
#
#
+import logging
from optparse import OptionParser, OptionGroup
import deluge.common
import deluge.configmanager
@@ -65,6 +66,8 @@ class _UI(object):
help="Set the log level: none, info, warning, error, critical, debug", action="store", type="str")
group.add_option("-q", "--quiet", dest="quiet",
help="Sets the log level to 'none', this is the same as `-L none`", action="store_true", default=False)
+ group.add_option("-r", "--rotate-logs",
+ help="Rotate logfiles.", action="store_true", default=False)
self.__parser.add_option_group(group)
@property
@@ -89,9 +92,17 @@ class _UI(object):
if self.__options.quiet:
self.__options.loglevel = "none"
+ logfile_mode = 'w'
+ if self.__options.rotate_logs:
+ logfile_mode = 'a'
+
+ # Setup the logger
# Setup the logger
- deluge.log.setupLogger(level=self.__options.loglevel, filename=self.__options.logfile)
- log = deluge.log.LOG
+ deluge.log.setupLogger(level=self.__options.loglevel,
+ filename=self.__options.logfile,
+ filemode=logfile_mode)
+
+ log = logging.getLogger(__name__)
if self.__options.config:
if not deluge.configmanager.set_config_dir(self.__options.config):
@@ -105,7 +116,8 @@ class _UI(object):
class UI:
def __init__(self, options, args, ui_args):
- from deluge.log import LOG as log
+ import logging
+ log = logging.getLogger(__name__)
log.debug("UI init..")
# Set the config directory
diff --git a/deluge/ui/web/server.py b/deluge/ui/web/server.py
index fa0000809..bb7b12da8 100644
--- a/deluge/ui/web/server.py
+++ b/deluge/ui/web/server.py
@@ -53,13 +53,13 @@ from twisted.web import http, resource, server, static
from deluge import common, component, configmanager
from deluge.core.rpcserver import check_ssl_keys
-from deluge.log import setupLogger, LOG as _log
from deluge.ui import common as uicommon
from deluge.ui.tracker_icons import TrackerIcons
from deluge.ui.web.auth import Auth
from deluge.ui.web.common import Template, compress
from deluge.ui.web.json_api import JSON, WebApi
from deluge.ui.web.pluginmanager import PluginManager
+
log = logging.getLogger(__name__)
# Initialize gettext
@@ -248,7 +248,7 @@ class LookupResource(resource.Resource, component.Component):
self.__paths = {}
for directory in directories:
self.addDirectory(directory)
-
+
def addDirectory(self, directory, path=""):
log.debug("Adding directory `%s` with path `%s`", directory, path)
paths = self.__paths.setdefault(path, [])
@@ -342,10 +342,10 @@ class ScriptResource(resource.Resource, component.Component):
self.__scripts[type]["order"].append(path)
def remove_script(self, path, type=None):
- """
- Removes a script or folder of scripts from the script resource.
+ """
+ Removes a script or folder of scripts from the script resource.
- :param path: The path of the folder
+ :param path: The path of the folder
:type path: string
:keyword type: The type of script to add (normal, debug, dev)
:param type: string
@@ -667,13 +667,13 @@ class DelugeWeb(component.Component):
def start_normal(self):
self.socket = reactor.listenTCP(self.port, self.site)
log.info("serving on %s:%s view at http://127.0.0.1:%s", "0.0.0.0",
- self.port, self.port)
+ self.port, self.port)
def start_ssl(self):
check_ssl_keys()
self.socket = reactor.listenSSL(self.port, self.site, ServerContextFactory())
log.info("serving on %s:%s view at https://127.0.0.1:%s", "0.0.0.0",
- self.port, self.port)
+ self.port, self.port)
def stop(self):
log.info("Shutting down webserver")