Mercurial > libervia-backend
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')) |