@@ -55,98 +55,101 @@ def print_unimplemented(cls):
5555 """Show warning that method is not yet implemented."""
5656 print ("not implemented yet (see things.sh for a more complete CLI)" )
5757
58+
5859def arguments ():
59- PARSER = argparse .ArgumentParser (
60+ """Create command line argument parser"""
61+ parser = argparse .ArgumentParser (
6062 description = 'Simple read-only Thing 3 CLI.' )
6163
62- SUBPARSERS = PARSER .add_subparsers (help = 'One of the following commands:' ,
64+ subparsers = parser .add_subparsers (help = 'One of the following commands:' ,
6365 metavar = "command" ,
6466 required = True ,
6567 dest = "command" )
66- SUBPARSERS .add_parser ('inbox' ,
68+ subparsers .add_parser ('inbox' ,
6769 help = 'Shows all inbox tasks' )
68- SUBPARSERS .add_parser ('today' ,
70+ subparsers .add_parser ('today' ,
6971 help = 'Shows all todays tasks' )
70- SUBPARSERS .add_parser ('upcoming' ,
72+ subparsers .add_parser ('upcoming' ,
7173 help = 'Shows all upcoming tasks' )
72- SUBPARSERS .add_parser ('next' ,
74+ subparsers .add_parser ('next' ,
7375 help = 'Shows all next tasks' )
74- SUBPARSERS .add_parser ('someday' ,
76+ subparsers .add_parser ('someday' ,
7577 help = 'Shows all someday tasks' )
76- SUBPARSERS .add_parser ('completed' ,
78+ subparsers .add_parser ('completed' ,
7779 help = 'Shows all completed tasks' )
78- SUBPARSERS .add_parser ('cancelled' ,
80+ subparsers .add_parser ('cancelled' ,
7981 help = 'Shows all cancelled tasks' )
80- SUBPARSERS .add_parser ('trashed' ,
82+ subparsers .add_parser ('trashed' ,
8183 help = 'Shows all trashed tasks' )
82- SUBPARSERS .add_parser ('feedback' ,
84+ subparsers .add_parser ('feedback' ,
8385 help = 'Give feedback' )
84- SUBPARSERS .add_parser ('all' ,
86+ subparsers .add_parser ('all' ,
8587 help = 'Shows all tasks' )
86- SUBPARSERS .add_parser ('csv' ,
88+ subparsers .add_parser ('csv' ,
8789 help = 'Exports all tasks as CSV' )
88- SUBPARSERS .add_parser ('due' ,
90+ subparsers .add_parser ('due' ,
8991 help = 'Shows all tasks with due dates' )
90- SUBPARSERS .add_parser ('headings' ,
92+ subparsers .add_parser ('headings' ,
9193 help = 'Shows all headings' )
92- SUBPARSERS .add_parser ('hours' ,
94+ subparsers .add_parser ('hours' ,
9395 help = 'Shows how many hours have been planned today' )
94- SUBPARSERS .add_parser ('ical' ,
96+ subparsers .add_parser ('ical' ,
9597 help = 'Shows all tasks ordered by due date as iCal' )
96- SUBPARSERS .add_parser ('logbook' ,
98+ subparsers .add_parser ('logbook' ,
9799 help = 'Shows all tasks completed today' )
98- SUBPARSERS .add_parser ('mostClosed' ,
100+ subparsers .add_parser ('mostClosed' ,
99101 help = 'Shows days on which most tasks were closed' )
100- SUBPARSERS .add_parser ('mostCancelled' ,
102+ subparsers .add_parser ('mostCancelled' ,
101103 help = 'Shows days on which most tasks were cancelled' )
102- SUBPARSERS .add_parser ('mostTrashed' ,
104+ subparsers .add_parser ('mostTrashed' ,
103105 help = 'Shows days on which most tasks were trashed' )
104- SUBPARSERS .add_parser ('mostCreated' ,
106+ subparsers .add_parser ('mostCreated' ,
105107 help = 'Shows days on which most tasks were created' )
106- SUBPARSERS .add_parser ('mostTasks' ,
108+ subparsers .add_parser ('mostTasks' ,
107109 help = 'Shows projects that have most tasks' )
108- SUBPARSERS .add_parser ('mostCharacters' ,
110+ subparsers .add_parser ('mostCharacters' ,
109111 help = 'Shows tasks that have most characters' )
110- SUBPARSERS .add_parser ('nextish' ,
112+ subparsers .add_parser ('nextish' ,
111113 help = 'Shows all nextish tasks' )
112- SUBPARSERS .add_parser ('old' ,
114+ subparsers .add_parser ('old' ,
113115 help = 'Shows all old tasks' )
114- SUBPARSERS .add_parser ('projects' ,
116+ subparsers .add_parser ('projects' ,
115117 help = 'Shows all projects' )
116- SUBPARSERS .add_parser ('repeating' ,
118+ subparsers .add_parser ('repeating' ,
117119 help = 'Shows all repeating tasks' )
118- SUBPARSERS .add_parser ('schedule' ,
120+ subparsers .add_parser ('schedule' ,
119121 help = 'Schedules an event using a template' )
120- SUBPARSERS .add_parser ('search' ,
122+ subparsers .add_parser ('search' ,
121123 help = 'Searches for a specific task' )
122- SUBPARSERS .add_parser ('stat' ,
124+ subparsers .add_parser ('stat' ,
123125 help = 'Provides a number of statistics' )
124- SUBPARSERS .add_parser ('statcsv' ,
126+ subparsers .add_parser ('statcsv' ,
125127 help = 'Exports some statistics as CSV' )
126- SUBPARSERS .add_parser ('subtasks' ,
128+ subparsers .add_parser ('subtasks' ,
127129 help = 'Shows all subtasks' )
128- SUBPARSERS .add_parser ('tag' ,
130+ subparsers .add_parser ('tag' ,
129131 help = 'Shows all tasks with the waiting for tag' )
130- SUBPARSERS .add_parser ('tags' ,
132+ subparsers .add_parser ('tags' ,
131133 help = 'Shows all tags ordered by their usage' )
132- SUBPARSERS .add_parser ('waiting' ,
134+ subparsers .add_parser ('waiting' ,
133135 help = 'Shows all tasks with the waiting for tag' )
134136
135- PARSER .add_argument ("-j" , "--json" ,
137+ parser .add_argument ("-j" , "--json" ,
136138 action = "store_true" , default = False ,
137139 help = "output as JSON" , dest = "json" )
138140
139- PARSER .add_argument ("-c" , "--csv" ,
141+ parser .add_argument ("-c" , "--csv" ,
140142 action = "store_true" , default = False ,
141143 help = "output as CSV" , dest = "csv" )
142144
143- PARSER .add_argument (
145+ parser .add_argument (
144146 "--version" ,
145147 action = "version" ,
146148 version = "%(prog)s (version {version})" .format (version = __version__ ))
147149
148- ARGUMENTS = PARSER .parse_args ()
149- main (ARGUMENTS )
150+ args = parser .parse_args ()
151+ main (args )
152+
150153
151154def main (args = None ):
152155 """ Main entry point of the app """
@@ -169,5 +172,6 @@ def main(args=None):
169172 else :
170173 Things3CLI .print_unimplemented ()
171174
175+
172176if __name__ == "__main__" :
173177 main ()
0 commit comments