Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- """
- This script is used for daily Tasks in Windows
- to remove duplicated reminders in ICS-Files
- produced with ICSSync for Android.
- UPDATE: Script destroying validation of calendar - FIXED!
- """
- from backup import FTPMan
- from datetime import date
- import sys
- class CalOb():
- def __init__(self):
- self.objs = []
- def saveToFile(self,name):
- fhndl = open(name,"w")
- for obj in self.objs:
- fhndl.write(obj)
- fhndl.close()
- return ("Gespeichert in " + name + "\n") # saved to {x}
- def objDouble(self, obj):
- if obj in self.objs:
- return True
- else:
- return False
- def addObj(self,obj):
- self.objs.append(obj)
- class Log():
- def __init__(self,file):
- self.log = ""
- self.logfile = open(file,"w")
- def write(self,text):
- text = "====LOG====\n" + text
- self.logfile.write(text)
- def close(self):
- self.logfile.close()
- def main():
- try:
- calendar = CalOb()
- name = 'allgemein-' + str(date.today().day) + '-' + str(date.today().month) + '-' + str(date.today().year) + '.ics'
- log = Log(name + ".log")
- counter = 0
- f = open(name)
- data = f.read()
- f.close()
- obs = data.split("BEGIN:VALARM")
- for line in obs:
- if not line[0:15] == "BEGIN:VCALENDAR":
- line = "BEGIN:VALARM" + line
- if not calendar.objDouble(line):
- calendar.objs.append(line)
- else:
- counter = counter + 1
- log.write("Entferne:\n" + line + "\n") # Removing: {x}
- log.write("Es wurden " + str(counter) + " Objekte entfernt.\n") # X objects removed.
- name = 'allgemein-' + str(date.today().day) + '-' + str(date.today().month) + '-' + str(date.today().year) + '-clean.ics'
- log.write(calendar.saveToFile(name))
- man = FTPMan('ftp-serveradress.com')
- man.login('username','password')
- man.CWD('Kalender')
- log.write("Lade hoch...\n" + name + "\n") # processing upload
- f = open(name,"rb")
- man.upload('allgemein.ics', f)
- log.write("Hochladen erfol6greich!\n") # upload successful
- man.dc()
- except:
- log.write("\n####Error:#####\n" + str(sys.exc_info()))
- log.close()
- if __name__ == "__main__":
- main()
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement