[UI] Move Gtk console entry point class to __init__
To avoid unnecessarily importing modules from gtkui.py, move Gtk console entry point class to __init__.py. This reduces load time when showing help (deluge -h) with many hundred miliseconds Also cleanup unnecessary WebUI code.
This commit is contained in:
parent
fd9e68e7e7
commit
d6fec88932
|
@ -50,7 +50,7 @@ def load_commands(command_dir):
|
||||||
|
|
||||||
class Console(UI):
|
class Console(UI):
|
||||||
|
|
||||||
cmd_description = """A console or command-line interface"""
|
cmd_description = """Console or command-line user interface"""
|
||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
super(Console, self).__init__("console", *args, description="Test", **kwargs)
|
super(Console, self).__init__("console", *args, description="Test", **kwargs)
|
||||||
|
|
|
@ -1,4 +1,47 @@
|
||||||
from deluge.ui.gtkui.gtkui import Gtk
|
# -*- coding: utf-8 -*-
|
||||||
|
#
|
||||||
|
# Copyright (C) 2007-2009 Andrew Resch <andrewresch@gmail.com>
|
||||||
|
#
|
||||||
|
# This file is part of Deluge and is licensed under GNU General Public License 3.0, or later, with
|
||||||
|
# the additional special exception to link portions of this program with the OpenSSL library.
|
||||||
|
# See LICENSE for more details.
|
||||||
|
#
|
||||||
|
|
||||||
|
import logging
|
||||||
|
|
||||||
|
from deluge.ui.ui import UI
|
||||||
|
|
||||||
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
|
# Keep this class in __init__.py to avoid the console having to import everything in gtkui.py
|
||||||
|
class Gtk(UI):
|
||||||
|
|
||||||
|
cmd_description = """GTK-based graphical user interface"""
|
||||||
|
|
||||||
|
def __init__(self, *args, **kwargs):
|
||||||
|
super(Gtk, self).__init__("gtk", *args, description="Starts the Deluge GTK+ interface", **kwargs)
|
||||||
|
|
||||||
|
group = self.parser.add_argument_group(_("GTK Options"))
|
||||||
|
group.add_argument("torrents", metavar="<torrent>", nargs="*", default=None,
|
||||||
|
help=_("Add one or more torrent files, torrent URLs or magnet URIs"
|
||||||
|
" to a currently running Deluge GTK instance"))
|
||||||
|
|
||||||
|
def start(self, args=None):
|
||||||
|
super(Gtk, self).start(args)
|
||||||
|
from deluge.ui.gtkui.gtkui import GtkUI
|
||||||
|
import deluge.common
|
||||||
|
|
||||||
|
def run(options):
|
||||||
|
try:
|
||||||
|
gtkui = GtkUI(options)
|
||||||
|
gtkui.start()
|
||||||
|
except Exception as ex:
|
||||||
|
log.exception(ex)
|
||||||
|
raise
|
||||||
|
|
||||||
|
deluge.common.run_profiled(run, self.options, output_file=self.options.profile,
|
||||||
|
do_profile=self.options.profile)
|
||||||
|
|
||||||
|
|
||||||
def start():
|
def start():
|
||||||
|
|
|
@ -53,7 +53,6 @@ from deluge.ui.gtkui.torrentdetails import TorrentDetails
|
||||||
from deluge.ui.gtkui.torrentview import TorrentView
|
from deluge.ui.gtkui.torrentview import TorrentView
|
||||||
from deluge.ui.sessionproxy import SessionProxy
|
from deluge.ui.sessionproxy import SessionProxy
|
||||||
from deluge.ui.tracker_icons import TrackerIcons
|
from deluge.ui.tracker_icons import TrackerIcons
|
||||||
from deluge.ui.ui import UI
|
|
||||||
from deluge.ui.util import lang
|
from deluge.ui.util import lang
|
||||||
|
|
||||||
|
|
||||||
|
@ -133,33 +132,6 @@ DEFAULT_PREFS = {
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
class Gtk(UI):
|
|
||||||
|
|
||||||
cmd_description = """A GTK-based graphical user interface"""
|
|
||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
|
||||||
super(Gtk, self).__init__("gtk", *args, description="Starts the Deluge GTK+ interface", **kwargs)
|
|
||||||
|
|
||||||
group = self.parser.add_argument_group(_("GTK Options"))
|
|
||||||
group.add_argument("torrents", metavar="<torrent>", nargs="*", default=None,
|
|
||||||
help=_("Add one or more torrent files, torrent URLs or magnet URIs"
|
|
||||||
" to a currently running Deluge GTK instance"))
|
|
||||||
|
|
||||||
def start(self, args=None):
|
|
||||||
super(Gtk, self).start(args)
|
|
||||||
|
|
||||||
def run(options):
|
|
||||||
try:
|
|
||||||
gtkui = GtkUI(options)
|
|
||||||
gtkui.start()
|
|
||||||
except Exception as ex:
|
|
||||||
log.exception(ex)
|
|
||||||
raise
|
|
||||||
|
|
||||||
deluge.common.run_profiled(run, self.options, output_file=self.options.profile,
|
|
||||||
do_profile=self.options.profile)
|
|
||||||
|
|
||||||
|
|
||||||
class GtkUI(object):
|
class GtkUI(object):
|
||||||
def __init__(self, args):
|
def __init__(self, args):
|
||||||
# Setup gtkbuilder/glade translation
|
# Setup gtkbuilder/glade translation
|
||||||
|
|
|
@ -2,4 +2,5 @@ from deluge.ui.web.web import Web
|
||||||
|
|
||||||
|
|
||||||
def start():
|
def start():
|
||||||
Web().start()
|
web = Web()
|
||||||
|
web.start()
|
||||||
|
|
|
@ -19,19 +19,12 @@ from deluge.ui.ui import UI
|
||||||
log = logging.getLogger(__name__)
|
log = logging.getLogger(__name__)
|
||||||
|
|
||||||
|
|
||||||
class WebUI(object):
|
|
||||||
def __init__(self, args):
|
|
||||||
from deluge.ui.web import server
|
|
||||||
deluge_web = server.DelugeWeb()
|
|
||||||
deluge_web.start()
|
|
||||||
|
|
||||||
|
|
||||||
class Web(UI):
|
class Web(UI):
|
||||||
|
|
||||||
cmd_description = """A web-based interface (http://localhost:8112)"""
|
cmd_description = """Web-based user interface (http://localhost:8112)"""
|
||||||
|
|
||||||
def __init__(self, *args, **kwargs):
|
def __init__(self, *args, **kwargs):
|
||||||
super(Web, self).__init__("web", *args, description="Starts the Deluge web interface", **kwargs)
|
super(Web, self).__init__("web", *args, description="Starts the Deluge Web interface", **kwargs)
|
||||||
self.__server = None
|
self.__server = None
|
||||||
|
|
||||||
group = self.parser.add_argument_group(_("Web Server Options"))
|
group = self.parser.add_argument_group(_("Web Server Options"))
|
||||||
|
@ -65,8 +58,3 @@ class Web(UI):
|
||||||
log.exception(ex)
|
log.exception(ex)
|
||||||
raise
|
raise
|
||||||
run_profiled(run, output_file=self.options.profile, do_profile=self.options.profile)
|
run_profiled(run, output_file=self.options.profile, do_profile=self.options.profile)
|
||||||
|
|
||||||
|
|
||||||
def start():
|
|
||||||
web = Web()
|
|
||||||
web.start()
|
|
||||||
|
|
Loading…
Reference in New Issue