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()