1 from Components.Converter.Converter import Converter
2 from Components.Element import cached, ElementError
3 from Tools.Directories import fileExists, SCOPE_SKIN_IMAGE, SCOPE_CURRENT_SKIN, resolveFilename
4 from Tools.LoadPixmap import LoadPixmap
7 class ValueToPixmap(Converter, object):
11 def __init__(self, type):
12 Converter.__init__(self, type)
13 if type == "LanguageCode":
14 self.type = self.LANGUAGE_CODE
18 raise ElementError("'%s' is not <LanguageCode|Path> for ValueToPixmap converter" % type)
23 val = self.source.text
26 if self.type == self.PATH:
27 return LoadPixmap(val)
28 if self.type == self.LANGUAGE_CODE:
29 png = LoadPixmap(cached=True, path=resolveFilename(SCOPE_CURRENT_SKIN, "countries/" + val[3:].lower() + ".png"))
31 png = LoadPixmap(cached=True, path=resolveFilename(SCOPE_SKIN_IMAGE, "countries/missing.png"))
35 pixmap = property(getPixmap)
37 def changed(self, what):
38 if what[0] != self.CHANGED_SPECIFIC or what[1] == self.type:
39 Converter.changed(self, what)