* not the best way to do it, but make error messages actually readable
This commit is contained in:
+17
-17
@@ -82,7 +82,7 @@ class LocalText(dict):
|
|||||||
nodes = getAllNodes(node, self.tag)
|
nodes = getAllNodes(node, self.tag)
|
||||||
if not nodes:
|
if not nodes:
|
||||||
if self.req == mandatory:
|
if self.req == mandatory:
|
||||||
errs.append(where + _(" At least one '%s' tag should have local text") %
|
errs.append(where + ': ' + _("At least one '%s' tag should have local text") %
|
||||||
self.tag )
|
self.tag )
|
||||||
else:
|
else:
|
||||||
for node in nodes:
|
for node in nodes:
|
||||||
@@ -90,7 +90,7 @@ class LocalText(dict):
|
|||||||
lang = node.getAttributeNS(XML_NS, 'lang')
|
lang = node.getAttributeNS(XML_NS, 'lang')
|
||||||
c = getNodeText(node)
|
c = getNodeText(node)
|
||||||
if not c:
|
if not c:
|
||||||
errs.append(where + _("'%s' language of tag '%s' is empty") %
|
errs.append(where + ': ' + _("'%s' language of tag '%s' is empty") %
|
||||||
(lang, self.tag))
|
(lang, self.tag))
|
||||||
# FIXME: check for dups and 'en'
|
# FIXME: check for dups and 'en'
|
||||||
if not lang:
|
if not lang:
|
||||||
@@ -120,7 +120,7 @@ class LocalText(dict):
|
|||||||
errs = []
|
errs = []
|
||||||
langs = [ LocalText.get_lang(), 'tr', 'en' ]
|
langs = [ LocalText.get_lang(), 'tr', 'en' ]
|
||||||
if not util.any(lambda x : self.has_key(x), langs):
|
if not util.any(lambda x : self.has_key(x), langs):
|
||||||
errs.append( where + _("Tag should have at least the current locale, or failing that an English or Turkish version"))
|
errs.append( where + ': ' + _("Tag should have at least the current locale, or failing that an English or Turkish version"))
|
||||||
#FIXME: check if all entries are unicode
|
#FIXME: check if all entries are unicode
|
||||||
return errs
|
return errs
|
||||||
|
|
||||||
@@ -321,7 +321,7 @@ class autoxml(oo.autosuper, oo.autoprop):
|
|||||||
cls.__init__ = initialize
|
cls.__init__ = initialize
|
||||||
|
|
||||||
cls.decoders = decoders
|
cls.decoders = decoders
|
||||||
def decode(self, node, errs, where = unicode()):
|
def decode(self, node, errs, where = unicode(cls.tag)):
|
||||||
for base in cls.autoxml_bases:
|
for base in cls.autoxml_bases:
|
||||||
base.decode(self, node, errs, where)
|
base.decode(self, node, errs, where)
|
||||||
for decode_member in decoders:#self.__class__.decoders:
|
for decode_member in decoders:#self.__class__.decoders:
|
||||||
@@ -341,7 +341,7 @@ class autoxml(oo.autosuper, oo.autoprop):
|
|||||||
cls.encode = encode
|
cls.encode = encode
|
||||||
|
|
||||||
cls.errorss = errorss
|
cls.errorss = errorss
|
||||||
def errors(self, where = unicode()):
|
def errors(self, where = unicode(name)):
|
||||||
errs = []
|
errs = []
|
||||||
for base in cls.autoxml_bases:
|
for base in cls.autoxml_bases:
|
||||||
errs.extend(base.errors(self, where))
|
errs.extend(base.errors(self, where))
|
||||||
@@ -503,7 +503,7 @@ class autoxml(oo.autosuper, oo.autoprop):
|
|||||||
|
|
||||||
def decode(self, node, errs, where):
|
def decode(self, node, errs, where):
|
||||||
"""decode component from DOM node"""
|
"""decode component from DOM node"""
|
||||||
setattr(self, name, decode_a(node, errs, where + unicode(name) + " "))
|
setattr(self, name, decode_a(node, errs, where + '.' + unicode(name)))
|
||||||
|
|
||||||
def encode(self, node, errs):
|
def encode(self, node, errs):
|
||||||
"""encode self inside, possibly new, DOM node using xml"""
|
"""encode self inside, possibly new, DOM node using xml"""
|
||||||
@@ -517,10 +517,10 @@ class autoxml(oo.autosuper, oo.autoprop):
|
|||||||
errs = []
|
errs = []
|
||||||
if hasattr(self, name):
|
if hasattr(self, name):
|
||||||
value = getattr(self,name)
|
value = getattr(self,name)
|
||||||
errs.extend(errors_a(value, where + name + ': ' ))
|
errs.extend(errors_a(value, where + '.' + name))
|
||||||
else:
|
else:
|
||||||
if req == mandatory:
|
if req == mandatory:
|
||||||
errs.append(where + _('Mandatory variable %s not available') % name)
|
errs.append(where + ': ' + _('Mandatory variable %s not available') % name)
|
||||||
return errs
|
return errs
|
||||||
|
|
||||||
def format(self, f, errs):
|
def format(self, f, errs):
|
||||||
@@ -599,11 +599,11 @@ class autoxml(oo.autosuper, oo.autoprop):
|
|||||||
value = autoxml.basic_cons_map[token_type](text)
|
value = autoxml.basic_cons_map[token_type](text)
|
||||||
except:
|
except:
|
||||||
value = None
|
value = None
|
||||||
errs.append(where + _('Type mismatch: read text cannot be decoded'))
|
errs.append(where + ': ' + _('Type mismatch: read text cannot be decoded'))
|
||||||
return value
|
return value
|
||||||
else:
|
else:
|
||||||
if req == mandatory:
|
if req == mandatory:
|
||||||
errs.append(where + _('Mandatory token %s not available') % token)
|
errs.append(where + ': ' + _('Mandatory token %s not available') % token)
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def encode(node, value, errs):
|
def encode(node, value, errs):
|
||||||
@@ -617,7 +617,7 @@ class autoxml(oo.autosuper, oo.autoprop):
|
|||||||
def errors(value, where):
|
def errors(value, where):
|
||||||
errs = []
|
errs = []
|
||||||
if value and not isinstance(value, token_type):
|
if value and not isinstance(value, token_type):
|
||||||
errs.append(where + _('Type mismatch. Expected %s, got %s') %
|
errs.append(where + ': ' + _('Type mismatch. Expected %s, got %s') %
|
||||||
(token_type, type(value)) )
|
(token_type, type(value)) )
|
||||||
return errs
|
return errs
|
||||||
|
|
||||||
@@ -644,13 +644,13 @@ class autoxml(oo.autosuper, oo.autoprop):
|
|||||||
if node:
|
if node:
|
||||||
try:
|
try:
|
||||||
obj = make_object()
|
obj = make_object()
|
||||||
obj.decode(node, errs, where + unicode("Class %s :") % tag)
|
obj.decode(node, errs, where)
|
||||||
return obj
|
return obj
|
||||||
except Error:
|
except Error:
|
||||||
errs.append(where + _('Type mismatch: DOM cannot be decoded'))
|
errs.append(where + ': '+ _('Type mismatch: DOM cannot be decoded'))
|
||||||
else:
|
else:
|
||||||
if req == mandatory:
|
if req == mandatory:
|
||||||
errs.append(where + _('Mandatory argument not available'))
|
errs.append(where + ': ' + _('Mandatory argument not available'))
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def encode(node, obj, errs):
|
def encode(node, obj, errs):
|
||||||
@@ -701,7 +701,7 @@ class autoxml(oo.autosuper, oo.autoprop):
|
|||||||
nodes = getAllNodes(node, path)
|
nodes = getAllNodes(node, path)
|
||||||
#print node, tag + '/' + comp_tag, nodes
|
#print node, tag + '/' + comp_tag, nodes
|
||||||
if len(nodes)==0 and req==mandatory:
|
if len(nodes)==0 and req==mandatory:
|
||||||
errs.append(where + _('Mandatory list empty'))
|
errs.append(where + ': ' + _('Mandatory list empty'))
|
||||||
ix = 1
|
ix = 1
|
||||||
for node in nodes:
|
for node in nodes:
|
||||||
dummy = newNode(node, "Dummy")
|
dummy = newNode(node, "Dummy")
|
||||||
@@ -769,10 +769,10 @@ class autoxml(oo.autosuper, oo.autoprop):
|
|||||||
obj.decode(node, errs, where)
|
obj.decode(node, errs, where)
|
||||||
return obj
|
return obj
|
||||||
except Error:
|
except Error:
|
||||||
errs.append(where + _('Type mismatch: DOM cannot be decoded'))
|
errs.append(where + ': ' + _('Type mismatch: DOM cannot be decoded'))
|
||||||
else:
|
else:
|
||||||
if req == mandatory:
|
if req == mandatory:
|
||||||
errs.append(where + _('Mandatory argument not available'))
|
errs.append(where + ': ' + _('Mandatory argument not available'))
|
||||||
return None
|
return None
|
||||||
|
|
||||||
def encode(node, obj, errs):
|
def encode(node, obj, errs):
|
||||||
|
|||||||
+2
-2
@@ -4,13 +4,13 @@
|
|||||||
cıvık mantardır bu
|
cıvık mantardır bu
|
||||||
<Name>Eray Ozkural</Name>
|
<Name>Eray Ozkural</Name>
|
||||||
<Number>868</Number>
|
<Number>868</Number>
|
||||||
<Description>Lazy Tin</Description>
|
<Description xml:lang="en">Lazy Tin</Description>
|
||||||
<Description xml:lang="tr">Tembel Teneke</Description>
|
<Description xml:lang="tr">Tembel Teneke</Description>
|
||||||
<Project>pisi</Project>
|
<Project>pisi</Project>
|
||||||
<Project>noatun</Project>
|
<Project>noatun</Project>
|
||||||
<Project>kdevelop</Project>
|
<Project>kdevelop</Project>
|
||||||
<OtherInfo>
|
<OtherInfo>
|
||||||
<BirthDate>18071976</BirthDate>
|
<ZBirthDate>18071976</ZBirthDate>
|
||||||
<Interest>AI</Interest>
|
<Interest>AI</Interest>
|
||||||
<CodesWith>
|
<CodesWith>
|
||||||
<Person>Baris</Person>
|
<Person>Baris</Person>
|
||||||
|
|||||||
Reference in New Issue
Block a user