Mercurial > libervia-backend
diff 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 |
line wrap: on
line diff
--- a/frontends/src/jp/cmd_profile.py Sat Apr 23 01:28:35 2016 +0200 +++ b/frontends/src/jp/cmd_profile.py Sat Apr 23 23:10:03 2016 +0200 @@ -105,14 +105,13 @@ class ProfileList(base.CommandBase): def __init__(self, host): - super(ProfileList, self).__init__(host, 'list', use_profile=False, help=_('list profiles')) + super(ProfileList, self).__init__(host, 'list', use_profile=False, use_output='list', help=_('list profiles')) def add_parser_options(self): pass def start(self): - for profile in self.host.bridge.getProfilesList(): - print profile + self.output(self.host.bridge.getProfilesList()) class ProfileCreate(base.CommandBase):