summaryrefslogtreecommitdiff
path: root/video
diff options
context:
space:
mode:
Diffstat (limited to 'video')
-rwxr-xr-xvideo/rmduppic67
1 files changed, 0 insertions, 67 deletions
diff --git a/video/rmduppic b/video/rmduppic
deleted file mode 100755
index 6fdc18d..0000000
--- a/video/rmduppic
+++ /dev/null
@@ -1,67 +0,0 @@
-#!/usr/bin/env python3
-import os
-import subprocess
-
-def sizeinbytes(size, unit):
- mag = {'KiB' : 1, 'MiB': 2, 'GiB' : 3}
- return float(size) * (1000 ** mag[unit])
-
-# Run czkawka_cli on the current directory
-cwd = os.getcwd()
-print("Running czkawa for directory ", cwd, "...", sep="")
-czkawka = ["czkawka_cli", "image", "-d", cwd]
-czkawkadata = subprocess.run(czkawka, stdout=subprocess.PIPE)
-czkawkadata = czkawkadata.stdout.decode('utf-8').splitlines() # Convert to a normal string and split into lines
-if not czkawkadata:
- print("All images in", cwd, "are unique. Exiting...")
- exit()
-
-# Get number of images total and remove first line since it would cause issues
-numimages = int(czkawkadata[0].split()[1])
-print ("Done!", numimages, "duplicate images found...")
-czkawkadata.pop(0)
-
-# Split czkawkadata by the delimeter used by czkawka_cli
-czkawkadata = [i.split(' - ') for i in czkawkadata]
-
-# Make keep store the images we want to keep
-largest = 0
-i = 0
-dups = 0
-keep = [None] * numimages
-for image in czkawkadata:
- if not image[0]:
- largest = 0
- i += 1
- continue
- dups += 1
- size = image[2].split()
- size = sizeinbytes(size[0], size[1]) # Convert to bytes so we can easily compate kb vs mb vs gb
- if size > largest:
- largest = size
- keep[i] = image
-
-# Remove all empty entries from czkawkadata
-czkawkadata[:] = [x for x in czkawkadata if x[0]]
-
-# Remove any images we're keeping from czkawkadata to be left with only the duplicates
-for image in keep:
- czkawkadata.remove(image)
-
-# User actions
-confirmation = None
-message = "Are you sure you want to delete all " + str(dups - len(keep)) + " duplicate images? (Yes/No/Show) "
-while not confirmation:
- confirmation = input(message)
- if (confirmation == "yes"):
- for image in czkawkadata:
- os.remove(image[0])
- print("Removed image", image[0])
- elif (confirmation == "no"):
- exit()
- elif (confirmation == "show"):
- for image in czkawkadata:
- print(image)
- confirmation = None # Prompt again
- else:
- confirmation = None