Merge pull request #2 from bozoslivehere/master

Some fixes, improvements
This commit is contained in:
Erik 2019-10-30 09:57:29 -07:00 committed by GitHub
commit 626131176c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 30 additions and 24 deletions

View File

@ -21,61 +21,67 @@ class CalendarEvent:
def __init__(self, name):
self.name = name
event = CalendarEvent("event")
events = []
def open_cal():
if os.path.isfile(filename):
if file_extension == 'ics':
print "Extracting events from file:", filename, "\n"
print("Extracting events from file:", filename, "\n")
f = open(sys.argv[1], 'rb')
gcal = Calendar.from_ical(f.read())
# TODO: Let this parse multiple events in one ics file
for component in gcal.walk():
event = CalendarEvent("event")
if component.get('SUMMARY') == None: continue #skip blank items
event.summary = component.get('SUMMARY')
event.uid = component.get('UID')
event.description = component.get('DESCRIPTION')
event.location = component.get('LOCATION')
event.start = component.get('dtstart').dt
event.end = component.get('dtend').dt
if hasattr(component.get('dtstart'), 'dt'):
event.start = component.get('dtstart').dt
if hasattr(component.get('dtend'), 'dt'):
event.end = component.get('dtend').dt
event.url = component.get('URL')
events.append(event)
f.close()
else:
print "You entered ", filename, ". "
print file_extension.upper(), " is not a valid file format. Looking for an ICS file."
print("You entered ", filename, ". ")
print(file_extension.upper(), " is not a valid file format. Looking for an ICS file.")
exit(0)
else:
print "I can't find the file ", filename, "."
print "Please enter an ics file located in the same folder as this script."
print("I can't find the file ", filename, ".")
print("Please enter an ics file located in the same folder as this script.")
exit(0)
# TODO: make a create and an append method for use with multiple events in one file
def csv_write(icsfile):
csvfile = icsfile[:-3] + "csv"
try:
with open(csvfile, 'wb') as myfile:
values = (event.summary, event.uid, event.description, event.location, event.start, event.end, event.url)
with open(csvfile, 'w') as myfile:
wr = csv.writer(myfile, quoting=csv.QUOTE_ALL)
wr.writerow(headers)
wr.writerow(values)
print "Wrote to ", csvfile, "\n"
for event in events:
values = (event.summary, event.uid, event.description, event.location, event.start, event.end, event.url)
wr.writerow(values)
print("Wrote to ", csvfile, "\n")
except IOError:
print "Could not open file! Please close Excel!"
print("Could not open file! Please close Excel!")
exit(0)
def debug_event(class_name):
print "Contents of ", class_name.name, ":"
print class_name.summary
print class_name.uid
print class_name.description
print class_name.location
print class_name.start
print class_name.end
print class_name.url, "\n"
print("Contents of ", class_name.name, ":")
print(class_name.summary)
print(class_name.uid)
print(class_name.description)
print(class_name.location)
print(class_name.start)
print(class_name.end)
print(class_name.url, "\n")
open_cal()
csv_write(filename)
debug_event(event)
#debug_event(event)