1. ExampleΒΆ

class ExampleApp(cliapp.Application):

    def add_settings(self):
        self.settings.string_list(['pattern', 'e'],
                                  'search for regular expression PATTERN',
                                  metavar='REGEXP')

    # We override process_inputs to be able to do something after the last
    # input line.
    def process_inputs(self, args):
        self.matches = 0
        cliapp.Application.process_inputs(self, args)
        self.output.write('There were %s matches.\\n' % self.matches)

    def process_input_line(self, name, line):
        for pattern in self.settings['pattern']:
            if pattern in line:
                self.output.write('%s:%s: %s' % (name, self.lineno, line))
                self.matches += 1
                logging.debug('Match: %s line %d' % (name, self.lineno))


if __name__ == '__main__':
    ExampleApp().run()

Previous topic

Welcome to cliapp

Next topic

2. Walkthrough

This Page