コード例 #1
0
def dump_pipfile(path: PathLike, pipfile: TOMLDocument) -> None:
    reorder_container(pipfile, pipfile_section_key, key_type=KeyType.Bare)

    for name in ("packages", "dev-packages"):
        try:
            section = pipfile.item(name)
        except KeyError:
            pass
        else:
            container = section.value
            reorder_container(container,
                              pipfile_packages_key,
                              key_type=KeyType.Basic)

    value = pipfile.as_string()
    try:
        with open(path, "r") as fp:
            old_value = fp.read()
    except OSError:
        old_value = ""

    if value != old_value:
        diff = difflib.ndiff(old_value.splitlines(True),
                             value.splitlines(True))
        print("".join(diff), end="")

        with open(path, "w") as fp:
            fp.write(value)
コード例 #2
0
 def write(self, data: TOMLDocument) -> None:
     self.path.parent.mkdir(parents=True, exist_ok=True)
     with self.path.open("w") as f:
         f.write(data.as_string())