Пример #1
0
class GenConf(object):
    def __init__(self, manifest_path, overrides_path, templatedir, targetdir, ):
        self._manifest_path = manifest_path
        self._overrides_path = overrides_path
        self._template_loader = TemplateLoader([templatedir])
        self._file_generator = FileGenerator(self._template_loader, targetdir)
        self._manifest_parser = ManifestParser()
        self._overrides_parser = ManifestOverridesParser()
        
    
    def generate(self, error_listener=DefaultGenConfErrorListener(), event_listener=DefaultGenConfEventListener()):
        overrides = self._parse_overrides(error_listener, event_listener)
        
        with codecs.open(self._manifest_path, 'rb', 'utf-8') as f:
            try:
                manifest = self._manifest_parser.parse(f, overrides)
                event_listener.on_manifest_parsed(self._manifest_path, manifest)
                self._file_generator.generate_files(manifest, error_listener, event_listener)
            except ManifestParsingError, e:
                error_listener.on_manifest_parsing_error(self._manifest_path, e)
Пример #2
0
class ManifestParsingTestCase(unittest.TestCase):
    def setUp(self):
        unittest.TestCase.setUp(self)
        self.parser = ManifestParser()
        self.manifest = self.parser.parse(samples.simple_manifest_stream)

    def test_should_parse_simple_manifest(self):
        assert len(self.manifest.profiles) == 2

    def test_should_create_development_profile(self):
        development_profile = self.manifest.profile("development")
        assert development_profile.is_abstract == False
        assert len(development_profile.properties) == 3 + NUMBER_OF_AUTO_GENERATED_PROPERTIES
        assert len(development_profile._extends) == 1
        assert development_profile._extends[0] == self.manifest.profile("all")
        assert len(development_profile.output_files) == 3

    def test_should_create_all_profile(self):
        all_profile = self.manifest.profile("all")
        assert all_profile.is_abstract == True
        assert len(all_profile.properties) == 2 + NUMBER_OF_AUTO_GENERATED_PROPERTIES
        assert len(all_profile._extends) == 0
class ManifestParsingTestCase(unittest.TestCase):
    def setUp(self):
        unittest.TestCase.setUp(self)
        self.parser = ManifestParser()
        self.manifest = self.parser.parse(samples.simple_manifest_stream)

    def test_should_parse_simple_manifest(self):
        assert len(self.manifest.profiles) == 2

    def test_should_create_development_profile(self):
        development_profile = self.manifest.profile("development")
        assert development_profile.is_abstract == False
        assert len(development_profile.properties
                   ) == 3 + NUMBER_OF_AUTO_GENERATED_PROPERTIES
        assert len(development_profile._extends) == 1
        assert development_profile._extends[0] == self.manifest.profile("all")
        assert len(development_profile.output_files) == 3

    def test_should_create_all_profile(self):
        all_profile = self.manifest.profile("all")
        assert all_profile.is_abstract == True
        assert len(
            all_profile.properties) == 2 + NUMBER_OF_AUTO_GENERATED_PROPERTIES
        assert len(all_profile._extends) == 0