def main(): """Parses command line arguments, displays errors from movienamer in terminal """ opter = cliarg_parser.getCommandlineParser(defaults) opts, args = opter.parse_args() defaults.update(load_config()) opter = cliarg_parser.getCommandlineParser(defaults) opts, args = opter.parse_args() # Decode args using filesystem encoding (done after config loading # as the args are reparsed when the config is loaded) args = [x.decode(sys.getfilesystemencoding()) for x in args] # Save config argument if opts.saveconfig is not None: log.info("Saving config: %s" % (opts.saveconfig)) configToSave = dict(opts.__dict__) del configToSave['saveconfig'] del configToSave['loadconfig'] del configToSave['showconfig'] json.dump( configToSave, open(opts.saveconfig, "w+"), sort_keys=True, indent=4) opter.exit(0) # Show config argument if opts.showconfig: for k, v in opts.__dict__.items(): print k, "=", str(v) return # Update global config object Config.update(opts.__dict__) process_config() if len(args) == 0: log.error("No filenames or directories supplied") sys.exit(1) try: run(paths = sorted(args)) except NoValidFilesFoundError: opter.error("No valid files were supplied") except UserAbort, errormsg: opter.error(errormsg)
def main(): """Parses command line arguments, displays errors from tvnamer in terminal """ opter = cliarg_parser.getCommandlineParser(defaults) opts, args = opter.parse_args() args = [x.decode("utf-8") for x in args] if opts.verbose: logging.basicConfig( level = logging.DEBUG, format = "%(asctime)s - %(name)s - %(levelname)s - %(message)s") else: logging.basicConfig() # If a config is specified, load it, update the defaults using the loaded # values, then reparse the options with the updated defaults. default_configuration = os.path.expanduser("~/.tvnamer.json") if opts.loadconfig is not None: # Command line overrides loading ~/.tvnamer.json configToLoad = opts.loadconfig elif os.path.isfile(default_configuration): # No --config arg, so load default config if it exists configToLoad = default_configuration else: # No arg, nothing at default config location, don't load anything configToLoad = None if configToLoad is not None: p("Loading config: %s" % (configToLoad)) try: loadedConfig = json.load(open(configToLoad)) except ValueError, e: p("Error loading config: %s" % e) opter.exit(1) else: # Config loaded, update optparser's defaults and reparse defaults.update(loadedConfig) opter = cliarg_parser.getCommandlineParser(defaults) opts, args = opter.parse_args()
def main(): """Parses command line arguments, displays errors from tvnamer in terminal """ opter = cliarg_parser.getCommandlineParser(defaults) opts, args = opter.parse_args() args = [x.decode("utf-8") for x in args] if opts.verbose: logging.basicConfig( level=logging.DEBUG, format="%(asctime)s - %(name)s - %(levelname)s - %(message)s") else: logging.basicConfig() # If a config is specified, load it, update the defaults using the loaded # values, then reparse the options with the updated defaults. default_configuration = os.path.expanduser("~/.tvnamer.json") if opts.loadconfig is not None: # Command line overrides loading ~/.tvnamer.json configToLoad = opts.loadconfig elif os.path.isfile(default_configuration): # No --config arg, so load default config if it exists configToLoad = default_configuration else: # No arg, nothing at default config location, don't load anything configToLoad = None if configToLoad is not None: p("Loading config: %s" % (configToLoad)) try: loadedConfig = json.load(open(configToLoad)) except ValueError, e: p("Error loading config: %s" % e) opter.exit(1) else: # Config loaded, update optparser's defaults and reparse defaults.update(loadedConfig) opter = cliarg_parser.getCommandlineParser(defaults) opts, args = opter.parse_args()
def init(**kwds): Config.update(cliarg_parser.getCommandlineParser(defaults).defaults) Config.update(load_config()) Config.update(**kwds) process_config()