Пример #1
0
def _devschedule0(cursor, displayname):
    """Get scheduled commands for a device (iterator form)."""

    username = getusername(cursor, displayname)

    if username is None:
        print("can't find user " + shlex.quote(str(displayname)),
              file=sys.stderr)
        return

    cursor.execute(
        "select command, fuzzy, recurrent, firedate, weekday, "
        "hours, minutes from schedule where username = ?;", (username, ))

    row = cursor.fetchone()

    while row:
        recurrent = (row[2] == 1)

        if recurrent:
            event = Event.create_recurrent(row[0], (row[1] == 1), row[4],
                                           row[5], row[6])
        else:
            event = Event.create_once(row[0], (row[1] == 1), row[3])

        yield event

        row = cursor.fetchone()
Пример #2
0
	def recurrent_handler(userdata, *args):
		"""Accomodate the input for a recurrent event."""
		fuzzy = False
		
		if args[5] == "exact":
			fuzzy = False
		elif args[5] == "fuzzy":
			fuzzy = True
		else:
			raise FormatError("Expected 'fuzzy' or 'exact' but found '" + args[5] + "' instead.")
		
		event = Event.create_recurrent(args[6], fuzzy, args[2], args[3], args[4])
		
		if args[0] == "add":
			device.schedule(userdata, args[1], event)
		elif args[0] == "del":
			device.unschedule(userdata, args[1], event)
		else:
			raise FormatError("Expected 'add' or 'del' but found '" + args[0] + "' instead.")