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()
def timed_handler(userdata, *args): """Accomodate the input for a non-recurrent event.""" fuzzy = False if args[3] == "exact": fuzzy = False elif args[3] == "fuzzy": fuzzy = True else: raise FormatError("Expected 'fuzzy' or 'exact' but found '" + args[3] + "' instead.") event = Event.create_once(args[4], fuzzy, args[2]) 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.")