(doc)
| 450 | |
| 451 | |
| 452 | def parse_defaults(doc): |
| 453 | defaults = [] |
| 454 | for s in parse_section('options:', doc): |
| 455 | # FIXME corner case "bla: options: --foo" |
| 456 | _, _, s = s.partition(':') # get rid of "options:" |
| 457 | split = re.split('\n[ \t]*(-\S+?)', '\n' + s)[1:] |
| 458 | split = [s1 + s2 for s1, s2 in zip(split[::2], split[1::2])] |
| 459 | options = [Option.parse(s) for s in split if s.startswith('-')] |
| 460 | defaults += options |
| 461 | return defaults |
| 462 | |
| 463 | |
| 464 | def parse_section(name, source): |
no test coverage detected