MCPcopy Index your code
hub / github.com/pyload/pyload / parse_rule

Method parse_rule

module/lib/bottle.py:308–325  ·  view source on GitHub ↗

Parses a rule into a (name, filter, conf) token stream. If mode is None, name contains a static rule part.

(self, rule)

Source from the content-addressed store, hash-verified

306 self.filters[name] = func
307
308 def parse_rule(self, rule):
309 ''' Parses a rule into a (name, filter, conf) token stream. If mode is
310 None, name contains a static rule part. '''
311 offset, prefix = 0, ''
312 for match in self.rule_syntax.finditer(rule):
313 prefix += rule[offset:match.start()]
314 g = match.groups()
315 if len(g[0])%2: # Escaped wildcard
316 prefix += match.group(0)[len(g[0]):]
317 offset = match.end()
318 continue
319 if prefix: yield prefix, None, None
320 name, filtr, conf = g[1:4] if not g[2] is None else g[4:7]
321 if not filtr: filtr = self.default_filter
322 yield name, filtr, conf or None
323 offset, prefix = match.end(), ''
324 if offset <= len(rule) or prefix:
325 yield prefix+rule[offset:], None, None
326
327 def add(self, rule, method, target, name=None):
328 ''' Add a new route or replace the target for an existing route. '''

Callers 1

addMethod · 0.95

Calls 1

startMethod · 0.45

Tested by

no test coverage detected