Exemple #1
0
def add_quotes_to_shell(spdk_shell):
    command = shell.locatedExpr(Word(alphanums + '_'))('command')
    value = dblQuotedString.addParseAction(removeQuotes)
    value_word = Word(alphanums + r';,=_\+/.<>()~@:-%[]')
    keyword = Word(alphanums + r'_\-')
    kparam = shell.locatedExpr(keyword + Suppress('=') +
                               Optional(value | value_word, default=''))('kparams*')
    pparam = shell.locatedExpr(value | value_word)('pparams*')
    parameters = OneOrMore(kparam | pparam)
    bookmark = Regex(r'@([A-Za-z0-9:_.]|-)+')
    pathstd = Regex(r'([A-Za-z0-9:_.\[\]]|-)*' + '/' + r'([A-Za-z0-9:_.\[\]/]|-)*') \
        | '..' | '.'
    path = shell.locatedExpr(bookmark | pathstd | '*')('path')
    spdk_shell._parser = Optional(path) + Optional(command) + Optional(parameters)
Exemple #2
0
 def __init__(self):
     super(CephBootstrapConfigShell, self).__init__(
         '~/.ceph_bootstrap_config_shell')
     # Grammar of the command line
     command = locatedExpr(Word(alphanums + '_'))('command')
     var = Word(alphanums + ';,=_\+/.<>()~@:-%[]*{}" ')  # adding '*'
     value = var
     keyword = Word(alphanums + '_\-')
     kparam = locatedExpr(keyword + Suppress('=') + Optional(value, default=''))('kparams*')
     pparam = locatedExpr(var)('pparams*')
     parameter = kparam | pparam
     parameters = OneOrMore(parameter)
     bookmark = Regex('@([A-Za-z0-9:_.]|-)+')
     pathstd = Regex('([A-Za-z0-9:_.\[\]]|-)*' + '/' + '([A-Za-z0-9:_.\[\]/]|-)*') | '..' | '.'
     path = locatedExpr(bookmark | pathstd | '*')('path')
     parser = Optional(path) + Optional(command) + Optional(parameters)
     self._parser = parser