38 lines
915 B
Python
Executable file
38 lines
915 B
Python
Executable file
#!/usr/bin/env python3
|
|
|
|
import sys
|
|
|
|
root = {}
|
|
children = {}
|
|
|
|
for line in sys.stdin:
|
|
line = (
|
|
line.rstrip()
|
|
.replace("|", " ")
|
|
.replace("--", " ")
|
|
.replace("`", " ")
|
|
.replace("└", " ")
|
|
.replace("├", " ")
|
|
.replace("│", " ")
|
|
.replace("─", " ")
|
|
)
|
|
|
|
record = line.strip()
|
|
pkg, version, *_ = record.split(" ", 2)
|
|
tab = len(line) - len(record)
|
|
|
|
if tab == 0:
|
|
root[pkg] = version
|
|
else:
|
|
children[pkg] = version
|
|
|
|
print("# Packages Used Directly\n\nYou must always include these in your package:\n")
|
|
for pkg, version in root.items():
|
|
print(f" * {pkg} {version}")
|
|
|
|
print("\n")
|
|
print(
|
|
"# Packages Used Indirectly\n\nYou may or may not need to include these, depending on if your packaging system automatically pulls in sub-deps:\n"
|
|
)
|
|
for pkg, version in children.items():
|
|
print(f" * {pkg} {version}")
|