cleaned up for file folder type recognition, some comments

This commit is contained in:
Xevion
2019-08-03 22:07:52 -05:00
parent c438ae5780
commit 626b11a2dd
4 changed files with 22 additions and 7 deletions

View File

@@ -4,11 +4,11 @@ blacklist = [
'clean.py',
'main.py',
'LICENSE',
'output.jpg',
'screenshot.png',
'README.md',
'.git',
'.gitignore',
'resources'
]
def run(recycle=True, print_ignores=False):
@@ -19,25 +19,40 @@ def run(recycle=True, print_ignores=False):
print_ignores {bool} -- True to print what files have been ignored (default: {False})
"""
# ternary raise support function, shouldn't ever be raised
def raiseMe(filePath):
raise('Invalid file or folder ; \'{}\''.format(filePath))
# Constants
basepath = sys.path[0]
_log = []
_logFiles = []
_logFolders = []
getName = lambda someList : 'folder' if someList is _logFolders else 'file' if someList is _logFiles else '???'
print('Deletion sequence started')
for file in os.listdir(basepath):
filepath = os.path.join(basepath, file)
# Take action on the offending file
if file not in blacklist:
_log.append('Recycled: \'{}\''.format(filepath))
# Send to recycle bin vs straightup permanently delete
curType = _logFiles if os.path.isfile(filepath) else _logFolders if os.path.isdir(filepath) else raiseMe(filepath)
# We want to recycle the file
if recycle:
send2trash.send2trash(filepath)
curType.append('Recycled {}: \'{}\''.format(getName(curType), filepath))
# We want to permanently delete the file
else:
os.remove(filepath)
curType.append('Deleted {}: \'{}\''.format(getName(curType), filepath))
else:
if print_ignores:
_log.append('IGNORED: \'{}\''.format(filepath))
print('\n'.join(_log), end='\n' if _log else '')
print(f'Finished deleting {len(_log)} files')
curType.append('Ignored {}: \'{}\''.format(getName(curType), filepath))
# Clean up
ending = '\n' if (_logFiles or _logFolders) else ''
print('\n'.join(_logFiles), end=ending)
print('\n'.join(_logFolders), end=ending)
print(f'Finished deleting {len(_logFiles)} files and {len(_logFolders)} folders.')
if __name__ == "__main__":
run()