aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorzlg <zlg@zlg.space>2018-06-25 22:12:51 -0700
committerzlg <zlg@zlg.space>2018-06-25 22:12:51 -0700
commitd628b026bb44df3d6e7c5768a0162965ff5435f3 (patch)
treedbffee4a93f3d665b252244c690b0217d36c7129
parentInitial commit (diff)
downloaddupekill-d628b026bb44df3d6e7c5768a0162965ff5435f3.tar.gz
dupekill-d628b026bb44df3d6e7c5768a0162965ff5435f3.tar.bz2
dupekill-d628b026bb44df3d6e7c5768a0162965ff5435f3.tar.xz
dupekill-d628b026bb44df3d6e7c5768a0162965ff5435f3.zip
dupekill 1.2!dupekill-1.2
-rwxr-xr-xdupekill34
1 files changed, 17 insertions, 17 deletions
diff --git a/dupekill b/dupekill
index 91a059b..ff9e3b2 100755
--- a/dupekill
+++ b/dupekill
@@ -31,17 +31,7 @@ from optparse import OptionParser
#
# You have been warned. >:3
-def dupekill():
- usage = "Usage: %prog [options] {path}"
- parser = OptionParser(usage=usage)
- parser.add_option("-d", "--dry", dest='dry_run', action='store_true', default=False, help="displays a list of files dupekill will delete if you run it again without this flag")
- parser.add_option("-r", "--recursive", dest='recursive', action='store_true', default=False, help="Recurses into all directories below the starting point")
- parser.add_option("-v", "--verbose", dest='verbose', action='store_true', default=False, help="Provide more detailed output")
- (options, args) = parser.parse_args()
- if args and os.path.isdir(args[0]):
- path = os.path.abspath(args[0])
- else:
- path = os.getcwd()
+def dupekill(dry_run=False, recursive=False, verbose=False, path=os.getcwd()):
if not os.path.isdir(path):
print("Error: Unable to fetch directory to work with.")
@@ -56,7 +46,7 @@ def dupekill():
for root, dirs, file in file_list:
ignore_dirs = ['.git', '.config']
for dir in ignore_dirs:
- if options.recursive == True:
+ if recursive == True:
# Recursion still needs to ignore certain dirs
if dir in dirs:
dirs.remove(dir)
@@ -75,28 +65,38 @@ def dupekill():
# We want to count these, even if it's a dry run.
deleted_files += 1
- if not options.dry_run:
+ if not dry_run:
os.remove(os.path.join(root, item))
- if options.verbose:
+ if verbose:
print("Dupe", os.path.join(root, item), "found.")
else:
hashList.append(hash)
- if options.verbose:
+ if verbose:
print("New file", os.path.join(root, item))
# Print a summary
print()
- if options.dry_run:
+ if dry_run:
print("THIS IS A DRY RUN! NO FILES WILL BE ALTERED!")
print(processed_files, "files processed,", deleted_files, "deleted.\n")
if __name__ == '__main__':
try:
- dupekill()
+ usage = "Usage: %prog [options] {path}"
+ parser = OptionParser(usage=usage)
+ parser.add_option("-d", "--dry", dest='dry_run', action='store_true', default=False, help="displays a list of files dupekill will delete if you run it again without this flag")
+ parser.add_option("-r", "--recursive", dest='recursive', action='store_true', default=False, help="Recurses into all directories below the starting point")
+ parser.add_option("-v", "--verbose", dest='verbose', action='store_true', default=False, help="Provide more detailed output")
+ (options, args) = parser.parse_args()
+ if args and os.path.isdir(args[0]):
+ path = os.path.abspath(args[0])
+ else:
+ path = os.getcwd()
+ dupekill(options.dry_run, options.recursive, options.verbose, path)
except KeyboardInterrupt:
print("Aborted")
ate_game: ensure notes are also savedzlg1-2/+2 2018-10-09cli: add 'update' commandzlg3-20/+92 2018-10-06cli: Add "delete" commandzlg2-0/+19 2018-10-06Remove ID field from DBzlg3-38/+46 2018-10-06cli: change "Status" heading to "Progress"zlg2-36/+40 2018-09-29Bump to 0.3alpha5 for PyPIzlg1-1/+1 2018-09-29cli: Add pretty printing to 'list' commandzlg3-17/+107 2018-09-08setup.py: Bump to alpha4 for PyPIzlg1-1/+1 2018-09-08cli: add '--raw' option to list commandzlg2-9/+45 2018-09-08Add remaining filters to vgstash packagezlg1-2/+11 2018-09-04Update LICENSE to match setup.pyzlg1-80/+67 2018-09-03Branch off from master with pytest, tox, clickzlg16-778/+779 2018-03-18Flesh out filter types and ownership statuszlg3-82/+144 2018-03-18README.mdown: break line correctlyzlg1-1/+1 2018-03-18add 'playlog' list filterzlg2-2/+9 2018-03-13Update helpers a bitzlg1-2/+9 2018-03-13Make VGSTASH_DB_LOCATION point to a filezlg2-21/+20 2016-11-18Remove settings from helpers.shZe Libertine Gamer1-5/+0 2016-11-15Correct phrasing in README.Ze Libertine Gamer1-4/+4 2016-11-13DerpZe Libertine Gamer1-0/+1 2016-11-03Improve error handling in shell scriptsZe Libertine Gamer4-3/+23 2016-10-24Correct run_again, add recursionZe Libertine Gamer1-0/+4 2016-10-21Add quotes to correct behavior for arglistZe Libertine Gamer1-1/+1 2016-10-14updater.sh: add recursion, error handlingZe Libertine Gamer1-43/+101 2016-10-14Correct pipe-handling behaviorZe Libertine Gamer1-1/+9 2016-10-12Clarify a method to move between platformsZe Libertine Gamer1-2/+5