Beispiel #1
0
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
Beispiel #2
0
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
Beispiel #3
0
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
Beispiel #4
0
    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
Beispiel #5
0
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
Beispiel #6
0
    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