def __init__(self, baseparser): """Duplicates options of a CoreOptionParser for use mid-run""" CoreOptionParser.__init__(self, option_list=baseparser.option_list, conflict_handler="resolve") # Remove the options inappropriate to change mid-run self.remove_option('-h') self.remove_option('-V') self.remove_option('-c') self.remove_option('--doc') self.error_msg = ''
def setup_once(): global plugins_loaded, test_options if not plugins_loaded: flexget.logger.initialize(True) setup_logging_level() parser = CoreOptionParser(True) load_plugins(parser) # store options for MockManager test_options = parser.parse_args()[0] plugins_loaded = True
def main(): """Main entry point for Command Line Interface""" logger.initialize() parser = CoreOptionParser() plugin.load_plugins(parser) options = parser.parse_args()[0] try: manager = Manager(options) except IOError, e: # failed to load config, TODO: why should it be handled here? log.exception(e) logger.flush_logging_to_console() sys.exit(1)
def parse_args(self, args): # Clear error message before parsing self.error_msg = '' # If args is a string, split it into an args list if isinstance(args, basestring): import shlex args = ['flexget'] + shlex.split(args.encode('utf-8')) return CoreOptionParser.parse_args(self, args)