1.1 --- a/imip_text_client.py Thu Jan 18 18:37:35 2018 +0100
1.2 +++ b/imip_text_client.py Thu Jan 18 22:00:14 2018 +0100
1.3 @@ -40,6 +40,9 @@
1.4
1.5 # User interface definitions.
1.6
1.7 +NEW_COMMANDS = ("n", "new")
1.8 +QUIT_COMMANDS = ("q", "quit", "exit")
1.9 +
1.10 ATTENDANCE_COMMANDS = ("A", "attend", "attendance")
1.11 ATTENDEE_COMMANDS = ("a", "attendee")
1.12 CANCEL_COMMANDS = ("c", "cancel")
1.13 @@ -50,7 +53,6 @@
1.14 LIST_COMMANDS = ("l", "list", "show")
1.15 OPERATION_COMMANDS = ("o", "ops", "operations")
1.16 PERIOD_COMMANDS = ("p", "period")
1.17 -QUIT_COMMANDS = ("q", "quit", "exit")
1.18 RECURRENCEID_COMMANDS = ("RECURRENCE-ID", "RID")
1.19 RESET_COMMANDS = ("r", "reload", "reset", "restart")
1.20 RULE_COMMANDS = ("rr", "rule", "rrule")
1.21 @@ -72,6 +74,27 @@
1.22 DECLINED_VALUES = ("d", "decline", "declined")
1.23 TENTATIVE_VALUES = ("t", "tentative")
1.24
1.25 +COUNT_COMMANDS = ("c", "count", "limit")
1.26 +FREQUENCY_COMMANDS = ("f", "freq", "frequency")
1.27 +SELECTION_COMMANDS = ("s", "select", "selection")
1.28 +
1.29 +YEARLY_VALUES = ("y", "year", "yearly")
1.30 +MONTHLY_VALUES = ("month", "monthly")
1.31 +WEEKLY_VALUES = ("w", "week", "weekly")
1.32 +DAILY_VALUES = ("d", "day", "daily")
1.33 +HOURLY_VALUES = ("h", "hour", "hourly")
1.34 +MINUTELY_VALUES = ("minute", "minutely")
1.35 +SECONDLY_VALUES = ("s", "second", "secondly")
1.36 +
1.37 +MONTH_VALUES = ("month", "months")
1.38 +WEEK_VALUES = ("w", "week", "weeks")
1.39 +YEARDAY_VALUES = ("y", "yearday", "yeardays")
1.40 +MONTHDAY_VALUES = ("o", "monthday", "monthdays")
1.41 +DAY_VALUES = ("d", "weekday", "weekdays")
1.42 +HOUR_VALUES = ("h", "hour", "hours")
1.43 +MINUTE_VALUES = ("m", "minute", "minutes")
1.44 +SECOND_VALUES = ("s", "second", "seconds")
1.45 +
1.46 def commandlist(l, option=None):
1.47
1.48 "Show 'l' as a command list string employing any given 'option'."
1.49 @@ -570,11 +593,11 @@
1.50 args = s.split()
1.51 cmd = next_arg(args)
1.52
1.53 - if cmd in ("c", "count", "limit"):
1.54 + if cmd in COUNT_COMMANDS:
1.55 add_rule_selector_count(selectors, args)
1.56 - elif cmd in ("f", "freq", "frequency"):
1.57 + elif cmd in FREQUENCY_COMMANDS:
1.58 add_rule_selector_frequency(selectors, args)
1.59 - elif cmd in ("s", "select", "selection"):
1.60 + elif cmd in SELECTION_COMMANDS:
1.61 add_rule_selector_selection(selectors, args)
1.62
1.63 # Remain in the loop unless explicitly terminated.
1.64 @@ -947,19 +970,19 @@
1.65
1.66 arg_lower = arg.lower()
1.67
1.68 - if arg_lower in ("y", "year", "yearly"):
1.69 + if arg_lower in YEARLY_VALUES:
1.70 qualifier = "YEARLY"
1.71 - elif arg == "M" or arg_lower in ("month", "monthly"):
1.72 + elif arg == "M" or arg_lower in MONTHLY_VALUES:
1.73 qualifier = "MONTHLY"
1.74 - elif arg_lower in ("w", "week", "weekly"):
1.75 + elif arg_lower in WEEKLY_VALUES:
1.76 qualifier = "WEEKLY"
1.77 - elif arg_lower in ("d", "day", "daily"):
1.78 + elif arg_lower in DAILY_VALUES:
1.79 qualifier = "DAILY"
1.80 - elif arg_lower in ("h", "hour", "hourly"):
1.81 + elif arg_lower in HOURLY_VALUES:
1.82 qualifier = "HOURLY"
1.83 - elif arg_lower in ("m", "minute", "minutely"):
1.84 + elif arg == "m" or arg_lower in MINUTELY_VALUES:
1.85 qualifier = "MINUTELY"
1.86 - elif arg_lower in ("s", "second", "secondly"):
1.87 + elif arg_lower in SECONDLY_VALUES:
1.88 qualifier = "SECONDLY"
1.89 else:
1.90 continue
1.91 @@ -1023,21 +1046,21 @@
1.92
1.93 arg_lower = arg.lower()
1.94
1.95 - if arg == "M" or arg_lower in ("month", "months"):
1.96 + if arg == "M" or arg_lower in MONTH_VALUES:
1.97 qualifier = "BYMONTH"
1.98 - elif arg_lower in ("w", "week", "weeks"):
1.99 + elif arg_lower in WEEK_VALUES:
1.100 qualifier = "BYWEEKNO"
1.101 - elif arg_lower in ("y", "yearday", "yeardays"):
1.102 + elif arg_lower in YEARDAY_VALUES:
1.103 qualifier = "BYYEARDAY"
1.104 - elif arg_lower in ("o", "monthday", "monthdays"):
1.105 + elif arg_lower in MONTHDAY_VALUES:
1.106 qualifier = "BYMONTHDAY"
1.107 - elif arg_lower in ("d", "weekday", "weekdays"):
1.108 + elif arg_lower in DAY_VALUES:
1.109 qualifier = "BYDAY"
1.110 - elif arg_lower in ("h", "hour", "hours"):
1.111 + elif arg_lower in HOUR_VALUES:
1.112 qualifier = "BYHOUR"
1.113 - elif arg_lower in ("m", "minute", "minutes"):
1.114 + elif arg == "m" or arg_lower in MINUTE_VALUES:
1.115 qualifier = "BYMINUTE"
1.116 - elif arg_lower in ("s", "second", "seconds"):
1.117 + elif arg_lower in SECOND_VALUES:
1.118 qualifier = "BYSECOND"
1.119 else:
1.120 continue
1.121 @@ -1138,9 +1161,9 @@
1.122 obj = objects[index]
1.123 return cl.load_object(obj.get_uid(), obj.get_recurrenceid())
1.124
1.125 - elif cmd in ("n", "new"):
1.126 + elif cmd in NEW_COMMANDS:
1.127 return cl.new_object()
1.128 - elif cmd in ("q", "quit", "exit"):
1.129 + elif cmd in QUIT_COMMANDS:
1.130 return None
1.131
1.132 def show_commands():