mirror of
https://github.com/kovidgoyal/calibre.git
synced 2025-07-07 10:14:46 -04:00
Merge pull request #17 from GRiker/master
Improved error handling in iDevice xml parsing
This commit is contained in:
commit
c785607ca1
@ -192,22 +192,30 @@ class XmlPropertyListParser(object):
|
||||
pattern = XmlPropertyListParser.DATETIME_PATTERN
|
||||
match = pattern.match(content)
|
||||
if not match:
|
||||
raise PropertyListParseError("Failed to parse datetime '%s'" % content)
|
||||
print("XmlPropertyListParser() ERROR: error parsing %s as datetime" % repr(content))
|
||||
#raise PropertyListParseError("Failed to parse datetime '%s'" % content)
|
||||
d = datetime.datetime.today()
|
||||
else:
|
||||
groups, components = match.groupdict(), []
|
||||
for key in units:
|
||||
value = groups[key]
|
||||
if value is None:
|
||||
break
|
||||
components.append(int(value))
|
||||
while len(components) < 3:
|
||||
components.append(1)
|
||||
|
||||
groups, components = match.groupdict(), []
|
||||
for key in units:
|
||||
value = groups[key]
|
||||
if value is None:
|
||||
break
|
||||
components.append(int(value))
|
||||
while len(components) < 3:
|
||||
components.append(1)
|
||||
d = datetime.datetime(*components)
|
||||
|
||||
d = datetime.datetime(*components)
|
||||
self._push_value(d)
|
||||
|
||||
def _parse_real(self, name, content):
|
||||
self._push_value(float(content))
|
||||
content = content.replace(',', '.')
|
||||
try:
|
||||
self._push_value(float(content))
|
||||
except:
|
||||
print("XmlPropertyListParser() WARNING: error converting %s to float" % repr(content))
|
||||
self._push_value(0.0)
|
||||
|
||||
def _parse_integer(self, name, content):
|
||||
self._push_value(int(content))
|
||||
|
Loading…
x
Reference in New Issue
Block a user