From 966c0cf76e56f93d6610fae0bc20cdd5e5d910fb Mon Sep 17 00:00:00 2001 From: giomba Date: Sun, 23 Dec 2018 12:00:14 +0100 Subject: [PATCH] Fixed bug #1 Handling of unsafe publication year fields. If unsafe, then uses the first 4-digit number in the string as the year. --- tcparser.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/tcparser.py b/tcparser.py index 033b2cd..707ad93 100644 --- a/tcparser.py +++ b/tcparser.py @@ -2,6 +2,7 @@ import xml.etree.ElementTree as ET import json import datetime import sys +import re import glob @@ -32,7 +33,8 @@ def getLibrary(path, lastUpdate): for j in i.iterfind('tellico:publisher', namespace): newbook['publisher'] = j.text for j in i.iterfind('tellico:pub_year', namespace): - newbook['year'] = int(j.text) + match = re.search('[0-9]{4}', j.text) + newbook['year'] = int(match.group()) for j in i.iterfind('tellico:isbn', namespace): newbook['isbn'] = j.text.replace('-', '') for j in i.iterfind('tellico:pages', namespace):