Added a comment: Delete duplicates and specify preferred locations
This commit is contained in:
parent
985dd4f2ad
commit
6431fc1b26
1 changed files with 49 additions and 0 deletions
|
@ -0,0 +1,49 @@
|
||||||
|
[[!comment format=mdwn
|
||||||
|
username="thk"
|
||||||
|
avatar="http://cdn.libravatar.org/avatar/bfef10a428769701aeee1db978951461"
|
||||||
|
subject="Delete duplicates and specify preferred locations"
|
||||||
|
date="2020-04-26T11:18:39Z"
|
||||||
|
content="""
|
||||||
|
I leave this here for people who understand python. I wrote the output of Joey's first script in file \"duplicates\". You want to comment out the last line while trying and add some print statements.
|
||||||
|
|
||||||
|
|
||||||
|
```
|
||||||
|
from itertools import *
|
||||||
|
from functools import partial
|
||||||
|
from pprint import pprint
|
||||||
|
import subprocess
|
||||||
|
|
||||||
|
with open('duplicates', 'rb') as f:
|
||||||
|
duplicates = f.read()
|
||||||
|
|
||||||
|
duplicates = duplicates.split(b\"\n\n\")
|
||||||
|
|
||||||
|
preferences = b\"\"\"XXXXXXXXXXXXXXXXXXXXXXXXX Add more lines below
|
||||||
|
\"\"\".splitlines()
|
||||||
|
|
||||||
|
ignore = b\"\"\"XXXXXXXXXXXXXXXXXXXXXXXXXXXXXX Add more lines below
|
||||||
|
\"\"\".splitlines()
|
||||||
|
|
||||||
|
deletes = []
|
||||||
|
|
||||||
|
def matches(prefixes, f):
|
||||||
|
for prefix in prefixes:
|
||||||
|
if f.startswith(prefix):
|
||||||
|
return True
|
||||||
|
return False
|
||||||
|
|
||||||
|
for block in duplicates:
|
||||||
|
files = block.splitlines()
|
||||||
|
if any(filter(partial(matches, ignore), files)):
|
||||||
|
continue
|
||||||
|
|
||||||
|
delete = list(filterfalse(partial(matches, preferences), files))
|
||||||
|
|
||||||
|
if len(delete) + 1 == len(files):
|
||||||
|
deletes.extend(delete)
|
||||||
|
|
||||||
|
for d in deletes:
|
||||||
|
pprint(d)
|
||||||
|
subprocess.run([b\"git\", b\"rm\", d], capture_output=True, check=True)
|
||||||
|
```
|
||||||
|
"""]]
|
Loading…
Add table
Add a link
Reference in a new issue