def load_config(configdb, args = None): args = argv[1:] if args is None else args set_debug_details(args.count('--debug')+args.count('-d')) default_config = config.DefaultValueLoader().load(configdb) _logger.info('default config:\n\t%s', config.pretty(default_config, '\n\t')) # parse cli options at first because we need the config file path in it cli_config = config.CommandLineArgumentsLoader().load(configdb, argv[1:]) _logger.info('cli arg parsed:\n\t%s', config.pretty(cli_config, '\n\t')) run_config = config.merge_config(default_config, cli_config) if run_config.generate_config: generate_config_file(configdb, run_config) try: conf_config = config.from_file(configdb, run_config.config_file) except config.ConfigFileLoader.ConfigValueError as err: _logger.error(err) sysexit(1) _logger.info('config file parsed:\n\t%s', config.pretty(conf_config, '\n\t')) run_config = config.merge_config(run_config, conf_config) # override saved settings again with cli options again, because we want # command line options to take higher priority run_config = config.merge_config(run_config, cli_config) if run_config.setter_args: run_config.setter_args = ','.join(run_config.setter_args).split(',') else: run_config.setter_args = list() _logger.info('running config is:\n\t%s', config.pretty(run_config, '\n\t')) return run_config
def main(): _logger.info("Starting Momobot!") token = config.from_file('db/token.txt') _logger.debug("Token is %s", token) tg_updater = telegram.ext.Updater(token=token) conversation.init(tg_updater, []) tg_updater.start_polling()
def load_config(configdb, args=None): args = argv[1:] if args is None else args set_debug_details(args.count('--debug') + args.count('-d')) default_config = config.DefaultValueLoader().load(configdb) _logger.debug('default config:\n\t%s', config.pretty(default_config, '\n\t')) # parse cli options at first because we need the config file path in it cli_config = config.CommandLineArgumentsLoader().load(configdb, argv[1:]) _logger.debug('cli arg parsed:\n\t%s', config.pretty(cli_config, '\n\t')) run_config = config.merge_config(default_config, cli_config) if run_config.generate_config: generate_config_file(configdb, run_config) config_file = run_config.config_file if not isfile(config_file): _logger.warning( "can't find config file %s, use default settings and cli settings", config_file) else: try: conf_config = config.from_file(configdb, run_config.config_file) except config.ConfigFileLoader.ConfigValueError as err: _logger.error(err) sysexit(1) _logger.debug('config file parsed:\n\t%s', config.pretty(conf_config, '\n\t')) run_config = config.merge_config(run_config, conf_config) # override saved settings again with cli options again, because we want # command line options to take higher priority run_config = config.merge_config(run_config, cli_config) if run_config.setter_args: run_config.setter_args = ','.join(run_config.setter_args).split(',') else: run_config.setter_args = list() # backward compatibility modifications if run_config.size_mode == 'collect': _logger.warning( 'size_mode=collect is obsolete, considering use collect=accompany instead' ) run_config.size_mode = 'highest' if 'accompany' not in run_config.collect: run_config.collect.append('accompany') _logger.info('running config is:\n\t%s', config.pretty(run_config, '\n\t')) return run_config
def load_config(configdb, args = None): args = argv[1:] if args is None else args set_debug_details(args.count('--debug')+args.count('-d')) default_config = config.DefaultValueLoader().load(configdb) _logger.debug('default config:\n\t%s', config.pretty(default_config, '\n\t')) # parse cli options at first because we need the config file path in it cli_config = config.CommandLineArgumentsLoader().load(configdb, argv[1:]) _logger.debug('cli arg parsed:\n\t%s', config.pretty(cli_config, '\n\t')) run_config = config.merge_config(default_config, cli_config) if run_config.generate_config: generate_config_file(configdb, run_config) config_file = run_config.config_file if not isfile(config_file): _logger.warning("can't find config file %s, use default settings and cli settings", config_file) else: try: conf_config = config.from_file(configdb, run_config.config_file) except config.ConfigFileLoader.ConfigValueError as err: _logger.error(err) sysexit(1) _logger.debug('config file parsed:\n\t%s', config.pretty(conf_config, '\n\t')) run_config = config.merge_config(run_config, conf_config) # override saved settings again with cli options again, because we want # command line options to take higher priority run_config = config.merge_config(run_config, cli_config) if run_config.setter_args: run_config.setter_args = ','.join(run_config.setter_args).split(',') else: run_config.setter_args = list() # backward compatibility modifications if run_config.size_mode == 'collect': _logger.warning( 'size_mode=collect is obsolete, considering use collect=accompany instead' ) run_config.size_mode = 'highest' if 'accompany' not in run_config.collect: run_config.collect.append('accompany') _logger.info('running config is:\n\t%s', config.pretty(run_config, '\n\t')) return run_config
def run_app(): """ Run application. """ config_file = 'config.json' host = 'localhost' port = 3028 if len(sys.argv) > 1: config_file = sys.argv[1] if len(sys.argv) > 2: host = sys.argv[2] if len(sys.argv) > 3: port = int(sys.argv[3]) print(f"Loading config from '{config_file}'") global CONFIG CONFIG = config.from_file(config_file) APP.run(host=host, port=port, threaded=True)
def cli_load_config(self, args) -> str: """Loads new configuration values Plugins need to be restarted to take advantage of new values :param args: List of possible args :return: Server response """ path = args.config_path if not os.path.isfile(path): return error("Path {} DNE".format(path)) try: self.config = config.from_file(path) return ok("Configuration loaded from {}".format(path)) except FileNotFoundError as err: return error("Could not load file: {}".format(err)) except json.JSONDecodeError as json_err: return error("Could not parse json file {}".format(json_err))
parser = argparse.ArgumentParser(description="{}, {}".format(name, description)) parser.add_argument("--no-input", dest="no_input", action="store_true", help="run without stdin and write to a log file") parser.add_argument("-m", "--module", dest="module", nargs=1, choices=["setup", "edit", "episode", "update", "find"], default=["episode"], help="runs the specified module") parser.add_argument("-c", "--config", dest="config_file", nargs=1, default=["config.ini"], help="use or create the specified database location") parser.add_argument("-d", "--database", dest="db_name", nargs=1, default=None, help="use or create the specified database location") parser.add_argument("-s", "--subreddit", dest="subreddit", nargs=1, default=None, help="set the subreddit on which to make posts") parser.add_argument("-L", "--log-dir", dest="log_dir", nargs=1, default=["logs"], help="set the log directory") parser.add_argument("-v", "--version", action="version", version="{} v{}, {}".format(name, version, description)) parser.add_argument("--debug", action="store_true", default=False) parser.add_argument("extra", nargs="*") args = parser.parse_args() # Load config file import config as config_loader config_file = os.environ["HOLO_CONFIG"] if "HOLO_CONFIG" in os.environ else args.config_file[0] c = config_loader.from_file(config_file) # Override config with args c.debug |= args.debug c.module = args.module[0] c.log_dir = args.log_dir[0] if args.db_name is not None: c.database = args.db_name[0] if args.subreddit is not None: c.subreddit = args.subreddit[0] # Start use_log = args.no_input import logging from logging.handlers import TimedRotatingFileHandler
("height", float(0)), ("major", float(0)), ("minor", float(0)), ("angle", float(0)), ("circ", float(0)), ("feret", float(0)), ("intden", float(0)), ("median", float(0)), ("skew", float(0)), ("kurt", float(0)), ("perc_area", float(0)), #% area ("rawintden", float(0)), ("slice", float(0)), ("feretx", float(0)), ("ferety", float(0)), ("feretang", float(0)), ("minfer", float(0)), ("ar", float(0)), ("roundness", float(0)), ("solidity", float(0)), ) ### Create immutable class called DomainCDD that has strict typechecking ij_manager = ImmutableManager("IJFields", imagej_fields) results_manager = ImmutableManager("Results", results_fields) grey_manager = ImmutableManager("GreyData", grey_fields) if __name__ == "__main__": results = from_file(results_manager, "f3_9490_stats_full.txt") areas, circs = [(row.area, row.circ) for row in results]
import argparse parser = argparse.ArgumentParser(description="{}, {}".format(name, description)) parser.add_argument("--no-input", dest="no_input", action="store_true", help="run without stdin and write to a log file") parser.add_argument("-m", "--module", dest="module", nargs=1, choices=["setup", "edit", "episode", "update", "find"], default=["episode"], help="runs the specified module") parser.add_argument("-c", "--config", dest="config_file", nargs=1, default=["config.ini"], help="use or create the specified database location") parser.add_argument("-d", "--database", dest="db_name", nargs=1, default=None, help="use or create the specified database location") parser.add_argument("-s", "--subreddit", dest="subreddit", nargs=1, default=None, help="set the subreddit on which to make posts") parser.add_argument("-L", "--log-dir", dest="log_dir", nargs=1, default=["logs"], help="set the log directory") parser.add_argument("-v", "--version", action="version", version="{} v{}, {}".format(name, version, description)) parser.add_argument("--debug", action="store_true", default=False) parser.add_argument("extra", nargs="*") args = parser.parse_args() # Load config file import config as config_loader c = config_loader.from_file(args.config_file[0]) # Override config with args c.debug |= args.debug c.module = args.module[0] c.log_dir = args.log_dir[0] if args.db_name is not None: c.database = args.db_name[0] if args.subreddit is not None: c.subreddit = args.subreddit[0] # Start use_log = args.no_input import logging from logging.handlers import TimedRotatingFileHandler
parser.add_argument("--no-input", dest="no_input", action="store_true", help="run without stdin and write to a log file") parser.add_argument("-m", "--module", dest="module", nargs=1, choices=["setup", "edit", "episode", "update", "find"], default=["episode"], help="runs the specified module") parser.add_argument("-c", "--config", dest="config_file", nargs=1, default=["config.ini"], help="use or create the specified database location") parser.add_argument("-d", "--database", dest="db_name", nargs=1, default=None, help="use or create the specified database location") parser.add_argument("-s", "--subreddit", dest="subreddit", nargs=1, default=None, help="set the subreddit on which to make posts") parser.add_argument("-o", "--output", dest="output", nargs=1, default="db", help="set the output mode (db or yaml) if supported") parser.add_argument("-L", "--log-dir", dest="log_dir", nargs=1, default=["logs"], help="set the log directory") parser.add_argument("-v", "--version", action="version", version="{} v{}, {}".format(name, version, description)) parser.add_argument("--debug", action="store_true", default=False) parser.add_argument("extra", nargs="*") args = parser.parse_args() # Load config file import config as config_loader config_file = os.environ["HOLO_CONFIG"] if "HOLO_CONFIG" in os.environ else args.config_file[0] c = config_loader.from_file(config_file) if c is None: print("Cannot start without a valid configuration file") sys.exit(2) # Override config with args c.debug |= args.debug c.module = args.module[0] c.log_dir = args.log_dir[0] if args.db_name is not None: c.database = args.db_name[0] if args.subreddit is not None: c.subreddit = args.subreddit[0] # Start use_log = args.no_input
dest="log_dir", nargs=1, default=["logs"], help="set the log directory") parser.add_argument("-v", "--version", action="version", version="{} v{}, {}".format(name, version, description)) parser.add_argument("--debug", action="store_true", default=False) parser.add_argument("extra", nargs="*") args = parser.parse_args() # Load config file import config as config_loader c = config_loader.from_file(args.config_file[0]) # Override config with args c.debug |= args.debug c.module = args.module[0] c.log_dir = args.log_dir[0] if args.db_name is not None: c.database = args.db_name[0] if args.subreddit is not None: c.subreddit = args.subreddit[0] # Start use_log = args.no_input import logging from logging.handlers import TimedRotatingFileHandler