Save all settings at once.

Removed log dir
This commit is contained in:
Ruud
2011-02-12 23:25:42 +01:00
parent e1d6701722
commit 09135e1738
6 changed files with 44 additions and 19 deletions
+24 -7
View File
@@ -1,4 +1,5 @@
from couchpotato import app
from couchpotato.core.logger import CPLog
from couchpotato.settings import Settings
from logging import handlers
from optparse import OptionParser
@@ -12,16 +13,26 @@ def cmd_couchpotato(base_path):
# Options
parser = OptionParser('usage: %prog [options]')
parser.add_option('-l', '--logdir', dest = 'logdir', default = 'logs', help = 'log DIRECTORY (default ./logs)')
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(sys.argv[1:])
# Create data dir if needed
if not os.path.isdir(options.data_dir):
options.data_dir = os.path.expanduser(options.data_dir)
os.makedirs(options.data_dir)
# Create logging dir
log_dir = os.path.join(options.data_dir, 'logs');
if not os.path.isdir(log_dir):
os.mkdir(log_dir)
# Register settings
settings = Settings(os.path.join(base_path, 'settings.conf'))
settings = Settings(os.path.join(options.data_dir, 'settings.conf'))
debug = options.debug or settings.get('debug', default = False)
@@ -38,19 +49,25 @@ def cmd_couchpotato(base_path):
logger.addHandler(hdlr)
# To file
hdlr2 = handlers.RotatingFileHandler(os.path.join(options.logdir, 'CouchPotato.log'), 'a', 5000000, 4)
hdlr2 = handlers.RotatingFileHandler(os.path.join(log_dir, 'CouchPotato.log'), 'a', 5000000, 4)
hdlr2.setFormatter(formatter)
logger.addHandler(hdlr2)
# Load config
# Start logging
log = CPLog(__name__)
log.debug('Started with params %s' % args)
# Load configs
from couchpotato.settings.loader import SettingsLoader
sl = SettingsLoader(root = base_path)
sl.loadConfig('couchpotato', 'core')
sl.addConfig('couchpotato', 'core')
sl.run()
# Create app
app
app.host = settings.get('host', default = '0.0.0.0')
app.port = settings.get('port', default = 5000)
app.run(debug = debug)
app.debug = debug
app.run()