@@ -234,6 +234,9 @@ def current(self, action):
234234 def activities (self , facts ):
235235 pass
236236
237+ def categories (self , facts ):
238+ pass
239+
237240class HamsterViewText (HamsterView ):
238241
239242 def current (self , action ):
@@ -247,6 +250,10 @@ def activities(self, facts):
247250 for activity in facts :
248251 print ("{}@{}" .format (activity ['name' ], activity ['category' ]))
249252
253+ def categories (self , categories ):
254+ for category in categories :
255+ print (category ['name' ])
256+
250257class HamsterViewJSON (HamsterView ):
251258
252259 def _dump_fact (self , fact ):
@@ -270,6 +277,11 @@ def activities(self, facts):
270277 output = [{"name" :activity ['name' ], "category" :activity ['category' ]}
271278 for activity in facts ]
272279 print (json .dumps (output ))
280+
281+ def categories (self , categories ):
282+ output = [category ['name' ] for category in categories ]
283+ print (json .dumps (output ))
284+
273285class HamsterCli (object ):
274286 """Command line interface."""
275287
@@ -350,8 +362,7 @@ def activities(self, *args):
350362
351363 def categories (self , * args ):
352364 '''Print the names of all the categories.'''
353- for category in self .storage .get_categories ():
354- print (category ['name' ])
365+ self .view .categories (self .storage .get_categories ())
355366
356367
357368 def list (self , * times ):
0 commit comments