witten
/
luminotes
Archived
1
0
Fork 0

Converted to use optparse. Patch from Pete Burgers.

This commit is contained in:
Dan Helfman 2009-11-22 20:06:57 -08:00
parent a87a7dcff5
commit 13aae6f996
2 changed files with 61 additions and 8 deletions

3
NEWS
View File

@ -9,7 +9,8 @@
of Luminotes notebooks. These characters could show up when copy and pasted of Luminotes notebooks. These characters could show up when copy and pasted
into another application. into another application.
* New "-w" option to luminotes.py that prevents web browser from opening when * New "-w" option to luminotes.py that prevents web browser from opening when
Luminotes Desktop is started. Patch from Pete Burgers. Luminotes Desktop is started. Also added "--help" to show other available
options. Patches from Pete Burgers.
1.6.17: July 26, 2009 1.6.17: July 26, 2009
* Fixed a bug that caused ever-growing notes in Internet Explorer 8. * Fixed a bug that caused ever-growing notes in Internet Explorer 8.

View File

@ -6,6 +6,7 @@ import stat
import socket import socket
import os.path import os.path
import urllib2 as urllib import urllib2 as urllib
import optparse
import cherrypy import cherrypy
import webbrowser import webbrowser
from controller.Database import Database from controller.Database import Database
@ -32,16 +33,15 @@ def change_to_main_dir():
os.chdir( path ) os.chdir( path )
def main( args ): def main( options ):
change_to_main_dir() change_to_main_dir()
cherrypy.config.update( Common.settings ) cherrypy.config.update( Common.settings )
if args and "-d" in args: if options.development:
from config import Development from config import Development
settings = Development.settings settings = Development.settings
# sys.frozen is from py2exe elif options.desktop:
elif args and "-l" in args or hasattr( sys, "frozen" ):
from config import Desktop from config import Desktop
settings = Desktop.settings settings = Desktop.settings
else: else:
@ -51,7 +51,7 @@ def main( args ):
cherrypy.config.update( settings ) cherrypy.config.update( settings )
# Don't launch web browser if -w flag is set # Don't launch web browser if -w flag is set
if args and "-w" in args: if options.no_webbrowser:
launch_browser = False launch_browser = False
else: else:
launch_browser = cherrypy.config.configMap[ u"global" ].get( u"luminotes.launch_browser" ) launch_browser = cherrypy.config.configMap[ u"global" ].get( u"luminotes.launch_browser" )
@ -64,7 +64,7 @@ def main( args ):
server_present = True server_present = True
# if requested, attempt to shutdown an existing server and exit # if requested, attempt to shutdown an existing server and exit
if args and "-k" in args: if options.kill:
try: try:
urllib.urlopen( "%sshutdown" % server_url ) urllib.urlopen( "%sshutdown" % server_url )
except urllib.URLError: except urllib.URLError:
@ -146,4 +146,56 @@ def callback( log_access_file, log_file, server_url, port_filename, socket_port,
if __name__ == "__main__": if __name__ == "__main__":
main( sys.argv[ 1: ] )
# sys.frozen is from py2exe
desktop_default = hasattr( sys, "frozen" )
parser = optparse.OptionParser(
usage = "usage: %prog [OPTIONS]\n" +
" OR: %prog --help",
version = VERSION,
)
parser.add_option(
"-l", "--desktop",
dest = "desktop",
action = "store_true",
default = desktop_default,
help = "Run in Desktop mode %s" %
( "(DEFAULT)" if desktop_default else "" ),
)
parser.add_option(
"-s", "--server",
dest = "desktop",
action = "store_false",
help = "Run in Server mode %s" %
( "(DEFAULT)" if not desktop_default else "" ),
)
parser.add_option(
"-d", "--developement",
dest = "development",
action = "store_true",
help = "Run in Development mode",
)
parser.add_option(
"-k", "--kill",
dest = "kill",
action = "store_true",
help = "Attempt to shutdown existing server and exit",
)
parser.add_option(
"-w", "--no_webbrowser",
dest = "no_webbrowser",
action = "store_true",
help = "Don't autolaunch web browser in Desktop mode",
)
( options, args ) = parser.parse_args()
if args != []:
parser.error( "Unrecognised options: %s" % " ".join( args ) )
main(options)