def testOneLineResult(self): self.assertEqual( core._OneLineResult(1), "1" ) # pylint: disable=protected-access self.assertEqual( core._OneLineResult("hello"), "hello" ) # pylint: disable=protected-access self.assertEqual( core._OneLineResult({}), "{}" ) # pylint: disable=protected-access self.assertEqual( core._OneLineResult({"x": "y"}), '{"x": "y"}' ) # pylint: disable=protected-access
def testOneLineResultCircularRef(self): circular_reference = tc.CircularReference() self.assertEqual( core._OneLineResult( circular_reference.create() ), # pylint: disable=protected-access "{'y': {...}}", )
def testOneLineResult(self): self.assertEqual(core._OneLineResult(1), '1') # pylint: disable=protected-access self.assertEqual(core._OneLineResult('hello'), 'hello') # pylint: disable=protected-access self.assertEqual(core._OneLineResult({}), '{}') # pylint: disable=protected-access self.assertEqual(core._OneLineResult({'x': 'y'}), '{"x": "y"}') # pylint: disable=protected-access
def testOneLineResult(self): self.assertEqual(core._OneLineResult(1), '1') self.assertEqual(core._OneLineResult('hello'), 'hello') self.assertEqual(core._OneLineResult({}), '{}') self.assertEqual(core._OneLineResult({'x': 'y'}), '{"x": "y"}')
def task(self, component, message, **kwargs): command = message.data[self.in_key] if self.in_key in message.data else ' ' if command is None: return {} if isinstance(command, six.string_types): args = shlex.split(command) elif isinstance(command, (list, tuple)): args = command else: raise ValueError('The command argument must be a string or a sequence of arguments.') caller = inspect.stack()[1] caller_frame = caller[0] caller_globals = caller_frame.f_globals caller_locals = caller_frame.f_locals context = {} context.update(caller_globals) context.update(caller_locals) temp_out = io.BytesIO() with stdout_redirector(temp_out): try: component_trace = _Fire(component, args, context, '.') except: return {'text': '\n'.join([i for i in traceback.format_exc().split('\n') if i])} if component_trace.HasError(): for help_flag in ['-h', '--help']: if help_flag in component_trace.elements[-1].args: command = '{cmd} -- --help'.format(cmd=component_trace.GetCommand()) print(('WARNING: The proper way to show help is {cmd}.\n' 'Showing help anyway.\n').format(cmd=pipes.quote(command))) print(f'Fire trace:\n{component_trace}\n') result = component_trace.GetResult() print(helputils.HelpString(result, component_trace, component_trace.verbose)) elif component_trace.show_trace and component_trace.show_help: print('Fire trace:\n{trace}\n'.format(trace=component_trace)) result = component_trace.GetResult() print(helputils.HelpString(result, component_trace, component_trace.verbose)) elif component_trace.show_trace: print('Fire trace:\n{trace}'.format(trace=component_trace)) elif component_trace.show_help: result = component_trace.GetResult() print(helputils.HelpString(result, component_trace, component_trace.verbose)) else: result = component_trace.GetResult() if isinstance(result, (list, set, types.GeneratorType)): for i in result: print(_OneLineResult(i)) elif inspect.isgeneratorfunction(result): raise NotImplementedError elif isinstance(result, dict): print(_DictAsString(result, component_trace.verbose)) elif isinstance(result, tuple): print(_OneLineResult(result)) elif isinstance(result, (bool, six.string_types, six.integer_types, float, complex)): print(str(result)) elif result is not None: print(helputils.HelpString(result, component_trace, component_trace.verbose)) s = temp_out.getvalue().decode('utf-8') r = {self.out_key: s} return r
def testOneLineResultCircularRef(self): circular_reference = tc.CircularReference() self.assertEqual(core._OneLineResult(circular_reference.create()), # pylint: disable=protected-access "{'y': {...}}")