Пример #1
0
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
Пример #2
0
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()
Пример #3
0
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
Пример #4
0
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
Пример #5
0
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)
Пример #6
0
    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))
Пример #7
0
	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
Пример #8
0
    ("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]
Пример #9
0
	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
Пример #10
0
	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
Пример #11
0
                        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