✨ Initial commit
commit
5db082be89
@ -0,0 +1,42 @@
|
||||
#!/usr/bin/python3
|
||||
import subprocess
|
||||
import collections
|
||||
import re
|
||||
import click
|
||||
|
||||
|
||||
@click.command()
|
||||
@click.option("--exclude", multiple=True, default=[])
|
||||
@click.argument("arguments", nargs=-1)
|
||||
def main(exclude, arguments):
|
||||
# build command
|
||||
find_cmd = ["git", "annex", "find", "--include", "*", "--format=${key}:${file}\n", *arguments]
|
||||
for e in exclude:
|
||||
find_cmd += ["--exclude", e]
|
||||
|
||||
# run
|
||||
result = subprocess.run(find_cmd, capture_output=True)
|
||||
|
||||
files = collections.defaultdict(list)
|
||||
for l in result.stdout.decode("utf-8").split("\n"):
|
||||
if l == "":
|
||||
continue
|
||||
key, file = l.split(":", maxsplit=1)
|
||||
|
||||
# XXX
|
||||
if file.lower().endswith(".jpg"):
|
||||
continue
|
||||
if file.lower().endswith(".nfo"):
|
||||
continue
|
||||
|
||||
files[key].append(file)
|
||||
|
||||
for k in files:
|
||||
if len(files[k]) > 1:
|
||||
for f in files[k]:
|
||||
print(f)
|
||||
print()
|
||||
|
||||
|
||||
if __name__ == "__main__":
|
||||
main()
|
Loading…
Reference in New Issue