X-Git-Url: https://gerrit.opnfv.org/gerrit/gitweb?a=blobdiff_plain;f=src%2Fceph%2Fsrc%2Fceph-volume%2Fceph_volume%2Fterminal.py;fp=src%2Fceph%2Fsrc%2Fceph-volume%2Fceph_volume%2Fterminal.py;h=0000000000000000000000000000000000000000;hb=7da45d65be36d36b880cc55c5036e96c24b53f00;hp=55ce2d4ca280946b90e2ad5bcf23890430d4589b;hpb=691462d09d0987b47e112d6ee8740375df3c51b2;p=stor4nfv.git diff --git a/src/ceph/src/ceph-volume/ceph_volume/terminal.py b/src/ceph/src/ceph-volume/ceph_volume/terminal.py deleted file mode 100644 index 55ce2d4..0000000 --- a/src/ceph/src/ceph-volume/ceph_volume/terminal.py +++ /dev/null @@ -1,151 +0,0 @@ -import sys - - -class colorize(str): - """ - Pretty simple to use:: - - colorize.make('foo').bold - colorize.make('foo').green - colorize.make('foo').yellow - colorize.make('foo').red - colorize.make('foo').blue - - Otherwise you could go the long way (for example if you are - testing this class):: - - string = colorize('foo') - string._set_attributes() - string.red - - """ - - def __init__(self, string): - self.stdout = sys.__stdout__ - self.appends = '' - self.prepends = '' - self.isatty = self.stdout.isatty() - - def _set_attributes(self): - """ - Sets the attributes here because the str class does not - allow to pass in anything other than a string to the constructor - so we can't really mess with the other attributes. - """ - for k, v in self.__colors__.items(): - setattr(self, k, self.make_color(v)) - - def make_color(self, color): - if not self.isatty: - return self - return color + self + '\033[0m' + self.appends - - @property - def __colors__(self): - return dict( - blue='\033[34m', - green='\033[92m', - yellow='\033[33m', - red='\033[91m', - bold='\033[1m', - ends='\033[0m' - ) - - @classmethod - def make(cls, string): - """ - A helper method to return itself and workaround the fact that - the str object doesn't allow extra arguments passed in to the - constructor - """ - obj = cls(string) - obj._set_attributes() - return obj - -# -# Common string manipulations -# -yellow = lambda x: colorize.make(x).yellow # noqa -blue = lambda x: colorize.make(x).blue # noqa -green = lambda x: colorize.make(x).green # noqa -red = lambda x: colorize.make(x).red # noqa -bold = lambda x: colorize.make(x).bold # noqa -red_arrow = red('--> ') -blue_arrow = blue('--> ') -green_arrow = green('--> ') -yellow_arrow = yellow('--> ') - - -class _Write(object): - - def __init__(self, _writer=None, prefix='', suffix='', flush=False): - self._writer = _writer or sys.stdout - self.suffix = suffix - self.prefix = prefix - self.flush = flush - - def bold(self, string): - self.write(bold(string)) - - def raw(self, string): - if not string.endswith('\n'): - string = '%s\n' % string - self.write(string) - - def write(self, line): - self._writer.write(self.prefix + line + self.suffix) - if self.flush: - self._writer.flush() - - -def stdout(msg): - return _Write(prefix=blue(' stdout: ')).raw(msg) - - -def stderr(msg): - return _Write(prefix=yellow(' stderr: ')).raw(msg) - - -def write(msg): - return _Write().raw(msg) - - -def error(msg): - return _Write(prefix=red_arrow).raw(msg) - - -def warning(msg): - return _Write(prefix=yellow_arrow).raw(msg) - - -def success(msg): - return _Write(prefix=green_arrow).raw(msg) - - -def dispatch(mapper, argv=None): - argv = argv or sys.argv - for count, arg in enumerate(argv, 1): - if arg in mapper.keys(): - instance = mapper.get(arg)(argv[count:]) - if hasattr(instance, 'main'): - instance.main() - raise SystemExit(0) - - -def subhelp(mapper): - """ - Look at every value of every key in the mapper and will output any - ``class.help`` possible to return it as a string that will be sent to - stdout. - """ - help_text_lines = [] - for key, value in mapper.items(): - try: - help_text = value.help - except AttributeError: - continue - help_text_lines.append("%-24s %s" % (key, help_text)) - - if help_text_lines: - return "Available subcommands:\n\n%s" % '\n'.join(help_text_lines) - return ''