# HG changeset patch # User Paul Boddie # Date 1516309214 -3600 # Node ID 2039e5ca26b50925138f48859a5599b565491e5a # Parent 057166b8e8138fdf9a3ec8a3c3d26cb531d5a96c Parameterised more user interface commands. diff -r 057166b8e813 -r 2039e5ca26b5 imip_text_client.py --- a/imip_text_client.py Thu Jan 18 18:37:35 2018 +0100 +++ b/imip_text_client.py Thu Jan 18 22:00:14 2018 +0100 @@ -40,6 +40,9 @@ # User interface definitions. +NEW_COMMANDS = ("n", "new") +QUIT_COMMANDS = ("q", "quit", "exit") + ATTENDANCE_COMMANDS = ("A", "attend", "attendance") ATTENDEE_COMMANDS = ("a", "attendee") CANCEL_COMMANDS = ("c", "cancel") @@ -50,7 +53,6 @@ LIST_COMMANDS = ("l", "list", "show") OPERATION_COMMANDS = ("o", "ops", "operations") PERIOD_COMMANDS = ("p", "period") -QUIT_COMMANDS = ("q", "quit", "exit") RECURRENCEID_COMMANDS = ("RECURRENCE-ID", "RID") RESET_COMMANDS = ("r", "reload", "reset", "restart") RULE_COMMANDS = ("rr", "rule", "rrule") @@ -72,6 +74,27 @@ DECLINED_VALUES = ("d", "decline", "declined") TENTATIVE_VALUES = ("t", "tentative") +COUNT_COMMANDS = ("c", "count", "limit") +FREQUENCY_COMMANDS = ("f", "freq", "frequency") +SELECTION_COMMANDS = ("s", "select", "selection") + +YEARLY_VALUES = ("y", "year", "yearly") +MONTHLY_VALUES = ("month", "monthly") +WEEKLY_VALUES = ("w", "week", "weekly") +DAILY_VALUES = ("d", "day", "daily") +HOURLY_VALUES = ("h", "hour", "hourly") +MINUTELY_VALUES = ("minute", "minutely") +SECONDLY_VALUES = ("s", "second", "secondly") + +MONTH_VALUES = ("month", "months") +WEEK_VALUES = ("w", "week", "weeks") +YEARDAY_VALUES = ("y", "yearday", "yeardays") +MONTHDAY_VALUES = ("o", "monthday", "monthdays") +DAY_VALUES = ("d", "weekday", "weekdays") +HOUR_VALUES = ("h", "hour", "hours") +MINUTE_VALUES = ("m", "minute", "minutes") +SECOND_VALUES = ("s", "second", "seconds") + def commandlist(l, option=None): "Show 'l' as a command list string employing any given 'option'." @@ -570,11 +593,11 @@ args = s.split() cmd = next_arg(args) - if cmd in ("c", "count", "limit"): + if cmd in COUNT_COMMANDS: add_rule_selector_count(selectors, args) - elif cmd in ("f", "freq", "frequency"): + elif cmd in FREQUENCY_COMMANDS: add_rule_selector_frequency(selectors, args) - elif cmd in ("s", "select", "selection"): + elif cmd in SELECTION_COMMANDS: add_rule_selector_selection(selectors, args) # Remain in the loop unless explicitly terminated. @@ -947,19 +970,19 @@ arg_lower = arg.lower() - if arg_lower in ("y", "year", "yearly"): + if arg_lower in YEARLY_VALUES: qualifier = "YEARLY" - elif arg == "M" or arg_lower in ("month", "monthly"): + elif arg == "M" or arg_lower in MONTHLY_VALUES: qualifier = "MONTHLY" - elif arg_lower in ("w", "week", "weekly"): + elif arg_lower in WEEKLY_VALUES: qualifier = "WEEKLY" - elif arg_lower in ("d", "day", "daily"): + elif arg_lower in DAILY_VALUES: qualifier = "DAILY" - elif arg_lower in ("h", "hour", "hourly"): + elif arg_lower in HOURLY_VALUES: qualifier = "HOURLY" - elif arg_lower in ("m", "minute", "minutely"): + elif arg == "m" or arg_lower in MINUTELY_VALUES: qualifier = "MINUTELY" - elif arg_lower in ("s", "second", "secondly"): + elif arg_lower in SECONDLY_VALUES: qualifier = "SECONDLY" else: continue @@ -1023,21 +1046,21 @@ arg_lower = arg.lower() - if arg == "M" or arg_lower in ("month", "months"): + if arg == "M" or arg_lower in MONTH_VALUES: qualifier = "BYMONTH" - elif arg_lower in ("w", "week", "weeks"): + elif arg_lower in WEEK_VALUES: qualifier = "BYWEEKNO" - elif arg_lower in ("y", "yearday", "yeardays"): + elif arg_lower in YEARDAY_VALUES: qualifier = "BYYEARDAY" - elif arg_lower in ("o", "monthday", "monthdays"): + elif arg_lower in MONTHDAY_VALUES: qualifier = "BYMONTHDAY" - elif arg_lower in ("d", "weekday", "weekdays"): + elif arg_lower in DAY_VALUES: qualifier = "BYDAY" - elif arg_lower in ("h", "hour", "hours"): + elif arg_lower in HOUR_VALUES: qualifier = "BYHOUR" - elif arg_lower in ("m", "minute", "minutes"): + elif arg == "m" or arg_lower in MINUTE_VALUES: qualifier = "BYMINUTE" - elif arg_lower in ("s", "second", "seconds"): + elif arg_lower in SECOND_VALUES: qualifier = "BYSECOND" else: continue @@ -1138,9 +1161,9 @@ obj = objects[index] return cl.load_object(obj.get_uid(), obj.get_recurrenceid()) - elif cmd in ("n", "new"): + elif cmd in NEW_COMMANDS: return cl.new_object() - elif cmd in ("q", "quit", "exit"): + elif cmd in QUIT_COMMANDS: return None def show_commands():