def early_init(args: argparse.Namespace) -> None: """Initialize the part of the config which works without a QApplication.""" configdata.init() yaml_config = configfiles.YamlConfig() config.instance = config.Config(yaml_config=yaml_config) config.val = config.ConfigContainer(config.instance) configapi.val = config.ConfigContainer(config.instance) config.key_instance = config.KeyConfig(config.instance) config.cache = configcache.ConfigCache() yaml_config.setParent(config.instance) for cf in config.change_filters: cf.validate() config_commands = configcommands.ConfigCommands( config.instance, config.key_instance) objreg.register('config-commands', config_commands, command_only=True) config_file = standarddir.config_py() custom_config_py = args.config_py is not None global _init_errors try: if os.path.exists(config_file) or custom_config_py: # If we have a custom --config-py flag, we want it to be fatal if it doesn't # exist, so we don't silently fall back to autoconfig.yml in that case. configfiles.read_config_py( config_file, warn_autoconfig=not custom_config_py, ) else: configfiles.read_autoconfig() except configexc.ConfigFileErrors as e: log.config.error("Error while loading {}".format(e.basename)) _init_errors = e try: configfiles.init() except configexc.ConfigFileErrors as e: _init_errors = e for opt, val in args.temp_settings: try: config.instance.set_str(opt, val) except configexc.Error as e: message.error("set: {} - {}".format(e.__class__.__name__, e)) objects.backend = get_backend(args) objects.debug_flags = set(args.debug_flags) stylesheet.init() qtargs.init_envvars()
def generate_settings(filename): """Generate the complete settings section.""" configdata.init() with _open_file(filename) as f: f.write(FILE_HEADER) f.write("= Setting reference\n\n") f.write("== All settings\n") f.write(_get_setting_quickref() + "\n") for opt in sorted(configdata.DATA.values()): _generate_setting_option(f, opt) f.write("\n== Setting types\n") f.write(_get_setting_types_quickref() + "\n")
def test_dicts(): """Test available dictionaries.""" configdata.init() for lang in install_dict.available_languages(): print('Testing dictionary {}... '.format(lang.code), end='') lang_url = urllib.parse.urljoin(install_dict.API_URL, lang.file_path) request = urllib.request.Request(lang_url, method='HEAD') response = urllib.request.urlopen(request) if response.status == 200: print('OK') else: print('ERROR: {}'.format(response.status))
def test_dicts(): """Test available dictionaries.""" configdata.init() for lang in dictcli.available_languages(): print('Testing dictionary {}... '.format(lang.code), end='') lang_url = urllib.parse.urljoin(dictcli.API_URL, lang.remote_filename) request = urllib.request.Request(lang_url, method='HEAD') response = urllib.request.urlopen(request) if response.status == 200: print('OK') else: print('ERROR: {}'.format(response.status))
def early_init(args: argparse.Namespace) -> None: """Initialize the part of the config which works without a QApplication.""" configdata.init() yaml_config = configfiles.YamlConfig() config.instance = config.Config(yaml_config=yaml_config) config.val = config.ConfigContainer(config.instance) configapi.val = config.ConfigContainer(config.instance) config.key_instance = config.KeyConfig(config.instance) config.cache = configcache.ConfigCache() yaml_config.setParent(config.instance) for cf in config.change_filters: cf.validate() config_commands = configcommands.ConfigCommands(config.instance, config.key_instance) objreg.register('config-commands', config_commands, command_only=True) config_file = standarddir.config_py() global _init_errors try: if os.path.exists(config_file): configfiles.read_config_py(config_file) else: configfiles.read_autoconfig() except configexc.ConfigFileErrors as e: log.config.exception("Error while loading {}".format(e.basename)) _init_errors = e try: configfiles.init() except configexc.ConfigFileErrors as e: _init_errors = e for opt, val in args.temp_settings: try: config.instance.set_str(opt, val) except configexc.Error as e: message.error("set: {} - {}".format(e.__class__.__name__, e)) objects.backend = get_backend(args) objects.debug_flags = set(args.debug_flags) configtypes.Font.monospace_fonts = config.val.fonts.monospace config.instance.changed.connect(_update_monospace_fonts) stylesheet.init() _init_envvars()
def main(): if configdata.DATA is None: configdata.init() parser = get_argparser() argv = sys.argv[1:] args = parser.parse_args(argv) languages = available_languages() if args.list: print_list(languages) elif not args.languages: parser.print_usage() else: try: install(filter_languages(languages, args.languages)) except InvalidLanguageError as e: print(e)
def early_init(args): """Initialize the part of the config which works without a QApplication.""" configdata.init() yaml_config = configfiles.YamlConfig() global val, instance, key_instance instance = Config(yaml_config=yaml_config) val = ConfigContainer(instance) key_instance = KeyConfig(instance) for cf in _change_filters: cf.validate() configtypes.Font.monospace_fonts = val.fonts.monospace config_commands = ConfigCommands(instance, key_instance) objreg.register('config-commands', config_commands) config_api = None try: config_api = configfiles.read_config_py() # Raised here so we get the config_api back. if config_api.errors: raise configexc.ConfigFileErrors('config.py', config_api.errors) except configexc.ConfigFileErrors as e: log.config.exception("Error while loading config.py") _init_errors.append(e) try: if getattr(config_api, 'load_autoconfig', True): try: instance.read_yaml() except configexc.ConfigFileErrors as e: raise # caught in outer block except configexc.Error as e: desc = configexc.ConfigErrorDesc("Error", e) raise configexc.ConfigFileErrors('autoconfig.yml', [desc]) except configexc.ConfigFileErrors as e: log.config.exception("Error while loading config.py") _init_errors.append(e) configfiles.init() objects.backend = get_backend(args) earlyinit.init_with_backend(objects.backend)
def early_init(args: argparse.Namespace) -> None: """Initialize the part of the config which works without a QApplication.""" configdata.init() yaml_config = configfiles.YamlConfig() config.instance = config.Config(yaml_config=yaml_config) config.val = config.ConfigContainer(config.instance) configapi.val = config.ConfigContainer(config.instance) config.key_instance = config.KeyConfig(config.instance) config.cache = configcache.ConfigCache() yaml_config.setParent(config.instance) for cf in config.change_filters: cf.validate() config_commands = configcommands.ConfigCommands( config.instance, config.key_instance) objreg.register('config-commands', config_commands) config_file = os.path.join(standarddir.config(), 'config.py') try: if os.path.exists(config_file): configfiles.read_config_py(config_file) else: configfiles.read_autoconfig() except configexc.ConfigFileErrors as e: log.config.exception("Error while loading {}".format(e.basename)) global _init_errors _init_errors = e configfiles.init() for opt, val in args.temp_settings: try: config.instance.set_str(opt, val) except configexc.Error as e: message.error("set: {} - {}".format(e.__class__.__name__, e)) objects.backend = get_backend(args) configtypes.Font.monospace_fonts = config.val.fonts.monospace config.instance.changed.connect(_update_monospace_fonts) _init_envvars()
def early_init(args): """Initialize the part of the config which works without a QApplication.""" configdata.init() yaml_config = configfiles.YamlConfig() config.instance = config.Config(yaml_config=yaml_config) config.val = config.ConfigContainer(config.instance) config.key_instance = config.KeyConfig(config.instance) yaml_config.setParent(config.instance) for cf in config.change_filters: cf.validate() configtypes.Font.monospace_fonts = config.val.fonts.monospace config_commands = configcommands.ConfigCommands(config.instance, config.key_instance) objreg.register('config-commands', config_commands) config_file = os.path.join(standarddir.config(), 'config.py') try: if os.path.exists(config_file): configfiles.read_config_py(config_file) else: configfiles.read_autoconfig() except configexc.ConfigFileErrors as e: log.config.exception("Error while loading {}".format(e.basename)) global _init_errors _init_errors = e configfiles.init() objects.backend = get_backend(args) for opt, val in args.temp_settings: try: config.instance.set_str(opt, val) except configexc.Error as e: message.error("set: {} - {}".format(e.__class__.__name__, e)) if (objects.backend == usertypes.Backend.QtWebEngine and config.val.force_software_rendering): os.environ['QT_XCB_FORCE_SOFTWARE_OPENGL'] = '1'
def main(): """Check by which hostblock list a host was blocked.""" if len(sys.argv) != 2: print("Usage: {} <host>".format(sys.argv[0]), file=sys.stderr) sys.exit(1) configdata.init() for url in configdata.DATA['content.host_blocking.lists'].default: print("checking {}...".format(url)) raw_file = urllib.request.urlopen(url) byte_io = io.BytesIO(raw_file.read()) f = adblock.get_fileobj(byte_io) for line in f: line = line.decode('utf-8') if sys.argv[1] in line: print("FOUND {} in {}:".format(sys.argv[1], url)) print(" " + line.rstrip())
def main(): """Check by which hostblock list a host was blocked.""" if len(sys.argv) != 2: print("Usage: {} <host>".format(sys.argv[0]), file=sys.stderr) sys.exit(1) configdata.init() for url in configdata.DATA['content.blocking.hosts.lists'].default: print("checking {}...".format(url)) raw_file = urllib.request.urlopen(url) byte_io = io.BytesIO(raw_file.read()) f = hostblock.get_fileobj(byte_io) for line in f: line = line.decode('utf-8') if sys.argv[1] in line: print("FOUND {} in {}:".format(sys.argv[1], url)) print(" " + line.rstrip())
def main(): if configdata.DATA is None: configdata.init() parser = get_argparser() argv = sys.argv[1:] args = parser.parse_args(argv) languages = available_languages() if args.cmd == 'list': print_list(languages) elif args.cmd == 'update': update(languages) elif args.cmd == 'remove-old': remove_old(languages) elif not args.language: sys.exit('You must provide a list of languages to install.') else: try: install(filter_languages(languages, args.language)) except InvalidLanguageError as e: print(e)
def configdata_init(monkeypatch): """Make sure configdata is init'ed and no test re-init's it.""" if not configdata.DATA: configdata.init() monkeypatch.setattr(configdata, 'init', lambda: None)
def configdata_init(): if configdata.DATA is None: configdata.init()
def configdata_init(): """Initialize configdata if needed.""" if configdata.DATA is None: configdata.init()