configurationengine/source/plugins/symbian/ConeImagePlugin/imageplugin/imageml.py
equal
deleted
inserted
replaced
15 # |
15 # |
16 ''' |
16 ''' |
17 A plugin implementation for image selection from ConfigurationLayers. |
17 A plugin implementation for image selection from ConfigurationLayers. |
18 ''' |
18 ''' |
19 |
19 |
20 |
|
21 import re |
|
22 import os |
20 import os |
23 import sys |
|
24 import logging |
21 import logging |
25 import shutil |
22 import pkg_resources |
26 import xml.parsers.expat |
|
27 |
23 |
28 try: |
24 try: |
29 from cElementTree import ElementTree |
25 from cElementTree import ElementTree |
30 except ImportError: |
26 except ImportError: |
31 try: |
27 try: |
34 try: |
30 try: |
35 from xml.etree import cElementTree as ElementTree |
31 from xml.etree import cElementTree as ElementTree |
36 except ImportError: |
32 except ImportError: |
37 from xml.etree import ElementTree |
33 from xml.etree import ElementTree |
38 |
34 |
39 import __init__ |
35 |
40 |
36 |
41 from cone.public import exceptions,plugin,utils,api |
37 from cone.public import exceptions,plugin,utils,api |
42 from imageplugin.generators import OutputGenerator,InputFile,InputDir,InvalidInputFileException |
38 from imageplugin.generators import OutputGenerator,InputFile,InputDir,InvalidInputFileException |
43 |
39 |
44 class ImageImpl(plugin.ImplBase): |
40 class ImageImpl(plugin.ImplBase): |
87 """ |
83 """ |
88 self.logger.info('Generating') |
84 self.logger.info('Generating') |
89 ret = True |
85 ret = True |
90 for generator in self.generators: |
86 for generator in self.generators: |
91 self.logger.info(generator) |
87 self.logger.info(generator) |
92 generator.subpath = self.output |
88 generator.subpath = os.path.join(context.output,self.output) |
93 try: |
89 try: |
94 ret = generator.generate() and ret |
90 ret = generator.generate(context) and ret |
|
91 outfile = generator.get_outputpath() |
|
92 context.add_file(outfile, implementation=self) |
95 except InvalidInputFileException, e: |
93 except InvalidInputFileException, e: |
96 self.logger.error(e) |
94 self.logger.error(e) |
97 return ret |
95 return ret |
98 |
96 |
99 def generate_layers(self,layers): |
97 def generate_layers(self,layers): |
115 class ImageImplReader(plugin.ReaderBase): |
113 class ImageImplReader(plugin.ReaderBase): |
116 """ |
114 """ |
117 Parses a single imageml implml file |
115 Parses a single imageml implml file |
118 """ |
116 """ |
119 NAMESPACE = 'http://www.s60.com/xml/imageml/1' |
117 NAMESPACE = 'http://www.s60.com/xml/imageml/1' |
|
118 NAMESPACE_ID = 'imageml' |
|
119 ROOT_ELEMENT_NAME = 'imageml' |
120 FILE_EXTENSIONS = ['imageml'] |
120 FILE_EXTENSIONS = ['imageml'] |
121 |
121 |
122 INCLUDE_ATTR = ['pattern'] |
122 INCLUDE_ATTR = ['pattern'] |
123 EXCLUDE_ATTR = ['pattern'] |
123 EXCLUDE_ATTR = ['pattern'] |
124 def __init__(self): |
124 def __init__(self): |
140 impl.generators = reader.outputgenerators |
140 impl.generators = reader.outputgenerators |
141 for generator in impl.generators: |
141 for generator in impl.generators: |
142 generator.configuration = configuration |
142 generator.configuration = configuration |
143 |
143 |
144 return impl |
144 return impl |
145 |
145 |
|
146 @classmethod |
|
147 def get_schema_data(cls): |
|
148 return pkg_resources.resource_string('imageplugin', 'xsd/imageml.xsd') |
|
149 |
146 def fromstring(self, xml_as_string): |
150 def fromstring(self, xml_as_string): |
147 etree = ElementTree.fromstring(xml_as_string) |
151 etree = ElementTree.fromstring(xml_as_string) |
148 self.desc = self.parse_desc(etree) |
152 self.desc = self.parse_desc(etree) |
149 self.outputgenerators = self.parse_outputs(etree) |
153 self.outputgenerators = self.parse_outputs(etree) |
150 return |
154 return |