Changeset View
Changeset View
Standalone View
Standalone View
bin/debpkg-update-metadata
#!/usr/bin/env python3 | #!/usr/bin/env python3 | ||||
import glob | import glob | ||||
import os | import os | ||||
import sys | import sys | ||||
sys.path.append('/usr/share/dh-python') | sys.path.append("/usr/share/dh-python") | ||||
from dhpython.pydist import guess_dependency | from dhpython.pydist import guess_dependency # noqa | ||||
def parse_requirements(filename): | def parse_requirements(filename): | ||||
requirements = [] | requirements = [] | ||||
if not os.path.exists(filename): | if not os.path.exists(filename): | ||||
return requirements | return requirements | ||||
with open(filename) as f: | with open(filename) as f: | ||||
for line in f.readlines(): | for line in f.readlines(): | ||||
line = line.strip() | line = line.strip() | ||||
if not line or line.startswith('#'): | if not line or line.startswith("#"): | ||||
continue | continue | ||||
requirements.append(line) | requirements.append(line) | ||||
return requirements | return requirements | ||||
def dependencies_from_requirements(directory): | def dependencies_from_requirements(directory): | ||||
requirements = [] | requirements = [] | ||||
for filename in glob.glob(os.path.join(directory, 'requirements*.txt')): | for filename in glob.glob(os.path.join(directory, "requirements*.txt")): | ||||
requirements.extend(parse_requirements(filename)) | requirements.extend(parse_requirements(filename)) | ||||
for req in set(requirements): | for req in set(requirements): | ||||
yield guess_dependency('cpython3', req, accept_upstream_versions=True) | yield guess_dependency("cpython3", req, accept_upstream_versions=True) | ||||
def get_all_dependencies(directory): | def get_all_dependencies(directory): | ||||
dependencies = ['debhelper (>= 11)', 'python3-all', 'dh-python (>= 3)'] | dependencies = ["debhelper (>= 11)", "python3-all", "dh-python (>= 3)"] | ||||
yield from dependencies | yield from dependencies | ||||
yield from dependencies_from_requirements(directory) | yield from dependencies_from_requirements(directory) | ||||
if __name__ == '__main__': | if __name__ == "__main__": | ||||
if len(sys.argv) != 2: | if len(sys.argv) != 2: | ||||
dir = '.' | dir = "." | ||||
else: | else: | ||||
dir = sys.argv[1] | dir = sys.argv[1] | ||||
for dep in get_all_dependencies(dir): | for dep in get_all_dependencies(dir): | ||||
print(dep) | print(dep) |