From 550f59ce50fb1d628ffce03f433dc40d0d591585 Mon Sep 17 00:00:00 2001 From: GULSHAN BARAIK <45667577+gulshanbaraik01@users.noreply.github.com> Date: Sun, 16 Aug 2020 09:16:52 +0530 Subject: [PATCH] Junk File Organizer using Python --- System-Automation-Scripts/junk_organiser.py | 52 +++++++++++++++++++++ 1 file changed, 52 insertions(+) create mode 100644 System-Automation-Scripts/junk_organiser.py diff --git a/System-Automation-Scripts/junk_organiser.py b/System-Automation-Scripts/junk_organiser.py new file mode 100644 index 00000000..f2af708c --- /dev/null +++ b/System-Automation-Scripts/junk_organiser.py @@ -0,0 +1,52 @@ +import os +from pathlib import Path as pt + +DIRECTORIES = { + "HTML": [".html5", ".html", ".htm", ".xhtml"], + "IMAGES": [".jpeg", ".jpg", ".tiff", ".gif", ".bmp", ".png", ".bpg", "svg", + ".heif", ".psd"], + "VIDEOS": [".avi", ".flv", ".wmv", ".mov", ".mp4", ".webm", ".vob", ".mng", + ".qt", ".mpg", ".mpeg", ".3gp"], + "DOCUMENTS": [".oxps", ".epub", ".pages", ".docx", ".doc", ".fdf", ".ods", + ".odt", ".pwi", ".xsn", ".xps", ".dotx", ".docm", ".dox", + ".rvg", ".rtf", ".rtfd", ".wpd", ".xls", ".xlsx", ".ppt", + "pptx"], + "ARCHIVES": [".a", ".ar", ".cpio", ".iso", ".tar", ".gz", ".rz", ".7z", + ".dmg", ".rar", ".xar", ".zip"], + "AUDIO": [".aac", ".aa", ".aac", ".dvf", ".m4a", ".m4b", ".m4p", ".mp3", + ".msv", "ogg", "oga", ".raw", ".vox", ".wav", ".wma"], + "PLAINTEXT": [".txt", ".in", ".out"], + "PDF": [".pdf"], + "PYTHON": [".py"], + "C": [".c"], + "CPP": [".cpp"], + "JAVA": [".java"], + "XML": [".xml"], + "EXE": [".exe"], + "SHELL": [".sh"] + +} + +FILE_FORMATS = {file_format: directory + for directory, file_formats in DIRECTORIES.items() + for file_format in file_formats} + +def org_junk(): + for entry in os.scandir(): + if entry.is_dir(): + continue + file_path = pt(entry) + file_format = file_path.suffix.lower() + if file_format in FILE_FORMATS: + directory_path = pt(FILE_FORMATS[file_format]) + directory_path.mkdir(exist_ok=True) + file_path.rename(directory_path.joinpath(file_path)) + + for dir in os.scandir(): + try: + os.rmdir(dir) + except: + pass + +if __name__ == "__main__": + org_junk()