def __init__(self, debug=False): # cache: tuple (events:list, last_update:datetime) self.cache = [] self.debug = debug self.filters = {'date': None, 'title': None, 'description': None, 'category': None, 'location': None} self.event_count = 0 # create dummy events if self.debug: events = [] for i in range(200): e = Event() seconds_since_epoch = (datetime.datetime.now() - datetime.datetime.utcfromtimestamp(0)).total_seconds() e.startTime = seconds_since_epoch + random.randint(-60*60*24*30,60*60*24*30) e.endTime = e.startTime + random.randint(60*60,60*60*10) e.title = "Event " + str(i) e.date_from_time_seconds() e.description = e.startDate.strftime("%B %d %Y, %H:%M:%S") e.id = self.event_count self.event_count += 1 events.append(e) self.cache = events else: import requests
def new_event(self, start, end): """ Creates new event starting start minutes from now and ending end minutes from now """ try: start = int(start) end = int(end) except Exception as e: return "Start and End must be integers" e = Event() seconds_since_epoch = (datetime.datetime.now() - datetime.datetime.utcfromtimestamp(0)).total_seconds() e.startTime = seconds_since_epoch + start*60 e.endTime = seconds_since_epoch + end*60 e.date_from_time_seconds() e.description = e.startDate.strftime("%B %d %Y, %H:%M:%S") e.id = self.event_count self.event_count += 1 e.title = "Event " + str(e.id) self.cache.append(e) # Update server with changes self.update_server() return "New event with id %s" % (e.id)