diff --git a/deluge/core/authmanager.py b/deluge/core/authmanager.py index 955421814..74dcefb9c 100644 --- a/deluge/core/authmanager.py +++ b/deluge/core/authmanager.py @@ -104,7 +104,8 @@ class AuthManager(component.Component): from hashlib import sha1 as sha_hash except ImportError: from sha import new as sha_hash - return "localclient:" + sha_hash(str(random.random())).hexdigest() + ":" + str(AUTH_LEVEL_ADMIN) + "\n" + return ("localclient:" + sha_hash(str(random.random())).hexdigest() + + ":" + str(AUTH_LEVEL_ADMIN) + "\n") def __load_auth_file(self): auth_file = configmanager.get_config_dir("auth") @@ -135,7 +136,9 @@ class AuthManager(component.Component): continue if len(lsplit) == 2: username, password = lsplit - log.warning("Your auth entry for %s contains no auth level, using AUTH_LEVEL_DEFAULT(%s)..", username, AUTH_LEVEL_DEFAULT) + log.warning("Your auth entry for %s contains no auth level, " + "using AUTH_LEVEL_DEFAULT(%s)..", username, + AUTH_LEVEL_DEFAULT) level = AUTH_LEVEL_DEFAULT elif len(lsplit) == 3: username, password, level = lsplit diff --git a/deluge/ui/client.py b/deluge/ui/client.py index 4fc8817ec..4cd44ed15 100644 --- a/deluge/ui/client.py +++ b/deluge/ui/client.py @@ -44,7 +44,6 @@ except ImportError: import zlib import deluge.common -import deluge.component as component from deluge.log import LOG as log from deluge.error import AuthenticationRequired from deluge.event import known_events @@ -111,8 +110,10 @@ class DelugeRPCRequest(object): :returns: a properly formated RPCRequest """ - if self.request_id is None or self.method is None or self.args is None or self.kwargs is None: - raise TypeError("You must set the properties of this object before calling format_message!") + if self.request_id is None or self.method is None or self.args is None \ + or self.kwargs is None: + raise TypeError("You must set the properties of this object " + "before calling format_message!") return (self.request_id, self.method, self.args, self.kwargs) @@ -163,7 +164,8 @@ class DelugeRPCProtocol(Protocol): log.debug("Received invalid message: type is not tuple") return if len(request) < 3: - log.debug("Received invalid message: number of items in response is %s", len(3)) + log.debug("Received invalid message: number of items in " + "response is %s", len(3)) return message_type = request[0] @@ -192,7 +194,8 @@ class DelugeRPCProtocol(Protocol): elif message_type == RPC_ERROR: # Create the DelugeRPCError to pass to the errback r = self.__rpc_requests[request_id] - e = DelugeRPCError(r.method, r.args, r.kwargs, request[2][0], request[2][1], request[2][2]) + e = DelugeRPCError(r.method, r.args, r.kwargs, request[2][0], + request[2][1], request[2][2]) # Run the errbacks registered with this Deferred object d.errback(e) @@ -281,7 +284,9 @@ class DaemonSSLProxy(DaemonProxy): log.debug("sslproxy.connect()") self.host = host self.port = port - self.__connector = reactor.connectSSL(self.host, self.port, self.__factory, ssl.ClientContextFactory()) + self.__connector = reactor.connectSSL(self.host, self.port, + self.__factory, + ssl.ClientContextFactory()) self.connect_deferred = defer.Deferred() self.daemon_info_deferred = defer.Deferred() @@ -389,17 +394,13 @@ class DaemonSSLProxy(DaemonProxy): """ try: if error_data.check(AuthenticationRequired): - print error_data.value.__dict__ return error_data except: pass -# print 1234567, error_data # Get the DelugeRPCError object from the error_data error = error_data.value -# if error.exception_type == "AuthenticationRequired": -# return # Create a delugerpcrequest to print out a nice RPCRequest string r = DelugeRPCRequest() r.method = error.method @@ -423,7 +424,8 @@ class DaemonSSLProxy(DaemonProxy): self.daemon_info_deferred.callback(daemon_info) def on_info_fail(reason): - log.debug("Failed to get info from daemon: %s", reason) + log.debug("Failed to get info from daemon") + log.exception(reason) self.daemon_info_deferred.errback(reason) self.call("daemon.info").addCallback(on_info).addErrback(on_info_fail) @@ -431,7 +433,6 @@ class DaemonSSLProxy(DaemonProxy): def __on_connect_fail(self, reason): log.debug("__on_connect_fail called") - log.debug("connect_fail: %s", reason) log.exception(reason) self.daemon_info_deferred.errback(reason) @@ -574,13 +575,6 @@ class Client(object): :returns: a Deferred object that will be called once the connection has been established or fails """ - log.debug("real client connect") -# if not username and host in ("127.0.0.1", "localhost"): -# # No username was provided and it's the localhost, so we can try -# # to grab the credentials from the auth file. -# import common -# username, password = common.get_localhost_auth() - self._daemon_proxy = DaemonSSLProxy(dict(self.__event_handlers)) self._daemon_proxy.set_disconnect_callback(self.__on_disconnect) d = self._daemon_proxy.connect(host, port) @@ -604,35 +598,16 @@ class Client(object): auth_deferred.errback(reason) def on_connected(daemon_version): - log.debug("Client.connect.on_connected: %s", daemon_version) - print 1234, self._daemon_proxy + log.debug("Client.connect.on_connected. Daemon version: %s", + daemon_version) d = self._daemon_proxy.authenticate(username, password) - print 1234, d d.addCallback(on_authenticate, daemon_version) d.addErrback(on_authenticate_fail) -# return d d.addCallback(on_connected) return auth_deferred return d - -# def authenticate(self, username="", password=""): -# if not self.connected(): -# raise Exception("You first need to call connect") -# if not username and self._daemon_proxy.host in ("127.0.0.1", "localhost"): -# # No username was provided and it's the localhost, so we can try -# # to grab the credentials from the auth file. -# import common -# username, password = common.get_localhost_auth() -# -# def on_authenticate_fail(reason): -# log.debug("Failed to authenticate %s@%s:%s") -# -# d = self._daemon_proxy.authenticate(username, password) -# d.addErrback(on_authenticate_fail) -# return d - def disconnect(self): """ Disconnects from the daemon. diff --git a/deluge/ui/gtkui/connectionmanager.py b/deluge/ui/gtkui/connectionmanager.py index 7cf38f643..2cecf69fb 100644 --- a/deluge/ui/gtkui/connectionmanager.py +++ b/deluge/ui/gtkui/connectionmanager.py @@ -41,12 +41,10 @@ import logging from twisted.internet import reactor import deluge.component as component -import deluge.common import common import deluge.configmanager from deluge.ui.client import client import deluge.ui.client -import deluge.ui.common from deluge.configmanager import ConfigManager from deluge.error import AuthenticationRequired from deluge.log import LOG as log @@ -58,7 +56,8 @@ DEFAULT_HOST = "127.0.0.1" DEFAULT_PORT = 58846 DEFAULT_CONFIG = { - "hosts": [(hashlib.sha1(str(time.time())).hexdigest(), DEFAULT_HOST, DEFAULT_PORT, "", "")] + "hosts": [(hashlib.sha1(str(time.time())).hexdigest(), DEFAULT_HOST, + DEFAULT_PORT, "localclient", "")] } HOSTLIST_COL_ID = 0 @@ -145,7 +144,11 @@ class ConnectionManager(component.Component): # Create status pixbufs if not HOSTLIST_PIXBUFS: for stock_id in (gtk.STOCK_NO, gtk.STOCK_YES, gtk.STOCK_CONNECT): - HOSTLIST_PIXBUFS.append(self.connection_manager.render_icon(stock_id, gtk.ICON_SIZE_MENU)) + HOSTLIST_PIXBUFS.append( + self.connection_manager.render_icon( + stock_id, gtk.ICON_SIZE_MENU + ) + ) # Create the host list gtkliststore # id-hash, hostname, port, status, username, password, version @@ -176,7 +179,9 @@ class ConnectionManager(component.Component): # Connect the signals to the handlers self.glade.signal_autoconnect(self) - self.hostlist.get_selection().connect("changed", self.on_hostlist_selection_changed) + self.hostlist.get_selection().connect( + "changed", self.on_hostlist_selection_changed + ) self.__update_list() @@ -208,7 +213,8 @@ class ConnectionManager(component.Component): # Check to see if there is already an entry for this host and return # if thats the case for entry in self.liststore: - if [entry[HOSTLIST_COL_HOST], entry[HOSTLIST_COL_PORT], entry[HOSTLIST_COL_USER]] == [host, port, username]: + if [entry[HOSTLIST_COL_HOST], entry[HOSTLIST_COL_PORT], + entry[HOSTLIST_COL_USER]] == [host, port, username]: raise Exception("Host already in list!") # Host isn't in the list, so lets add it @@ -417,8 +423,7 @@ class ConnectionManager(component.Component): self.glade.get_widget("button_startdaemon").set_sensitive(False) # Make sure label is displayed correctly using mnemonics - self.glade.get_widget("label_startdaemon").set_use_underline( - True) + self.glade.get_widget("label_startdaemon").set_use_underline(True) def start_daemon(self, port, config): """ @@ -431,8 +436,9 @@ class ConnectionManager(component.Component): if e.errno == 2: dialogs.ErrorDialog( _("Unable to start daemon!"), - _("Deluge cannot find the 'deluged' executable, it is likely \ -that you forgot to install the deluged package or it's not in your PATH.")).run() + _("Deluge cannot find the 'deluged' executable, it is " + "likely that you forgot to install the deluged package " + "or it's not in your PATH.")).run() else: raise e except Exception, e: @@ -465,9 +471,7 @@ that you forgot to install the deluged package or it's not in your PATH.")).run( component.start() def __on_connected_failed(self, reason, host_id, host, port, user): - log.exception(reason.value) -# log.debug(reason.__dict__) -# log.debug(reason.value.__dict__) + log.debug("Failed to connect: %s", reason) if reason.check(AuthenticationRequired): log.debug("PasswordRequired exception") dialog = dialogs.AuthenticationDialog(reason.value.message, @@ -499,8 +503,9 @@ that you forgot to install the deluged package or it's not in your PATH.")).run( user = model[row][HOSTLIST_COL_USER] password = model[row][HOSTLIST_COL_PASS] - if status == _("Offline") and self.glade.get_widget("chk_autostart").get_active() and\ - host in ("127.0.0.1", "localhost"): + if status == _("Offline") and \ + self.glade.get_widget("chk_autostart").get_active() and \ + host in ("127.0.0.1", "localhost"): # We need to start this localhost self.start_daemon(port, deluge.configmanager.get_config_dir()) @@ -515,7 +520,6 @@ that you forgot to install the deluged package or it's not in your PATH.")).run( do_retry_connect(try_counter) return result def do_retry_connect(try_counter): - log.debug("user: %s pass: %s", user, password) d = client.connect(host, port, user, password) d.addCallback(self.__on_connected, host_id) d.addErrback(on_connect_fail, try_counter) @@ -548,7 +552,8 @@ that you forgot to install the deluged package or it's not in your PATH.")).run( # We add the host try: - self.add_host(hostname, port_spinbutton.get_value_as_int(), username, password) + self.add_host(hostname, port_spinbutton.get_value_as_int(), + username, password) except Exception, e: from deluge.ui.gtkui.dialogs import ErrorDialog ErrorDialog(_("Error Adding Host"), e).run() diff --git a/deluge/ui/gtkui/dialogs.py b/deluge/ui/gtkui/dialogs.py index d0e8f7913..73928a31b 100644 --- a/deluge/ui/gtkui/dialogs.py +++ b/deluge/ui/gtkui/dialogs.py @@ -192,7 +192,7 @@ class ErrorDialog(BaseDialog): class AuthenticationDialog(BaseDialog): """ - Displays a dialog with an entry field asking for a password. + Displays a dialog with entry fields asking for username and password. When run(), it will return either a gtk.RESPONSE_CANCEL or a gtk.RESPONSE_OK.