def validate_query_path_segment_string(self, node, key, query_path_segment_string):
parts = query_path_segment_string.split(';')
if len(parts) == 1: # no ';'
pass
elif len(parts) == 2: # found ';'
params_part = parts[1]
formatter = string.Formatter()
try:
parsed_format = list(formatter.parse(params_part))
except Exception as e:
return self.error('error parsing query path segment string: %s' % e, key)
leading_parts = [part for part in parsed_format if part[1] is not None]
if len(leading_parts) == 0:
self.error('query segment %s must include at least one {name} element after ;' % query_path_segment_string)
if len ([part for part in leading_parts if part[1] == '']) > 0:
self.error('property name required between {} characters after %s in query segment %s' %([part[0] for part in leading_parts if part[1]] ,query_path_segment_string))
评论列表
文章目录