-
Notifications
You must be signed in to change notification settings - Fork 0
/
cleaner.py
executable file
路60 lines (52 loc) 路 2.48 KB
/
cleaner.py
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
import os
import re
from helper import execute, accentuate, log
documentsStr = r"DOCUMENTS PATH GOES HERE"
desktopStr = r"DESKTOP PATH GOES HERE"
picturesStr = r"PICTURES PATH GOES HERE"
videosStr = r"VIDEOS PATH GOES HERE"
musicStr = r"MUSIC PATH GOES HERE"
downloadsStr = r"DOWNLOADS PATH GOES HERE"
def deleteAllDesktopShortcuts():
output = execute('for /R ' + desktopStr + ' %f in (*) do (if not "%~xf"==".lnk" del "%~f")', '', True)
tests = re.findall(r'== "\.lnk"', output)
nonDeletions = re.findall(r'"\.lnk" == "\.lnk"', output)
log("Deleted " + str(len(tests) - len(nonDeletions)) + " files from the Desktop.")
return len(tests) - len(nonDeletions)
def deleteAll(directory):
filesDeleted = deleteAllFiles(directory)
foldersDeleted = deleteAllFolders(directory)
return [filesDeleted, foldersDeleted]
def deleteAllFiles(directory):
return execute('del /S /Q "' + directory + '"', r'Deleted file')
def deleteAllFolders(directory):
return execute('FOR /D %p IN ("' + directory + r'\*.*") DO rmdir "%p" /s /q', r'rmdir')
def deleteAllWrapper(directory):
outputs = deleteAll(directory)
log("Deleted " + str(outputs[0]) + " files and " + str(outputs[1]) + " folders from " + directory + ".")
return outputs
def runCleaner():
accentuate("Starting Cleaner Algorithm")
numDesktopFiles = deleteAllDesktopShortcuts()
desktopFoldersDeleted = deleteAllFolders(desktopStr)
log("Deleted " + str(desktopFoldersDeleted) + " folders from the Desktop.")
documentsDeleted = deleteAllWrapper(documentsStr)
picturesDeleted = deleteAllWrapper(picturesStr)
videosDeleted = deleteAllWrapper(videosStr)
musicDeleted = deleteAllWrapper(musicStr)
downloadsDeleted = deleteAllWrapper(downloadsStr)
log("Completed the cleaner algorithm.")
return {
'desktop-files-deleted': numDesktopFiles,
'desktop-folders-deleted': desktopFoldersDeleted,
'document-files-deleted': documentsDeleted[0],
'document-folders-deleted': documentsDeleted[1],
'pictures-files-deleted': picturesDeleted[0],
'pictures-folders-deleted': picturesDeleted[1],
'videos-files-deleted': videosDeleted[0],
'videos-folders-deleted': videosDeleted[1],
'music-files-deleted': musicDeleted[0],
'music-folders-deleted': musicDeleted[1],
'downloads-files-deleted': downloadsDeleted[0],
'downloads-folders-deleted': downloadsDeleted[1],
}