示例#1
0
def get(id_name):
    """
        Gets an event by the given filter (either name or ID. ID preferred.) 
    """

    event = Event.get_by(name=str(id_name).decode("utf-8"))
    if type(event) != Event:
        event = Event.get_by(id=id_name)
        if type(event) != Event:
            raise gjms.core.exceptions.NonExistentEvent("Event does not exist.")
        else:
            return event
    else:
        return event
示例#2
0
def get(id_name):
    """
        Gets an event by the given filter (either name or ID. ID preferred.) 
    """

    event = Event.get_by(name=str(id_name).decode("utf-8"))
    if type(event) != Event:
        event = Event.get_by(id=id_name)
        if type(event) != Event:
            raise gjms.core.exceptions.NonExistentEvent(
                "Event does not exist.")
        else:
            return event
    else:
        return event
示例#3
0
def by_slug(slug):
    """
        Get an event by its slug.
    """

    event = Event.get_by(slug=slug)
    if type(event) != Event:
        raise gjms.core.exceptions.NonExistentEvent("Event with this slug does not exist.")
    else:
        return event
示例#4
0
def add(start, end, name, theme="", voting=False):
    """ 

        Preferred way to add an event. 

        Checks for valid datetime formats, raises errors on failure.
        Automatically fills in an empty theme, and sets voting to false.

    """

    if type(start) == datetime.datetime:
        if type(end) == datetime.datetime:
            event = Event(start=start,
                          end=end,
                          name=name,
                          theme=theme,
                          voting=voting)
            return event
        else:
            raise gjms.core.exceptions.InvalidValue(
                "End time must be datetime")
    else:
        raise gjms.core.exceptions.InvalidValue("Start time must be datetime")