#836: Allow for standard Crossbar a.c..d style pattern URIs to be used with Pattern

This commit is contained in:
Adam Jorgensen
2017-05-23 15:02:23 +02:00
parent 8f25d62dbd
commit 0f4536bb89

View File

@@ -160,6 +160,7 @@ class Pattern(object):
components = uri.split('.')
pl = []
nc = {}
group_count = 0
for i in range(len(components)):
component = components[i]
@@ -185,6 +186,7 @@ class Pattern(object):
raise Exception("logic error")
pl.append("(?P<{0}>[a-z0-9_]+)".format(name))
group_count += 1
continue
match = Pattern._URI_NAMED_COMPONENT.match(component)
@@ -195,6 +197,7 @@ class Pattern(object):
nc[name] = str
pl.append("(?P<{0}>[a-z0-9_]+)".format(name))
group_count += 1
continue
match = Pattern._URI_COMPONENT.match(component)
@@ -202,6 +205,12 @@ class Pattern(object):
pl.append(component)
continue
if component == '':
group_count += 1
pl.append("([a-z0-9][a-z0-9_\-]*)")
nc[group_count] = str
continue
raise Exception("invalid URI")
if nc: