def process(self, args=argv, input_file=stdin, output_file=stdout):
        """ Processes search results as specified by command arguments.

        :param args: Sequence of command arguments
        :param input_file: Pipeline input file
        :param output_file: Pipeline output file

        """
        self.logger.debug(u'%s arguments: %s', type(self).__name__, args)
        self._configuration = None
        self._output_file = output_file

        try:
            if len(args) >= 2 and args[1] == '__GETINFO__':

                ConfigurationSettings, operation, args, reader = self._prepare(args, input_file=None)
                self.parser.parse(args, self)
                self._configuration = ConfigurationSettings(self)
                writer = splunk_csv.DictWriter(output_file, self, self.configuration.keys(), mv_delimiter=',')
                writer.writerow(self.configuration.items())

            elif len(args) >= 2 and args[1] == '__EXECUTE__':

                self.input_header.read(input_file)
                ConfigurationSettings, operation, args, reader = self._prepare(args, input_file)
                self.parser.parse(args, self)
                self._configuration = ConfigurationSettings(self)

                if self.show_configuration:
                    self.messages.append(
                        'info_message', '%s command configuration settings: %s'
                        % (self.name, self._configuration))

                writer = splunk_csv.DictWriter(output_file, self)
                self._execute(operation, reader, writer)

            else:

                file_name = path.basename(args[0])
                message = (
                    u'Command {0} appears to be statically configured and static '
                    u'configuration is unsupported by splunklib.searchcommands. '
                    u'Please ensure that default/commands.conf contains this '
                    u'stanza:\n'
                    u'[{0}]\n'
                    u'filename = {1}\n'
                    u'supports_getinfo = true\n'
                    u'supports_rawargs = true\n'
                    u'outputheader = true'.format(type(self).name, file_name))
                raise NotImplementedError(message)

        except __HOLE__:
            raise

        except:

            import traceback
            import sys

            error_type, error_message, error_traceback = sys.exc_info()
            self.logger.error(traceback.format_exc(error_traceback))

            origin = error_traceback

            while origin.tb_next is not None:
                origin = origin.tb_next

            filename = origin.tb_frame.f_code.co_filename
            lineno = origin.tb_lineno

            self.write_error('%s at "%s", line %d : %s', error_type.__name__, filename, lineno, error_message)

            exit(1)

        return
dataset/ETHPy150Open hvandenb/splunk-elasticsearch/search-elasticsearch/bin/splunklib/searchcommands/search_command.py/SearchCommand.process