comparison frontends/src/jp/cmd_profile.py @ 1950:227a4e617549

jp: --output option: - new --output option can be added wich use_output. use_output can be True (in which case it wild default to C.OUTPUT_TEXT), or any of C.OUTPUT_TYPES (currently text, list and dict) - output change the output format mainly to make command result parsing more easy, but it can also be use to add fancy effects (like coloration) - outputs are added with plugins in the same way as commands (import of both is done in the same method) - in the command class, output need to be declared with use_output=C.OUTPUT_xxx, then the data only need to be processed with self.output(data) - outputs can have description (not used yet) - use_xxx argument handling has been refactored (minor refactoring) to be more generic - first outputs are "default", "json" (pretty printed) and "json_raw" (compact json) - the first command to use them is "profile list"
author Goffi <goffi@goffi.org>
date Sat, 23 Apr 2016 23:10:03 +0200
parents 96ba685162f6
children 5fbe09b9b568
comparison
equal deleted inserted replaced
1949:c5fd304d0976 1950:227a4e617549
103 self.showNextValue() 103 self.showNextValue()
104 104
105 105
106 class ProfileList(base.CommandBase): 106 class ProfileList(base.CommandBase):
107 def __init__(self, host): 107 def __init__(self, host):
108 super(ProfileList, self).__init__(host, 'list', use_profile=False, help=_('list profiles')) 108 super(ProfileList, self).__init__(host, 'list', use_profile=False, use_output='list', help=_('list profiles'))
109 109
110 def add_parser_options(self): 110 def add_parser_options(self):
111 pass 111 pass
112 112
113 def start(self): 113 def start(self):
114 for profile in self.host.bridge.getProfilesList(): 114 self.output(self.host.bridge.getProfilesList())
115 print profile
116 115
117 116
118 class ProfileCreate(base.CommandBase): 117 class ProfileCreate(base.CommandBase):
119 def __init__(self, host): 118 def __init__(self, host):
120 super(ProfileCreate, self).__init__(host, 'create', use_profile=False, help=_('create a new profile')) 119 super(ProfileCreate, self).__init__(host, 'create', use_profile=False, help=_('create a new profile'))