annotate _postprocess-sdist.py @ 366:5fffacc390eb

treesum: FIX: typo in doc
author Franz Glasner <fzglas.hg@dom66.de>
date Wed, 09 Apr 2025 22:21:35 +0200
parents 2acf206a8fdf
children c19a21180a8f
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
284
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
1 # -*- coding: utf-8 -*-
358
2acf206a8fdf Add license information to _postprocess-sdist.py
Franz Glasner <fzglas.hg@dom66.de>
parents: 288
diff changeset
2 # :-
2acf206a8fdf Add license information to _postprocess-sdist.py
Franz Glasner <fzglas.hg@dom66.de>
parents: 288
diff changeset
3 # SPDX-FileCopyrightText: © 2025 Franz Glasner
2acf206a8fdf Add license information to _postprocess-sdist.py
Franz Glasner <fzglas.hg@dom66.de>
parents: 288
diff changeset
4 # SPDX-License-Identifier: BSD-3-Clause
2acf206a8fdf Add license information to _postprocess-sdist.py
Franz Glasner <fzglas.hg@dom66.de>
parents: 288
diff changeset
5 # :-
288
57102b9d7ec9 Add some minimal docs into _postprocess-sdist.py
Franz Glasner <fzglas.hg@dom66.de>
parents: 287
diff changeset
6 """Postprocress a .tar-sdist to include tests/data with symlinks as symlinks.
57102b9d7ec9 Add some minimal docs into _postprocess-sdist.py
Franz Glasner <fzglas.hg@dom66.de>
parents: 287
diff changeset
7
57102b9d7ec9 Add some minimal docs into _postprocess-sdist.py
Franz Glasner <fzglas.hg@dom66.de>
parents: 287
diff changeset
8 Produce an sdist with all the data in :file:`tests/data/`::
57102b9d7ec9 Add some minimal docs into _postprocess-sdist.py
Franz Glasner <fzglas.hg@dom66.de>
parents: 287
diff changeset
9
57102b9d7ec9 Add some minimal docs into _postprocess-sdist.py
Franz Glasner <fzglas.hg@dom66.de>
parents: 287
diff changeset
10 rm -rf dist py_cutils.egg-info
57102b9d7ec9 Add some minimal docs into _postprocess-sdist.py
Franz Glasner <fzglas.hg@dom66.de>
parents: 287
diff changeset
11 python setup.py sdist
57102b9d7ec9 Add some minimal docs into _postprocess-sdist.py
Franz Glasner <fzglas.hg@dom66.de>
parents: 287
diff changeset
12 python _postprocess-sdist.py
57102b9d7ec9 Add some minimal docs into _postprocess-sdist.py
Franz Glasner <fzglas.hg@dom66.de>
parents: 287
diff changeset
13 gzip dist/*.tar
284
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
14
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
15 """
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
16
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
17 from __future__ import print_function, absolute_import
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
18
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
19 try:
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
20 from configparser import ConfigParser
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
21 except ImportError:
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
22 from ConfigParser import SafeConfigParser as ConfigParser
285
39a19c008708 Now dynamically the version attribute from setup.cfg
Franz Glasner <fzglas.hg@dom66.de>
parents: 284
diff changeset
23 import importlib
284
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
24 import io
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
25 import os
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
26 import tarfile
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
27
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
28
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
29 def main():
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
30 with io.open("setup.cfg", "rt", encoding="utf-8") as cfgfile:
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
31 cp = ConfigParser()
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
32 if hasattr(cp, "read_file"):
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
33 cp.read_file(cfgfile, "setup.cfg")
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
34 else:
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
35 cp.readfp(cfgfile, "setup.cfg")
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
36 project_name = cp.get("metadata", "name")
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
37 project_version = cp.get("metadata", "version")
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
38 if project_version.startswith("attr:"):
285
39a19c008708 Now dynamically the version attribute from setup.cfg
Franz Glasner <fzglas.hg@dom66.de>
parents: 284
diff changeset
39 vermodname, dummy, vermodattr = (project_version[5:]
39a19c008708 Now dynamically the version attribute from setup.cfg
Franz Glasner <fzglas.hg@dom66.de>
parents: 284
diff changeset
40 .strip()
39a19c008708 Now dynamically the version attribute from setup.cfg
Franz Glasner <fzglas.hg@dom66.de>
parents: 284
diff changeset
41 .rpartition('.'))
39a19c008708 Now dynamically the version attribute from setup.cfg
Franz Glasner <fzglas.hg@dom66.de>
parents: 284
diff changeset
42 assert dummy is not None and vermodattr is not None
39a19c008708 Now dynamically the version attribute from setup.cfg
Franz Glasner <fzglas.hg@dom66.de>
parents: 284
diff changeset
43 vermod = importlib.import_module(vermodname)
39a19c008708 Now dynamically the version attribute from setup.cfg
Franz Glasner <fzglas.hg@dom66.de>
parents: 284
diff changeset
44 project_version = getattr(vermod, vermodattr)
286
9518944ed42e Do not handle "file:" version specifications yet
Franz Glasner <fzglas.hg@dom66.de>
parents: 285
diff changeset
45 elif project_version.startswith("file:"):
285
39a19c008708 Now dynamically the version attribute from setup.cfg
Franz Glasner <fzglas.hg@dom66.de>
parents: 284
diff changeset
46 assert False
284
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
47 #
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
48 # Compressed tar files cannot be modified by Python: make sure the
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
49 # originally generated archive is uncompressed.
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
50 #
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
51 assert cp.get("sdist", "formats") == "tar"
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
52
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
53 archive_name = "{}-{}.tar".format(project_name, project_version)
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
54 archive_path = "dist/" + archive_name
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
55 assert os.path.isfile(archive_path)
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
56
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
57 # the directory within the archive
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
58 archive_path_prefix = "{}-{}".format(project_name, project_version)
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
59
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
60 egg_directory = "{}.egg-info".format(project_name.replace("-", "_"))
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
61 assert os.path.isdir(egg_directory)
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
62 sources_txt_path = "{}/SOURCES.txt".format(egg_directory)
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
63 sources_txt_arcname = "{}/{}/SOURCES.txt".format(
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
64 archive_path_prefix,
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
65 egg_directory)
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
66
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
67 with tarfile.TarFile(archive_path, "r") as tf:
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
68 sf = tf.extractfile(sources_txt_arcname)
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
69 try:
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
70 sources_txt = sf.read()
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
71 finally:
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
72 sf.close()
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
73
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
74 with tarfile.TarFile(archive_path, "a") as tf:
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
75 arcname = "{}/tests/data".format(archive_path_prefix)
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
76 try:
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
77 info = tf.getmember(arcname)
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
78 except KeyError:
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
79 pass
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
80 else:
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
81 raise RuntimeError("already postprocessed")
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
82 pre_names = set(tf.getnames())
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
83 tf.add("tests/data", arcname=arcname, recursive=True)
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
84
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
85 #
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
86 # Determine the new files and symlinks that are to be added
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
87 # to SOURCES.txt. Skip directories.
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
88 #
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
89 post_names = set(tf.getnames())
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
90 new_names = list(post_names - pre_names)
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
91 new_names.sort()
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
92 new_sources = []
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
93
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
94 for np in new_names:
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
95 nn = np[len(archive_path_prefix)+1:]
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
96 info = tf.getmember(np)
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
97 if not info.isdir():
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
98 new_sources.append(nn)
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
99
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
100 # Augment SOURCES.txt and add it to the archive
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
101 sources_info = tf.gettarinfo(
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
102 sources_txt_path, arcname=sources_txt_arcname)
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
103 sf = io.BytesIO()
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
104 sf.write(sources_txt)
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
105 if not sources_txt.endswith(b'\n'):
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
106 sf.write(b'\n')
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
107 sf.write(b('\n'.join(new_sources)))
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
108 sources_info.size = len(sf.getvalue())
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
109 sf.seek(0)
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
110 tf.addfile(sources_info, sf)
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
111
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
112
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
113 def b(buf, encoding="ascii"):
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
114 if isinstance(buf, bytes):
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
115 return buf
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
116 else:
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
117 return buf.encode(encoding)
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
118
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
119
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
120 if __name__ == "__main__":
b65d25882e44 REFACTOR: sdist generation: postprocess an sdist to include symbolic links as symbolic links.
Franz Glasner <fzglas.hg@dom66.de>
parents:
diff changeset
121 main()