"""Tools for reading and writing PKG-INFO / METADATA without caring about the encoding.""" from email.parser import Parser try: unicode _PY3 = False except NameError: _PY3 = True if not _PY3: from email.generator import Generator def read_pkg_info_bytes(bytestr): return Parser().parsestr(bytestr) def read_pkg_info(path): with open(path, "r") as headers: message = Parser().parse(headers) return message def write_pkg_info(path, message): with open(path, 'w') as metadata: Generator(metadata, mangle_from_=False, maxheaderlen=0).flatten(message) else: from email.generator import BytesGenerator def read_pkg_info_bytes(bytestr): headers = bytestr.decode(encoding="ascii", errors="surrogateescape") message = Parser().parsestr(headers) return message def read_pkg_info(path): with open(path, "r", encoding="ascii", errors="surrogateescape") as headers: message = Parser().parse(headers) return message def write_pkg_info(path, message): with open(path, "wb") as out: BytesGenerator(out, mangle_from_=False, maxheaderlen=0).flatten(message)
Name | Type | Size | Permission | Actions |
---|---|---|---|---|
__pycache__ | Folder | 0755 |
|
|
signatures | Folder | 0755 |
|
|
tool | Folder | 0755 |
|
|
__init__.py | File | 96 B | 0644 |
|
__main__.py | File | 419 B | 0644 |
|
archive.py | File | 2.32 KB | 0644 |
|
bdist_wheel.py | File | 18.41 KB | 0644 |
|
decorator.py | File | 541 B | 0644 |
|
egg2wheel.py | File | 2.97 KB | 0644 |
|
install.py | File | 18 KB | 0644 |
|
metadata.py | File | 11.29 KB | 0644 |
|
paths.py | File | 1.1 KB | 0644 |
|
pep425tags.py | File | 5.63 KB | 0644 |
|
pkginfo.py | File | 1.23 KB | 0644 |
|
util.py | File | 4.62 KB | 0644 |
|
wininst2wheel.py | File | 7.59 KB | 0644 |
|