82 | | parametersPairs = [(headerLine, |
---|
83 | | headerLines[headerLines.index(headerLine)+1]) |
---|
84 | | for headerLine in headerLines[::2]] |
---|
85 | | for parameterNames,parameterValues in parametersPairs: |
---|
86 | | # parameter names must be valid Python identifiers |
---|
87 | | # for named groups matching |
---|
88 | | parameterNames = [parameterName.strip('#') |
---|
89 | | for parameterName in parameterNames.split()] |
---|
90 | | parameterPattern = re.compile(r'(?P<' + |
---|
91 | | '>\S+)\s+(?P<'.join(parameterNames) + |
---|
92 | | '>.*$)') |
---|
93 | | self.update(parameterPattern. |
---|
94 | | match(parameterValues). |
---|
95 | | groupdict()) |
---|
| 80 | self.update(dict(zip(" ".join(headerLines[::2]).split(), |
---|
| 81 | " ".join(headerLines[1::2]).split()))) |
---|
104 | | bodyLines = [bodyLine.strip() |
---|
105 | | for bodyLine in body.split('\n') |
---|
106 | | if bodyLine] |
---|
107 | | parameterNames = [parameterName |
---|
108 | | for parameterName in bodyLines[0].split()] |
---|
109 | | parameterPattern = re.compile(r'(?P<' + |
---|
110 | | '>\S+)\s+(?P<'.join(parameterNames) + |
---|
111 | | '>.*$)') |
---|
112 | | self.extend([parameterPattern.match(bodyLine).groupdict() |
---|
| 90 | bodyLines = body.split('\n') |
---|
| 91 | bodyKeys = bodyLines[0].split() |
---|
| 92 | self.extend([dict(zip(bodyKeys, bodyLine.split())) |
---|