diff options
author | 2017-03-29 13:35:45 +0300 | |
---|---|---|
committer | 2017-03-29 13:35:45 +0300 | |
commit | e2cc2530fc6d54ebc975c01a4ff887ce12f0a736 (patch) | |
tree | 38385867295c8a09fb0d7f8eaf5fa78179e5b13a /jython-tosca-parser/src/main/resources/Lib/site-packages/cliff-2.4.0-py2.7.egg/cliff/formatters/shell.py | |
parent | bccebaa9888906f8ff78172f62ec592956066d82 (diff) |
[SDC-6] sdc-distribution-client 1707 rebasing
Change-Id: I322a05fd79beb6ba4fee4d32afffecf531b86e98
Signed-off-by: Pavel Aharoni <pa0916@att.com>
Diffstat (limited to 'jython-tosca-parser/src/main/resources/Lib/site-packages/cliff-2.4.0-py2.7.egg/cliff/formatters/shell.py')
-rw-r--r-- | jython-tosca-parser/src/main/resources/Lib/site-packages/cliff-2.4.0-py2.7.egg/cliff/formatters/shell.py | 65 |
1 files changed, 65 insertions, 0 deletions
diff --git a/jython-tosca-parser/src/main/resources/Lib/site-packages/cliff-2.4.0-py2.7.egg/cliff/formatters/shell.py b/jython-tosca-parser/src/main/resources/Lib/site-packages/cliff-2.4.0-py2.7.egg/cliff/formatters/shell.py new file mode 100644 index 0000000..6e7bae9 --- /dev/null +++ b/jython-tosca-parser/src/main/resources/Lib/site-packages/cliff-2.4.0-py2.7.egg/cliff/formatters/shell.py @@ -0,0 +1,65 @@ +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +"""Output formatters using shell syntax. +""" + +from . import base +from cliff import columns + +import argparse +import six + + +class ShellFormatter(base.SingleFormatter): + + def add_argument_group(self, parser): + group = parser.add_argument_group( + title='shell formatter', + description='a format a UNIX shell can parse (variable="value")', + ) + group.add_argument( + '--variable', + action='append', + default=[], + dest='variables', + metavar='VARIABLE', + help=argparse.SUPPRESS, + ) + group.add_argument( + '--prefix', + action='store', + default='', + dest='prefix', + help='add a prefix to all variable names', + ) + + def emit_one(self, column_names, data, stdout, parsed_args): + variable_names = [c.lower().replace(' ', '_') + for c in column_names + ] + desired_columns = parsed_args.variables + for name, value in zip(variable_names, data): + if name in desired_columns or not desired_columns: + value = (six.text_type(value.machine_readable()) + if isinstance(value, columns.FormattableColumn) + else value) + if isinstance(value, six.string_types): + value = value.replace('"', '\\"') + if isinstance(name, six.string_types): + # Colons and dashes may appear as a resource property but + # are invalid to use in a shell, replace them with an + # underscore. + name = name.replace(':', '_') + name = name.replace('-', '_') + stdout.write('%s%s="%s"\n' % (parsed_args.prefix, name, value)) + return |