import platform import os import datetime ## Work on mac only LIVING_DAYS = 21 today = datetime.datetime.utcnow() def notify(title, text): os.system(""" osascript -e 'display notification "{}" with title "{}"' """.format(text, title)) def readFiles(): files = os.listdir('.') return files def modification_date(path_to_file): ## Work on mac only stat = os.stat(path_to_file) lastModified = datetime.datetime.utcfromtimestamp(stat.st_mtime) return lastModified def remove_this_script(list_of_files): if os.path.basename(__file__) in list_of_files: list_of_files.remove(os.path.basename(__file__)) return list_of_files def delete_old_files(): files = remove_this_script(readFiles()) for file in files: lastModified = modification_date('./' + file) difference = today - lastModified if difference.days > LIVING_DAYS: print file + ': ' + ' should be deleted' os.remove(file) if __name__ == "__main__": notify("Download Cleanup", "Script running") delete_old_files()