예제 #1
0
def parseEvent(user, additional):
    event = None
    if not additional:
        event = Event.getNextEvent()
        if not event:
            return u'Es konnte kein in Zukunft stattfindendes Event gefunden werden. Ein Administrator muss erst eines anlegen.'
    else:
        additional = additional.lower()

    if not event:
        if additional in Event.DAY_DICT.keys():
            nextDay = getDateByDay(additional)
            event = Event.getByDate(nextDay)
            if not event:
                return u'Es konnte kein Event am nächsten ' + additional.title(
                ) + u' (' + nextDay.strftime(
                    "%d.%m.%Y") + u') gefunden werden.'
    if not event:
        try:
            date = datetime.strptime(additional, "%d.%m.%Y").date()
            event = Event.getByDate(date)
            if not event:
                return u'Es konnte kein Event am ' + additional + ' gefunden werden.'
        except ValueError:
            pass
    if event:
        return event

    return additional + u' ist keine gültige Eingabe. Möglich sind: \n\tKeine Angabe -> Nächstes event\n\tWochentag -> Event an diesem Tag\n\tDatum(TT.MM.JJJJ) -> Event an diesem Datum'
예제 #2
0
def createSingleEvent(name, place, date):
    event = Event.getByDate(date)
    if event:
        return u'Am gegebenen Datum existiert bereits ein Event: \n' + event.toString(
        )
    event = Event.create(name, place, date)
    return u'Event erstellt: \n' + event.toString()
예제 #3
0
def parseEvent(user, additional):
	event = None
	if not additional:
		event = Event.getNextEvent()
		if not event:
			return u'Es konnte kein in Zukunft stattfindendes Event gefunden werden. Ein Administrator muss erst eines anlegen.'
	else:
		additional = additional.lower()

	if not event:
		if additional in Event.DAY_DICT.keys():
			nextDay = getDateByDay(additional)
			event = Event.getByDate(nextDay)
			if not event:
				return u'Es konnte kein Event am nächsten ' + additional.title() + u' (' + nextDay.strftime("%d.%m.%Y") + u') gefunden werden.'
	if not event:
		try:
			date = datetime.strptime(additional, "%d.%m.%Y").date()
			event = Event.getByDate(date)
			if not event:
				return u'Es konnte kein Event am ' + additional + ' gefunden werden.'
		except ValueError:
			pass
	if event:
		return event
	
	return additional + u' ist keine gültige Eingabe. Möglich sind: \n\tKeine Angabe -> Nächstes event\n\tWochentag -> Event an diesem Tag\n\tDatum(TT.MM.JJJJ) -> Event an diesem Datum'
예제 #4
0
def infoForEvent(user, additional):
    if additional:
        try:
            amount = int(additional)
            events = Event.getNext(amount)
            answer = ''
            if not events:
                return u'Es konnte kein in Zukunft stattfindendes Event gefunden werden. Ein Administrator muss erst eines anlegen.'
            if len(events) < amount:
                answer += u'Es wurden nur ' + str(
                    len(events)) + u' zukünftige Events gefunden. '
            answer += u'Die nächsten ' + str(len(events)) + ' Events: \n\n'
            for e in events:
                answer += e.toString()
                answer += u'\n\n'
            return answer
        except ValueError:
            pass
    result = Responder.parseEvent(user, additional)
    if isinstance(result, Event.Event):
        answer = result.toString()
        answer = answer + list_registered_cancelled(result)
        return answer
    if isinstance(result, basestring):
        return result
예제 #5
0
def updateRepeating(user, additional):
	rep = RepeatingEvent.get(int(additional.split()[0]))
	events = Event.getByRepeating(rep.key)
	i = 0
	for event in events:
		event.date = event.date + timedelta(minutes=int(additional.split()[1]))
		event.put()
		i = i +1
	return str(i) + ' events updated'
예제 #6
0
def updateRepeating(user, additional):
    rep = RepeatingEvent.get(int(additional.split()[0]))
    events = Event.getByRepeating(rep.key)
    i = 0
    for event in events:
        event.date = event.date + timedelta(minutes=int(additional.split()[1]))
        event.put()
        i = i + 1
    return str(i) + ' events updated'
예제 #7
0
def delete(user, dateString):
    if not dateString:
        return u'Um einen Fahrteneintrag zu löschen muss das Datum des Spiels (TT.MM.JJJJ) angegeben werden.'

    date = None
    try:
        date = datetime.strptime(dateString, "%d.%m.%Y").date()
    except ValueError as err:
        return u'Die Datumsangabe ' + dateString + u' hat das falsche Format (HH:MM).'

    event = Event.getByDate(date)
    if not event:
        return u'Es konnte kein Event am ' + dateString + u' gefunden werden.'

    driverEntry = Drivers.getByEventAndUser(event, user)
    if driverEntry:
        driverEntry.delete()
        return u'Eintrag vom ' + dateString + u' gelöscht.'
    return u'Fehler'
예제 #8
0
def delete(user, dateString):
	if not dateString:
		return u'Um einen Fahrteneintrag zu löschen muss das Datum des Spiels (TT.MM.JJJJ) angegeben werden.'

	date = None
	try:
		date = datetime.strptime(dateString, "%d.%m.%Y").date()
	except ValueError as err:
		return u'Die Datumsangabe ' + dateString + u' hat das falsche Format (HH:MM).'

	event = Event.getByDate(date)
	if not event:
		return u'Es konnte kein Event am ' + dateString + u' gefunden werden.'

	driverEntry = Drivers.getByEventAndUser(event, user)
	if driverEntry:
		driverEntry.delete()
		return u'Eintrag vom ' + dateString + u' gelöscht.'
	return u'Fehler'
예제 #9
0
def create(user, dateString):
	if not dateString:
		return u'Um eine Fahrt anzugeben muss das Datum des Spiels (TT.MM.JJJJ) angegeben werden.'

	date = None
	try:
		date = datetime.strptime(dateString, "%d.%m.%Y").date()
	except ValueError as err:
		return u'Die Datumsangabe ' + dateString + u' hat das falsche Format (HH:MM).'

	event = Event.getByDate(date)
	if not event:
		return u'Es konnte kein Event am ' + dateString + u' gefunden werden.'

	driverEntry = Drivers.getByEventAndUser(event, user)
	if driverEntry:
		return u'Am ' + dateString + u' existiert bereits ein Eintrag für ' + user.firstName

	driverEntry = Drivers.create(event, user)
	if driverEntry:
		return u'Fahrteneintrag für ' + user.firstName + ' erstellt. Event:\n' + event.toString()

	return 'Fehler'
예제 #10
0
def create(user, dateString):
    if not dateString:
        return u'Um eine Fahrt anzugeben muss das Datum des Spiels (TT.MM.JJJJ) angegeben werden.'

    date = None
    try:
        date = datetime.strptime(dateString, "%d.%m.%Y").date()
    except ValueError as err:
        return u'Die Datumsangabe ' + dateString + u' hat das falsche Format (HH:MM).'

    event = Event.getByDate(date)
    if not event:
        return u'Es konnte kein Event am ' + dateString + u' gefunden werden.'

    driverEntry = Drivers.getByEventAndUser(event, user)
    if driverEntry:
        return u'Am ' + dateString + u' existiert bereits ein Eintrag für ' + user.firstName

    driverEntry = Drivers.create(event, user)
    if driverEntry:
        return u'Fahrteneintrag für ' + user.firstName + ' erstellt. Event:\n' + event.toString(
        )

    return 'Fehler'
예제 #11
0
def createSingleEvent(name, place, date):
	event = Event.getByDate(date)
	if event:
		return u'Am gegebenen Datum existiert bereits ein Event: \n' + event.toString()	
	event = Event.create(name, place, date)
	return u'Event erstellt: \n' + event.toString()