def fast_timeghost_server(middle_date_str=None, now_date_str=None): """ Generates a random timeghost, a timeghost between now and a particular time, or a timeghost between two specified times, depending on the number of arguments given. """ try: if now_date_str is None: now = Event.now() else: now = Event.build(date_str=now_date_str) if middle_date_str is None: middle = Event.get_random(before=now) else: middle = Event.build(date_str=middle_date_str) timeghost = TimeGhostFactory.build(middle=middle) return render_template('timeghost.html', timeghost=timeghost) except TimeGhostError as err: return render_template('error.html', err=err), 404
def timeghost_server(middle_date_str=None, now_date_str=None): """ Generates a random timeghost, a timeghost between now and a particular time, or a timeghost between two specified times, depending on the number of arguments given. """ try: if now_date_str is None: now = Event.now() else: now = Event.build(date_str=now_date_str) if middle_date_str is None: middle = Event.get_random(before=now) else: middle = Event.build(date_str=middle_date_str) timeghost = TimeGhostFactory.build(now=now, middle=middle) logging.debug("output timeghost: %s", timeghost) return render_template('timeghost.html', timeghost=timeghost) except TimeGhostError as err: return render_template('error.html', err=err), 404
def add_event_server(): """ Add a new event, or draw the form to do so """ try: user = users.get_current_user() now = datetime.datetime.now() # POST: parse the form input if request.method == "POST": date_str = request.form['date_str'] description = request.form['description'] created_on = datetime.datetime.now() created_by = user approved = users.is_current_user_admin() event = Event.build( date_str=date_str, description=description, created_on=now, created_by=created_by, approved=approved) event.set_short_url() event.put() mail.send_mail( sender="Kester Allen <*****@*****.**>", to="Kester Allen <*****@*****.**>", subject="Event added", body="Event %s was added" % event) rt = render_template('events.html', events=[event], title="Added one event") # GET: draw the form: else: if user: text = "Logout, %s" % user.nickname() url = users.create_logout_url('/') else: text = "Login" url = users.create_login_url('/') rt = render_template('add.html', login_url=url, login_text=text) except TimeGhostError as err: rt = render_template('error.html', err=err), 404 return rt
def seed(cls, filename=None): """Add Events which don't already exist in the database.""" if filename is None: dirname = os.path.dirname(__file__) filename = os.path.join(dirname, EVENTS_FILE) events = [] with open(filename) as csvfile: reader = csv.reader(csvfile) for row in reader: date = row[0] desc = row[1] event = Event.build(date_str=date, description=desc) exists = Event.query(Event.description == event.description).get() if not exists: event.put() events.append(event) return events
def add_event_server(): """Add a new event and email me that it was added, or draw the form to do so:""" try: user = users.get_current_user() now = datetime.datetime.now() # parse the form input if request.method == "POST": date_str = request.form['date_str'] description = request.form['description'] created_on = datetime.datetime.now() created_by = user approved = users.is_current_user_admin() event = Event.build(date_str=date_str, description=description, created_on=now, created_by=created_by, approved=approved) event.put() mail.send_mail( sender="Kester Allen <*****@*****.**>", to="Kester Allen <*****@*****.**>", subject="Event added", body="Event %s was added" % event) return render_template('events.html', events=[event], title="Added one event") # draw the form: else: if user: text = "Logout, %s" % user.nickname() url = users.create_logout_url('/') else: text = "Login" url = users.create_login_url('/') return render_template('add.html', login_url=url, login_text=text) except TimeGhostError as err: return render_template('error.html', err=err), 404