def _parse(self): sections = self._find_sections() parent = sections.get('parent') if parent: self.parent = parent_loads(parent.content, parent.line) self._old_parent = self.parent reqs = sections.get('requirements') if reqs: self.requirements = BlockVersionTable.loads( reqs.content, reqs.line) self._old_requirements = self.requirements.copy() # self.include_mapping = IncludesMapping.loads(includes) deps = sections.get('dependencies') if deps: self.dependencies = parse_deps_conf(deps.content, deps.line) hooks = sections.get('hooks') if hooks: hooks_deps = parse_deps_conf(hooks.content, hooks.line) self.dependencies.extend(hooks_deps) mains = sections.get('mains') if mains: self.mains = parse_mains_conf(mains.content, mains.line) tests = sections.get('tests') if tests: def test_line_parser(line): self.tests.append(line) parse(tests.content, test_line_parser, tests.line) paths = sections.get('paths') if paths: def path_line_parser(line): self.paths.append(line) parse(paths.content, path_line_parser, paths.line) data = sections.get('data') if data: self.data = parse_deps_conf(data.content, data.line) includes = sections.get('includes') if includes: self.includes = IncludesMapping.loads(includes.content, includes.line)
def _parse(self): sections = self._find_sections() parent = sections.get('parent') if parent: self.parent = parent_loads(parent.content, parent.line) self._old_parent = self.parent reqs = sections.get('requirements') if reqs: self.requirements = BlockVersionTable.loads(reqs.content, reqs.line) self._old_requirements = self.requirements.copy() # self.include_mapping = IncludesMapping.loads(includes) deps = sections.get('dependencies') if deps: self.dependencies = parse_deps_conf(deps.content, deps.line) hooks = sections.get('hooks') if hooks: hooks_deps = parse_deps_conf(hooks.content, hooks.line) self.dependencies.extend(hooks_deps) mains = sections.get('mains') if mains: self.mains = parse_mains_conf(mains.content, mains.line) tests = sections.get('tests') if tests: def test_line_parser(line): self.tests.append(line) parse(tests.content, test_line_parser, tests.line) paths = sections.get('paths') if paths: def path_line_parser(line): self.paths.append(line) parse(paths.content, path_line_parser, paths.line) data = sections.get('data') if data: self.data = parse_deps_conf(data.content, data.line) includes = sections.get('includes') if includes: self.includes = IncludesMapping.loads(includes.content, includes.line)
def test_invalid(self): with self.assertRaisesRegexp(ConfigurationFileError, "Impossible to have two main parents"): parent_loads('* testuser0/block2: 0\ntestuser3/block3: 0', 0)