X-Git-Url: http://git.kaliko.me/?a=blobdiff_plain;f=sima%2Futils%2Fstartopt.py;h=86463097a696c7a38ae83ac4397a044d63563b84;hb=8c72e63ba4d41c4d9722ddff3c000de314ff66dc;hp=988e67d336f1c5453e61fa7f3c930ae1e77c3470;hpb=204fdd2bea753b024c7253a5830325b81aebbd61;p=mpd-sima.git diff --git a/sima/utils/startopt.py b/sima/utils/startopt.py index 988e67d..8646309 100644 --- a/sima/utils/startopt.py +++ b/sima/utils/startopt.py @@ -1,6 +1,6 @@ # -*- coding: utf-8 -*- -# Copyright (c) 2009, 2010, 2011, 2012, 2013 Jack Kaliko +# Copyright (c) 2009, 2010, 2011, 2012, 2013, 2014, 2015 Jack Kaliko # # This file is part of sima # @@ -19,18 +19,14 @@ # # -import sys from argparse import (ArgumentParser, SUPPRESS) -from .utils import Obsolete, Wfile, Rfile, Wdir +from .utils import Wfile, Rfile, Wdir -USAGE = """USAGE: %prog [--help] [options]""" DESCRIPTION = """ -sima automagicaly queue new tracks in MPD playlist. -All command line options will override their equivalent in configuration -file. -""" +MPD_sima automagicaly queue new tracks in MPD playlist. +Command line options override their equivalent in configuration file.""" def clean_dict(to_clean): @@ -60,7 +56,7 @@ OPTS = [ 'type': str, 'dest': 'verbosity', 'choices': ['debug', 'info', 'warning', 'error'], - 'help': 'file to log message to, default is stdout/stderr'}, + 'help': 'Log messages verbosity, default is info'}, { 'sw': ['-p', '--pid'], 'dest': 'pidfile', @@ -86,16 +82,23 @@ OPTS = [ 'action': Rfile, 'help': 'Configuration file to load'}, { - 'sw':['--var_dir'], + 'sw':['--generate-config'], + 'dest': 'generate_config', + 'action': 'store_true', + 'help': 'Generate a sample configuration file to stdout according to the current\ + configuration. You can put other options with this one to get them in\ + the generated configuration.'}, + { + 'sw':['--var-dir', '--var_dir'], 'dest': 'var_dir', 'action': Wdir, - 'help': 'Directory to store var content (ie. database)'}, + 'help': 'Directory to store var content (ie. database, cache)'}, { 'sw': ['--create-db'], 'action': 'store_true', 'dest': 'create_db', 'help': '''Create database and exit, use destination - specified in --var_dir or standard location.'''}, + specified in --var-dir or standard location.'''}, { 'sw':['--queue-mode', '-q'], 'dest': 'queue_mode', @@ -103,18 +106,19 @@ OPTS = [ #'help': 'Queue mode in [track, top, album]', 'help': SUPPRESS, }, { - 'sw':['--purge_history'], + 'sw':['--purge-history'], 'action': 'store_true', 'dest': 'do_purge_history', 'help': SUPPRESS}, ] -class StartOpt(object): +class StartOpt: """Command line management. """ def __init__(self, script_info,): + self.parser = None self.info = dict(script_info) self.options = dict() self.main() @@ -124,12 +128,11 @@ class StartOpt(object): Declare options in ArgumentParser object. """ self.parser = ArgumentParser(description=DESCRIPTION, - usage='%(prog)s [options]', - prog='mpd_sima', - epilog='Happy Listening', - ) + prog=self.info.get('prog'), + epilog='Happy Listening', + ) self.parser.add_argument('--version', action='version', - version='%(prog)s {version}'.format(**self.info)) + version='%(prog)s {version}'.format(**self.info)) # Add all options declare in OPTS for opt in OPTS: opt_names = opt.pop('sw')