当前位置: 首页>>代码示例>>Python>>正文


Python tomlkit.dumps方法代码示例

本文整理汇总了Python中tomlkit.dumps方法的典型用法代码示例。如果您正苦于以下问题:Python tomlkit.dumps方法的具体用法?Python tomlkit.dumps怎么用?Python tomlkit.dumps使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在tomlkit的用法示例。


在下文中一共展示了tomlkit.dumps方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: load

# 需要导入模块: import tomlkit [as 别名]
# 或者: from tomlkit import dumps [as 别名]
def load(cls, f, encoding=None):
        # type: (Any, Text) -> PipfileLoader
        content = f.read()
        if encoding is not None:
            content = content.decode(encoding)
        _data = tomlkit.loads(content)
        should_reload = "source" not in _data
        _data = reorder_source_keys(_data)
        if should_reload:
            if "sources" in _data:
                content = tomlkit.dumps(_data)
            else:
                # HACK: There is no good way to prepend a section to an existing
                # TOML document, but there's no good way to copy non-structural
                # content from one TOML document to another either. Modify the
                # TOML content directly, and load the new in-memory document.
                sep = "" if content.startswith("\n") else "\n"
                content = plette.pipfiles.DEFAULT_SOURCE_TOML + sep + content
        data = tomlkit.loads(content)
        data = cls.ensure_package_sections(data)
        instance = cls(data)
        instance._data = dict(instance._data)
        return instance 
开发者ID:pypa,项目名称:pipenv,代码行数:25,代码来源:pipfile.py

示例2: save

# 需要导入模块: import tomlkit [as 别名]
# 或者: from tomlkit import dumps [as 别名]
def save(config: Config, _path: str) -> None:
    """Saves the given config to the given path as a TOML file."""

    if not isinstance(config, tomlkit.toml_document.TOMLDocument):
        raise TypeError("Only tomlkit saving is supported for now")

    path = Path(_path)
    tmp_path = path.with_suffix(path.suffix + ".tmp")
    done = False
    config_data = tomlkit.dumps(config)

    try:
        with tmp_path.open("w+") as f:
            f.write(config_data)
            f.flush()
            os.fsync(f.fileno())

        tmp_path.replace(path)
        done = True
    finally:
        if not done:
            tmp_path.unlink()


# Source: https://stackoverflow.com/a/3233356 
开发者ID:kdrag0n,项目名称:pyrobud,代码行数:27,代码来源:config.py

示例3: test_parsed_document_are_properly_json_representable

# 需要导入模块: import tomlkit [as 别名]
# 或者: from tomlkit import dumps [as 别名]
def test_parsed_document_are_properly_json_representable(
    example, json_example, example_name
):
    doc = json.loads(json.dumps(parse(example(example_name)), default=json_serial))
    json_doc = json.loads(json_example(example_name))

    assert doc == json_doc 
开发者ID:sdispater,项目名称:tomlkit,代码行数:9,代码来源:test_api.py

示例4: test_original_string_and_dumped_string_are_equal

# 需要导入模块: import tomlkit [as 别名]
# 或者: from tomlkit import dumps [as 别名]
def test_original_string_and_dumped_string_are_equal(example, example_name):
    content = example(example_name)
    parsed = parse(content)

    assert content == dumps(parsed) 
开发者ID:sdispater,项目名称:tomlkit,代码行数:7,代码来源:test_api.py

示例5: test_a_raw_dict_can_be_dumped

# 需要导入模块: import tomlkit [as 别名]
# 或者: from tomlkit import dumps [as 别名]
def test_a_raw_dict_can_be_dumped():
    s = dumps({"foo": "bar"})

    assert s == 'foo = "bar"\n' 
开发者ID:sdispater,项目名称:tomlkit,代码行数:6,代码来源:test_api.py

示例6: test_write_backslash

# 需要导入模块: import tomlkit [as 别名]
# 或者: from tomlkit import dumps [as 别名]
def test_write_backslash():
    d = {"foo": "\e\u25E6\r"}

    expected = """foo = "\\\\e\u25E6\\r"
"""

    assert expected == dumps(d)
    assert loads(dumps(d))["foo"] == "\e\u25E6\r" 
开发者ID:sdispater,项目名称:tomlkit,代码行数:10,代码来源:test_write.py

示例7: dumps

# 需要导入模块: import tomlkit [as 别名]
# 或者: from tomlkit import dumps [as 别名]
def dumps(self, reqs, project: RootDependency, content=None) -> str:
        doc = document()
        deps = []
        for req in reqs:
            deps.append(self._format_req(req=req))
        doc['build-system']['requires'] = deps
        return dumps(doc) 
开发者ID:dephell,项目名称:dephell,代码行数:9,代码来源:pyproject.py

示例8: generate_poetry_content

# 需要导入模块: import tomlkit [as 别名]
# 或者: from tomlkit import dumps [as 别名]
def generate_poetry_content(self):
        template = POETRY_DEFAULT
        if self._license:
            template = POETRY_WITH_LICENSE

        content = loads(template)
        poetry_content = content["tool"]["poetry"]
        poetry_content["name"] = self._project
        poetry_content["version"] = self._version
        poetry_content["description"] = self._description
        poetry_content["authors"].append(self._author)
        if self._license:
            poetry_content["license"] = self._license

        poetry_content["dependencies"]["python"] = self._python

        for dep_name, dep_constraint in self._dependencies.items():
            poetry_content["dependencies"][dep_name] = dep_constraint

        for dep_name, dep_constraint in self._dev_dependencies.items():
            poetry_content["dev-dependencies"][dep_name] = dep_constraint

        # Add build system
        build_system = table()
        build_system_version = ">=" + BUILD_SYSTEM_MIN_VERSION
        if BUILD_SYSTEM_MAX_VERSION is not None:
            build_system_version += ",<" + BUILD_SYSTEM_MAX_VERSION

        build_system.add("requires", ["poetry" + build_system_version])
        build_system.add("build-backend", "poetry.masonry.api")

        content.add("build-system", build_system)

        return dumps(content) 
开发者ID:python-poetry,项目名称:poetry,代码行数:36,代码来源:layout.py

示例9: write_lockfile

# 需要导入模块: import tomlkit [as 别名]
# 或者: from tomlkit import dumps [as 别名]
def write_lockfile(self, toml_data: Container, show_message: bool = True) -> None:
        toml_data.update({"root": self.get_project_metadata()})

        with atomic_open_for_write(self.lockfile_file) as fp:
            fp.write(tomlkit.dumps(toml_data))
        if show_message:
            stream.echo("Changes are written to pdm.lock.")
        self._lockfile = None 
开发者ID:frostming,项目名称:pdm,代码行数:10,代码来源:core.py

示例10: get_content_hash

# 需要导入模块: import tomlkit [as 别名]
# 或者: from tomlkit import dumps [as 别名]
def get_content_hash(self, algo: str = "md5") -> str:
        # Only calculate sources and dependencies sections. Otherwise lock file is
        # considered as unchanged.
        dump_data = {"sources": self.tool_settings.get("source", [])}
        for section in self.iter_sections():
            toml_section = (
                "dependencies" if section == "default" else f"{section}-dependencies"
            )
            dump_data[toml_section] = dict(self.tool_settings.get(toml_section, {}))
        pyproject_content = json.dumps(dump_data, sort_keys=True)
        hasher = hashlib.new(algo)
        hasher.update(pyproject_content.encode("utf-8"))
        return hasher.hexdigest() 
开发者ID:frostming,项目名称:pdm,代码行数:15,代码来源:core.py

示例11: write_pyproject

# 需要导入模块: import tomlkit [as 别名]
# 或者: from tomlkit import dumps [as 别名]
def write_pyproject(self, show_message: bool = True) -> None:
        with atomic_open_for_write(
            self.pyproject_file.as_posix(), encoding="utf-8"
        ) as f:
            f.write(tomlkit.dumps(self.pyproject))
        if show_message:
            stream.echo("Changes are written to pyproject.toml.")
        self._pyproject = None 
开发者ID:frostming,项目名称:pdm,代码行数:10,代码来源:core.py

示例12: _save_config

# 需要导入模块: import tomlkit [as 别名]
# 或者: from tomlkit import dumps [as 别名]
def _save_config(self) -> None:
        """Save the changed to config file."""
        self._config_file.parent.mkdir(parents=True, exist_ok=True)
        toml_data = {}
        for key, value in self._file_data.items():
            *parts, last = key.split(".")
            temp = toml_data
            for part in parts:
                temp = temp.setdefault(part, {})
            temp[last] = value

        with self._config_file.open("w", encoding="utf-8") as fp:
            fp.write(tomlkit.dumps(toml_data)) 
开发者ID:frostming,项目名称:pdm,代码行数:15,代码来源:config.py

示例13: test_dump_nonascii_string

# 需要导入模块: import tomlkit [as 别名]
# 或者: from tomlkit import dumps [as 别名]
def test_dump_nonascii_string():
    content = u'name = "Stažené"\n'
    toml_content = tomlkit.dumps(tomlkit.loads(content))
    assert toml_content == content 
开发者ID:pypa,项目名称:pipenv,代码行数:6,代码来源:test_vendor.py

示例14: write_toml

# 需要导入模块: import tomlkit [as 别名]
# 或者: from tomlkit import dumps [as 别名]
def write_toml(self, data, path=None):
        """Writes the given data structure out as TOML."""
        if path is None:
            path = self.pipfile_location
        data = convert_toml_outline_tables(data)
        try:
            formatted_data = tomlkit.dumps(data).rstrip()
        except Exception:
            document = tomlkit.document()
            for section in ("packages", "dev-packages"):
                document[section] = tomlkit.table()
                # Convert things to inline tables — fancy :)
                for package in data.get(section, {}):
                    if hasattr(data[section][package], "keys"):
                        table = tomlkit.inline_table()
                        table.update(data[section][package])
                        document[section][package] = table
                    else:
                        document[section][package] = tomlkit.string(data[section][package])
            formatted_data = tomlkit.dumps(document).rstrip()

        if (
            vistir.compat.Path(path).absolute()
            == vistir.compat.Path(self.pipfile_location).absolute()
        ):
            newlines = self._pipfile_newlines
        else:
            newlines = DEFAULT_NEWLINES
        formatted_data = cleanup_toml(formatted_data)
        with io.open(path, "w", newline=newlines) as f:
            f.write(formatted_data)
        # pipfile is mutated!
        self.clear_pipfile_cache() 
开发者ID:pypa,项目名称:pipenv,代码行数:35,代码来源:project.py

示例15: get_hash

# 需要导入模块: import tomlkit [as 别名]
# 或者: from tomlkit import dumps [as 别名]
def get_hash(self):
        data = {
            "_meta": {
                "sources": self._data["source"],
                "requires": self._data.get("requires", {}),
            },
            "default": self._data.get("packages", {}),
            "develop": self._data.get("dev-packages", {}),
        }
        content = json.dumps(data, sort_keys=True, separators=(",", ":"))
        if isinstance(content, six.text_type):
            content = content.encode("utf-8")
        return Hash.from_hash(hashlib.sha256(content)) 
开发者ID:pypa,项目名称:pipenv,代码行数:15,代码来源:pipfiles.py


注:本文中的tomlkit.dumps方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。