diff --git a/CouchPotato.py b/CouchPotato.py index f828192a..090a5c32 100755 --- a/CouchPotato.py +++ b/CouchPotato.py @@ -50,6 +50,6 @@ except ImportError, e: if __name__ == '__main__': try: - cli.cmd_couchpotato(base_path) + cli.cmd_couchpotato(base_path, sys.argv[1:]) except Exception, e: log.critical(e) diff --git a/couchpotato/cli.py b/couchpotato/cli.py index 4385882f..7c1420bf 100644 --- a/couchpotato/cli.py +++ b/couchpotato/cli.py @@ -1,38 +1,26 @@ +from couchpotato import web +from couchpotato.api import api +from couchpotato.core.logger import CPLog +from couchpotato.core.settings import settings +from libs.daemon import createDaemon from logging import handlers -import argparse +from optparse import OptionParser import logging import os.path import sys -from libs.daemon import createDaemon - - -from couchpotato import web -from couchpotato.api import api -from couchpotato.core.logger import CPLog -from couchpotato.core.settings import settings - - -def cmd_couchpotato(base_path, argv=None): +def cmd_couchpotato(base_path, args): '''Commandline entry point.''' # Options - parser = argparse.ArgumentParser() - parser.add_argument('-s', '--datadir', dest='data_dir', - default=base_path, - help="Absolute or ~/ path, where " - "settings/logs/database data is saved (default ./)") - parser.add_argument('-t', '--test', '--debug', action='store_true', - dest='debug', help='Debug mode') - parser.add_argument('-q', '--quiet', action='store_true', dest='quiet', - help="Don't log to console") - parser.add_argument('-d', '--daemon', action='store_true', - dest='daemonize', help='Daemonize the app') - - args = argv if argv else sys.argv[1:] - options = parser.parse_args(args) + parser = OptionParser('usage: %prog [options]') + parser.add_option('-s', '--datadir', dest = 'data_dir', default = base_path, help = 'Absolute or ~/ path, where settings/logs/database data is saved (default ./)') + parser.add_option('-t', '--test', '--debug', action = 'store_true', dest = 'debug', help = 'Debug mode') + parser.add_option('-q', '--quiet', action = 'store_true', dest = 'quiet', help = "Don't log to console") + parser.add_option('-d', '--daemon', action = 'store_true', dest = 'daemonize', help = 'Daemonize the app') + (options, args) = parser.parse_args(args) # Create data dir if needed if not os.path.isdir(options.data_dir): @@ -47,7 +35,7 @@ def cmd_couchpotato(base_path, argv=None): # Register settings settings.setFile(os.path.join(options.data_dir, 'settings.conf')) - debug = options.debug or settings.get('debug', default=False) + debug = options.debug or settings.get('debug', default = False) # Daemonize app if options.daemonize: @@ -55,8 +43,7 @@ def cmd_couchpotato(base_path, argv=None): # Logger logger = logging.getLogger() - formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s', - '%H:%M:%S') + formatter = logging.Formatter('%(asctime)s %(levelname)s %(message)s', '%H:%M:%S') level = logging.DEBUG if debug else logging.INFO logger.setLevel(level) @@ -67,9 +54,7 @@ def cmd_couchpotato(base_path, argv=None): logger.addHandler(hdlr) # To file - hdlr2 = handlers.RotatingFileHandler(os.path.join(log_dir, - 'CouchPotato.log'), - 'a', 5000000, 4) + hdlr2 = handlers.RotatingFileHandler(os.path.join(log_dir, 'CouchPotato.log'), 'a', 5000000, 4) hdlr2.setFormatter(formatter) logger.addHandler(hdlr2) @@ -84,7 +69,7 @@ def cmd_couchpotato(base_path, argv=None): # Load configs from couchpotato.core.settings.loader import SettingsLoader - sl = SettingsLoader(root=base_path) + sl = SettingsLoader(root = base_path) sl.addConfig('couchpotato', 'core') sl.run() @@ -96,20 +81,20 @@ def cmd_couchpotato(base_path, argv=None): reloader = debug and not options.daemonize # Basic config - app.host = settings.get('host', default='0.0.0.0') - app.port = settings.get('port', default=5000) + app.host = settings.get('host', default = '0.0.0.0') + app.port = settings.get('port', default = 5000) app.debug = debug app.secret_key = api_key app.static_path = url_base + 'static' # Add static url with url_base app.add_url_rule(app.static_path + '/', - endpoint='static', - view_func=app.send_static_file) + endpoint = 'static', + view_func = app.send_static_file) # Register modules - app.register_module(web, url_prefix=url_base) - app.register_module(api, url_prefix='%s/%s' % (url_base + 'api', api_key)) + app.register_module(web, url_prefix = url_base) + app.register_module(api, url_prefix = '%s/%s' % (url_base + 'api', api_key)) # Go go go! - app.run(use_reloader=reloader) + app.run(use_reloader = reloader)