Python toml.TomlDecodeError() Examples
The following are 18
code examples of toml.TomlDecodeError().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
toml
, or try the search function
.
Example #1
Source File: config_manager.py From angr-management with BSD 2-Clause "Simplified" License | 6 votes |
def parse(cls, f): entry_map = {} for entry in ENTRIES: entry_map[entry.name] = entry.copy() try: loaded = toml.load(f) for k, v in loaded.items(): if entry.type_ in data_constructors: v = data_constructors[entry.type_](k, v) if k not in entry_map: _l.warning('Unknown configuration option \'%s\'. Ignoring...', k) continue entry = entry_map[k] if type(v) is not entry.type_: _l.warning('Value \'%s\' for configuration option \'%s\' has type \'%s\', expected type \'%s\'. Ignoring...', v, k, type(v), entry.type_) continue entry.value = v except toml.TomlDecodeError as e: _l.error('Failed to parse configuration file: \'%s\'. Continuing with default options...', e.msg) return cls(entry_map)
Example #2
Source File: config.py From ward with MIT License | 6 votes |
def read_config_toml(project_root: Path, config_file: str) -> Config: path = project_root / config_file if not path.is_file(): return {} try: pyproject_toml = toml.load(str(path)) config = pyproject_toml.get("tool", {}).get("ward", {}) except (toml.TomlDecodeError, OSError) as e: raise click.FileError( filename=config_file, hint=f"Error reading {config_file}:\n{e}" ) if not config: return {} config = {k.replace("--", "").replace("-", "_"): v for k, v in config.items()} return config
Example #3
Source File: whitelist.py From vulnix with BSD 3-Clause "New" or "Revised" License | 6 votes |
def load(cls, fobj): """Loads whitelist from file-like object. The format (TOML or YAML) is guessed using a heuristic. """ content = fobj.read() if isinstance(content, bytes): content = content.decode('utf-8') filename = '' if hasattr(fobj, 'name') and fobj.name: filename = fobj.name elif hasattr(fobj, 'geturl'): filename = fobj.geturl() try: return cls._parse_cfg(content, filename) except (toml.TomlDecodeError, IndexError) as e: raise RuntimeError('failed to load `{}`: {}'.format(filename, e))
Example #4
Source File: release.py From rasa-for-botfront with Apache License 2.0 | 6 votes |
def write_version_to_pyproject(version: Version) -> None: """Dump a new version into the pyproject.toml.""" pyproject_file = pyproject_file_path() try: data = toml.load(pyproject_file) data["tool"]["poetry"]["version"] = str(version) with pyproject_file.open("w", encoding="utf8") as f: toml.dump(data, f) except (FileNotFoundError, TypeError): print(f"Unable to update {pyproject_file}: file not found.") sys.exit(1) except toml.TomlDecodeError: print(f"Unable to parse {pyproject_file}: incorrect TOML file.") sys.exit(1) check_call(["git", "add", str(pyproject_file.absolute())])
Example #5
Source File: release.py From rasa-sdk with Apache License 2.0 | 6 votes |
def write_version_to_pyproject(version: Version) -> None: """Dump a new version into the pyproject.toml.""" import toml pyproject_file = pyproject_file_path() try: data = toml.load(pyproject_file) data["tool"]["poetry"]["version"] = str(version) with pyproject_file.open("w") as f: toml.dump(data, f) except (FileNotFoundError, TypeError): print(f"Unable to update {pyproject_file}: file not found.") sys.exit(1) except toml.TomlDecodeError: print(f"Unable to parse {pyproject_file}: incorrect TOML file.") sys.exit(1) check_call(["git", "add", str(pyproject_file.absolute())])
Example #6
Source File: settings.py From python-semantic-release with MIT License | 5 votes |
def _config_from_pyproject(path): if not os.path.isfile(path): return {} try: pyproject = toml.load(path) return pyproject.get("tool", {}).get("semantic_release", {}) except toml.TomlDecodeError: logger.debug("Could not decode pyproject.toml") return {}
Example #7
Source File: config.py From tartufo with GNU General Public License v2.0 | 5 votes |
def read_pyproject_toml( ctx: click.Context, _param: click.Parameter, value: str ) -> Optional[str]: if not value: root_path = ctx.params.get("repo_path", None) if not root_path: root_path = "." root_path = pathlib.Path(root_path).resolve() config_path = root_path / "pyproject.toml" if config_path.is_file(): value = str(config_path) else: config_path = root_path / "tartufo.toml" if config_path.is_file(): value = str(config_path) else: return None try: toml_file = toml.load(value) config = toml_file.get("tool", {}).get("tartufo", {}) except (toml.TomlDecodeError, OSError) as exc: raise click.FileError( filename=str(config_path), hint="Error reading configuration file: {}".format(exc), ) if not config: return None if ctx.default_map is None: ctx.default_map = {} ctx.default_map.update( # type: ignore {k.replace("--", "").replace("-", "_"): v for k, v in config.items()} ) return str(value)
Example #8
Source File: check.py From CogAlg with MIT License | 5 votes |
def check(source_dir): pyproject = pjoin(source_dir, 'pyproject.toml') if isfile(pyproject): log.info('Found pyproject.toml') else: log.error('Missing pyproject.toml') return False try: with open(pyproject) as f: pyproject_data = toml_load(f) # Ensure the mandatory data can be loaded buildsys = pyproject_data['build-system'] requires = buildsys['requires'] backend = buildsys['build-backend'] backend_path = buildsys.get('backend-path') log.info('Loaded pyproject.toml') except (TomlDecodeError, KeyError): log.error("Invalid pyproject.toml", exc_info=True) return False hooks = Pep517HookCaller(source_dir, backend, backend_path) sdist_ok = check_build_sdist(hooks, requires) wheel_ok = check_build_wheel(hooks, requires) if not sdist_ok: log.warning('Sdist checks failed; scroll up to see') if not wheel_ok: log.warning('Wheel checks failed') return sdist_ok
Example #9
Source File: pyproject.py From taskipy with MIT License | 5 votes |
def __load_toml_file(file_path: Union[str, Path]) -> MutableMapping[str, Any]: try: if isinstance(file_path, str): file_path = Path(file_path).resolve() return toml.load(file_path) except FileNotFoundError: raise MissingPyProjectFileError() except toml.TomlDecodeError: raise MalformedPyProjectError()
Example #10
Source File: check_toml.py From pre-commit-hooks with MIT License | 5 votes |
def main(argv: Optional[Sequence[str]] = None) -> int: parser = argparse.ArgumentParser() parser.add_argument('filenames', nargs='*', help='Filenames to check.') args = parser.parse_args(argv) retval = 0 for filename in args.filenames: try: toml.load(filename) except toml.TomlDecodeError as exc: print(f'{filename}: {exc}') retval = 1 return retval
Example #11
Source File: parser.py From dparse with MIT License | 5 votes |
def parse(self): """ Parse a Pipfile (as seen in pipenv) :return: """ try: data = toml.loads(self.obj.content, _dict=OrderedDict) if data: for package_type in ['packages', 'dev-packages']: if package_type in data: for name, specs in data[package_type].items(): # skip on VCS dependencies if not isinstance(specs, str): continue if specs == '*': specs = '' self.obj.dependencies.append( Dependency( name=name, specs=SpecifierSet(specs), dependency_type=filetypes.pipfile, line=''.join([name, specs]), section=package_type ) ) except (toml.TomlDecodeError, IndexError) as e: pass
Example #12
Source File: from_file.py From Box with MIT License | 5 votes |
def _to_toml(data): try: return Box.from_toml(data) except TomlDecodeError: raise BoxError('File is not TOML as expected')
Example #13
Source File: check.py From pipenv with MIT License | 5 votes |
def check(source_dir): pyproject = pjoin(source_dir, 'pyproject.toml') if isfile(pyproject): log.info('Found pyproject.toml') else: log.error('Missing pyproject.toml') return False try: with open(pyproject) as f: pyproject_data = toml_load(f) # Ensure the mandatory data can be loaded buildsys = pyproject_data['build-system'] requires = buildsys['requires'] backend = buildsys['build-backend'] backend_path = buildsys.get('backend-path') log.info('Loaded pyproject.toml') except (TomlDecodeError, KeyError): log.error("Invalid pyproject.toml", exc_info=True) return False hooks = Pep517HookCaller(source_dir, backend, backend_path) sdist_ok = check_build_sdist(hooks, requires) wheel_ok = check_build_wheel(hooks, requires) if not sdist_ok: log.warning('Sdist checks failed; scroll up to see') if not wheel_ok: log.warning('Wheel checks failed') return sdist_ok
Example #14
Source File: parser.py From pipenv with MIT License | 5 votes |
def parse(self): """ Parse a Pipfile (as seen in pipenv) :return: """ try: data = toml.loads(self.obj.content, _dict=OrderedDict) if data: for package_type in ['packages', 'dev-packages']: if package_type in data: for name, specs in data[package_type].items(): # skip on VCS dependencies if not isinstance(specs, str): continue if specs == '*': specs = '' self.obj.dependencies.append( Dependency( name=name, specs=SpecifierSet(specs), dependency_type=filetypes.pipfile, line=''.join([name, specs]), section=package_type ) ) except (toml.TomlDecodeError, IndexError) as e: pass
Example #15
Source File: check.py From pipenv with MIT License | 5 votes |
def check(source_dir): pyproject = pjoin(source_dir, 'pyproject.toml') if isfile(pyproject): log.info('Found pyproject.toml') else: log.error('Missing pyproject.toml') return False try: with open(pyproject) as f: pyproject_data = toml_load(f) # Ensure the mandatory data can be loaded buildsys = pyproject_data['build-system'] requires = buildsys['requires'] backend = buildsys['build-backend'] backend_path = buildsys.get('backend-path') log.info('Loaded pyproject.toml') except (TomlDecodeError, KeyError): log.error("Invalid pyproject.toml", exc_info=True) return False hooks = Pep517HookCaller(source_dir, backend, backend_path) sdist_ok = check_build_sdist(hooks, requires) wheel_ok = check_build_wheel(hooks, requires) if not sdist_ok: log.warning('Sdist checks failed; scroll up to see') if not wheel_ok: log.warning('Wheel checks failed') return sdist_ok
Example #16
Source File: check.py From pex with Apache License 2.0 | 5 votes |
def check(source_dir): pyproject = pjoin(source_dir, 'pyproject.toml') if isfile(pyproject): log.info('Found pyproject.toml') else: log.error('Missing pyproject.toml') return False try: with open(pyproject) as f: pyproject_data = toml_load(f) # Ensure the mandatory data can be loaded buildsys = pyproject_data['build-system'] requires = buildsys['requires'] backend = buildsys['build-backend'] backend_path = buildsys.get('backend-path') log.info('Loaded pyproject.toml') except (TomlDecodeError, KeyError): log.error("Invalid pyproject.toml", exc_info=True) return False hooks = Pep517HookCaller(source_dir, backend, backend_path) sdist_ok = check_build_sdist(hooks, requires) wheel_ok = check_build_wheel(hooks, requires) if not sdist_ok: log.warning('Sdist checks failed; scroll up to see') if not wheel_ok: log.warning('Wheel checks failed') return sdist_ok
Example #17
Source File: check.py From pep517 with MIT License | 5 votes |
def check(source_dir): pyproject = pjoin(source_dir, 'pyproject.toml') if isfile(pyproject): log.info('Found pyproject.toml') else: log.error('Missing pyproject.toml') return False try: with open(pyproject) as f: pyproject_data = toml_load(f) # Ensure the mandatory data can be loaded buildsys = pyproject_data['build-system'] requires = buildsys['requires'] backend = buildsys['build-backend'] backend_path = buildsys.get('backend-path') log.info('Loaded pyproject.toml') except (TomlDecodeError, KeyError): log.error("Invalid pyproject.toml", exc_info=True) return False hooks = Pep517HookCaller(source_dir, backend, backend_path) sdist_ok = check_build_sdist(hooks, requires) wheel_ok = check_build_wheel(hooks, requires) if not sdist_ok: log.warning('Sdist checks failed; scroll up to see') if not wheel_ok: log.warning('Wheel checks failed') return sdist_ok
Example #18
Source File: plugin.py From pyls-black with MIT License | 4 votes |
def load_config(filename: str) -> Dict: defaults = { "line_length": 88, "fast": False, "pyi": filename.endswith(".pyi"), "skip_string_normalization": False, "target_version": set(), } root = black.find_project_root((filename,)) pyproject_filename = root / "pyproject.toml" if not pyproject_filename.is_file(): return defaults try: pyproject_toml = toml.load(str(pyproject_filename)) except (toml.TomlDecodeError, OSError): return defaults file_config = pyproject_toml.get("tool", {}).get("black", {}) file_config = { key.replace("--", "").replace("-", "_"): value for key, value in file_config.items() } config = { key: file_config.get(key, default_value) for key, default_value in defaults.items() } if file_config.get("target_version"): target_version = set( black.TargetVersion[x.upper()] for x in file_config["target_version"] ) elif file_config.get("py36"): target_version = black.PY36_VERSIONS else: target_version = set() config["target_version"] = target_version return config