How to use the plac.ReadlineInput function in plac

To help you get started, we’ve selected a few plac examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github micheles / plac / doc / sql_interface.py View on Github external
COMPLETIONS = SQLKEYWORDS | DBTABLES


class SqlInterface(object):
    commands = ['SELECT']

    def __init__(self, dsn):
        self.soup = SQLSoup(dsn)

    def SELECT(self, argstring):
        sql = 'SELECT ' + argstring
        for row in self.soup.bind.execute(sql):
            yield str(row)  # the formatting can be much improved


rl_input = plac.ReadlineInput(
    COMPLETIONS, histfile=os.path.expanduser('~/.sql_interface.history'),
    case_sensitive=False)


def split_on_first_space(line, commentchar):
    return line.strip().split(' ', 1)  # ignoring comments

if __name__ == '__main__':
    plac.Interpreter.call(SqlInterface, split=split_on_first_space,
                          stdin=rl_input, prompt='sql> ')

plac

The smartest command line arguments parser in the world

BSD-2-Clause
Latest version published 2 months ago

Package Health Score

80 / 100
Full package analysis