Author: damoxc

Revision: 5090

Log:
        start new ui class

Diff:
Modified: trunk/deluge/ui/ui.py
===================================================================
--- trunk/deluge/ui/ui.py       2009-04-18 22:27:54 UTC (rev 5089)
+++ trunk/deluge/ui/ui.py       2009-04-19 13:46:11 UTC (rev 5090)
@@ -22,6 +22,8 @@
 #      Boston, MA    02110-1301, USA.
 #
 
+from optparse import OptionParser, OptionGroup
+import deluge.common
 import deluge.configmanager
 
 from deluge.log import LOG as log
@@ -30,6 +32,48 @@
     "default_ui": "gtk"
 }
 
+class _UI(object):
+    
+    def __init__(self, name="gtk"):
+        log.debug("NewUI init...")
+        self.__name = name
+
+        usage="%prog [options] [actions]", 
+        
+        self.__parser = OptionParser(version=deluge.common.get_version())
+        
+        group = OptionGroup(self.parser, "Common Options")
+        group.add_option("-c", "--config", dest="config",
+            help="Set the config folder location", action="store", type="str")
+        group.add_option("-l", "--logfile", dest="logfile",
+            help="Output to designated logfile instead of stdout", 
action="store", type="str")
+        group.add_option("-a", "--args", dest="args",
+            help="Arguments to pass to UI, -a '--option args'", 
action="store", type="str")
+        group.add_option("-L", "--loglevel", dest="loglevel",
+            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)
+        self.parser.add_option_group(group)
+    
+    @property
+    def name(self):
+        return self.__name
+    
+    @property
+    def parser(self):
+        return self.__parser
+    
+    @property
+    def options(self):
+        return self.__options
+    
+    @property
+    def args(self):
+        return self._args
+    
+    def start(self):
+        (self.__options, self.__args) = self.parser.parse_args()
+
 class UI:
     def __init__(self, options, args, ui_args):
         log.debug("UI init..")

Modified: trunk/deluge/ui/web/__init__.py
===================================================================
--- trunk/deluge/ui/web/__init__.py     2009-04-18 22:27:54 UTC (rev 5089)
+++ trunk/deluge/ui/web/__init__.py     2009-04-19 13:46:11 UTC (rev 5090)
@@ -0,0 +1 @@
+from webui import start
\ No newline at end of file

Modified: trunk/deluge/ui/web/webui.py
===================================================================
--- trunk/deluge/ui/web/webui.py        2009-04-18 22:27:54 UTC (rev 5089)
+++ trunk/deluge/ui/web/webui.py        2009-04-19 13:46:11 UTC (rev 5090)
@@ -22,9 +22,32 @@
 #   Boston, MA    02110-1301, USA.
 #
 
+import server
+from deluge.ui.ui import _UI
+from optparse import OptionGroup
 
-class WebUI:
-    def __init__(self, args):
-        import server
-        deluge_web = server.DelugeWeb()
-        deluge_web.start()
\ No newline at end of file
+class Web(_UI):
+
+    help = """Starts the Deluge web interface"""
+    
+    def __init__(self):
+        super(Web, self).__init__()
+        self.__server = server.DelugeWeb()
+        
+        group = OptionGroup(self.parser, "Web Options")
+        group.add_option("-p", "--port", dest="port", type="int",
+            help="Sets the port to be used for the webserver",
+            action="store", default=None)
+        self.parser.add_option_group(group)
+    
+    @property
+    def server(self):
+        return self.__server
+    
+    def start(self):
+        super(Web, self).start()
+        if self.options.port: self.server.port =  self.options.port
+        self.server.start()
+
+web = Web()
+start = web.start
\ No newline at end of file

Modified: trunk/setup.py
===================================================================
--- trunk/setup.py      2009-04-18 22:27:54 UTC (rev 5089)
+++ trunk/setup.py      2009-04-19 13:46:11 UTC (rev 5090)
@@ -361,6 +361,9 @@
     entry_points = """
         [console_scripts]
             deluge = deluge.main:start_ui
+            deluge-console = deluge.ui.console:start
+            deluge-gtk = deluge.ui.gtkui:start
+            deluge-web = deluge.ui.web:start
             deluged = deluge.main:start_daemon
     """,
     ext_package = "deluge",



--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"deluge-commit" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/deluge-commit?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to