Drop python2 support.

Signed-off-by: Slávek Banko <slavek.banko@axis.cz>
pull/5/head r14.1.0
Slávek Banko 2 years ago
parent b2ccda8be8
commit c800d114bf
No known key found for this signature in database
GPG Key ID: 608F5293A04BE668

@ -33,7 +33,7 @@ Update (checked) = %{title}
""" """
import sys, os, re, md5, random, string import sys, os, re, md5, random, string
import urllib, urllib2, time, base64 import urllib.request, urllib.parse, urllib.error, time, base64
import xml.dom.minidom import xml.dom.minidom
XML_HEADER = """<?xml version="1.0" encoding="UTF-8"?>""" XML_HEADER = """<?xml version="1.0" encoding="UTF-8"?>"""
@ -86,7 +86,7 @@ class BasicTellicoDOM:
entryNode.setAttribute('id', str(self.__currentId)) entryNode.setAttribute('id', str(self.__currentId))
titleNode = self.__doc.createElement('title') titleNode = self.__doc.createElement('title')
titleNode.appendChild(self.__doc.createTextNode(unicode(d['title'], 'latin-1').encode('utf-8'))) titleNode.appendChild(self.__doc.createTextNode(str(d['title'], 'latin-1').encode('utf-8')))
yearNode = self.__doc.createElement('pub_year') yearNode = self.__doc.createElement('pub_year')
yearNode.appendChild(self.__doc.createTextNode(d['pub_year'])) yearNode.appendChild(self.__doc.createTextNode(d['pub_year']))
@ -101,25 +101,25 @@ class BasicTellicoDOM:
writersNode = self.__doc.createElement('writers') writersNode = self.__doc.createElement('writers')
for g in d['writer']: for g in d['writer']:
writerNode = self.__doc.createElement('writer') writerNode = self.__doc.createElement('writer')
writerNode.appendChild(self.__doc.createTextNode(unicode(g, 'latin-1').encode('utf-8'))) writerNode.appendChild(self.__doc.createTextNode(str(g, 'latin-1').encode('utf-8')))
writersNode.appendChild(writerNode) writersNode.appendChild(writerNode)
genresNode = self.__doc.createElement('genres') genresNode = self.__doc.createElement('genres')
for g in d['genre']: for g in d['genre']:
genreNode = self.__doc.createElement('genre') genreNode = self.__doc.createElement('genre')
genreNode.appendChild(self.__doc.createTextNode(unicode(g, 'latin-1').encode('utf-8'))) genreNode.appendChild(self.__doc.createTextNode(str(g, 'latin-1').encode('utf-8')))
genresNode.appendChild(genreNode) genresNode.appendChild(genreNode)
commentsNode = self.__doc.createElement('comments') commentsNode = self.__doc.createElement('comments')
#for g in d['comments']: #for g in d['comments']:
# commentsNode.appendChild(self.__doc.createTextNode(unicode("%s\n\n" % g, 'latin-1').encode('utf-8'))) # commentsNode.appendChild(self.__doc.createTextNode(unicode("%s\n\n" % g, 'latin-1').encode('utf-8')))
commentsData = string.join(d['comments'], '\n\n') commentsData = string.join(d['comments'], '\n\n')
commentsNode.appendChild(self.__doc.createTextNode(unicode(commentsData, 'latin-1').encode('utf-8'))) commentsNode.appendChild(self.__doc.createTextNode(str(commentsData, 'latin-1').encode('utf-8')))
artistsNode = self.__doc.createElement('artists') artistsNode = self.__doc.createElement('artists')
for k, v in d['artist'].iteritems(): for k, v in d['artist'].items():
artistNode = self.__doc.createElement('artist') artistNode = self.__doc.createElement('artist')
artistNode.appendChild(self.__doc.createTextNode(unicode(v, 'latin-1').encode('utf-8'))) artistNode.appendChild(self.__doc.createTextNode(str(v, 'latin-1').encode('utf-8')))
artistsNode.appendChild(artistNode) artistsNode.appendChild(artistNode)
pagesNode = self.__doc.createElement('pages') pagesNode = self.__doc.createElement('pages')
@ -132,7 +132,7 @@ class BasicTellicoDOM:
imageNode = self.__doc.createElement('image') imageNode = self.__doc.createElement('image')
imageNode.setAttribute('format', 'JPEG') imageNode.setAttribute('format', 'JPEG')
imageNode.setAttribute('id', d['image'][0]) imageNode.setAttribute('id', d['image'][0])
imageNode.appendChild(self.__doc.createTextNode(unicode(d['image'][1], 'latin-1').encode('utf-8'))) imageNode.appendChild(self.__doc.createTextNode(str(d['image'][1], 'latin-1').encode('utf-8')))
coverNode = self.__doc.createElement('cover') coverNode = self.__doc.createElement('cover')
coverNode.appendChild(self.__doc.createTextNode(d['image'][0])) coverNode.appendChild(self.__doc.createTextNode(d['image'][0]))
@ -156,17 +156,17 @@ class BasicTellicoDOM:
Prints entry's XML content to stdout Prints entry's XML content to stdout
""" """
try: try:
print nEntry.toxml() print(nEntry.toxml())
except: except:
print sys.stderr, "Error while outputing XML content from entry to Tellico" print(sys.stderr, "Error while outputing XML content from entry to Tellico")
def printXMLTree(self): def printXMLTree(self):
""" """
Outputs XML content to stdout Outputs XML content to stdout
""" """
self.__collection.appendChild(self.__images) self.__collection.appendChild(self.__images)
print XML_HEADER; print DOCTYPE print(XML_HEADER); print(DOCTYPE)
print self.__root.toxml() print(self.__root.toxml())
class DarkHorseParser: class DarkHorseParser:
@ -193,7 +193,7 @@ class DarkHorseParser:
# Compile patterns objects # Compile patterns objects
self.__regExpsPO = {} self.__regExpsPO = {}
for k, pattern in self.__regExps.iteritems(): for k, pattern in self.__regExps.items():
self.__regExpsPO[k] = re.compile(pattern) self.__regExpsPO[k] = re.compile(pattern)
self.__domTree = BasicTellicoDOM() self.__domTree = BasicTellicoDOM()
@ -211,7 +211,7 @@ class DarkHorseParser:
""" """
Fetch HTML data from url Fetch HTML data from url
""" """
u = urllib2.urlopen(url) u = urllib.request.urlopen(url)
self.__data = u.read() self.__data = u.read()
u.close() u.close()
@ -231,7 +231,7 @@ class DarkHorseParser:
The image is deleted if delete is True The image is deleted if delete is True
""" """
md5 = genMD5() md5 = genMD5()
imObj = urllib2.urlopen(path.strip()) imObj = urllib.request.urlopen(path.strip())
img = imObj.read() img = imObj.read()
imObj.close() imObj.close()
imgPath = "/tmp/%s.jpeg" % md5 imgPath = "/tmp/%s.jpeg" % md5
@ -240,7 +240,7 @@ class DarkHorseParser:
f.write(img) f.write(img)
f.close() f.close()
except: except:
print sys.stderr, "Error: could not write image into /tmp" print(sys.stderr, "Error: could not write image into /tmp")
b64data = (md5 + '.jpeg', base64.encodestring(img)) b64data = (md5 + '.jpeg', base64.encodestring(img))
@ -249,7 +249,7 @@ class DarkHorseParser:
try: try:
os.remove(imgPath) os.remove(imgPath)
except: except:
print sys.stderr, "Error: could not delete temporary image /tmp/%s.jpeg" % md5 print(sys.stderr, "Error: could not delete temporary image /tmp/%s.jpeg" % md5)
return b64data return b64data
@ -286,7 +286,7 @@ class DarkHorseParser:
data['image'] = b64img data['image'] = b64img
data['pub_year'] = NULLSTRING data['pub_year'] = NULLSTRING
for name, po in self.__regExpsPO.iteritems(): for name, po in self.__regExpsPO.items():
data[name] = NULLSTRING data[name] = NULLSTRING
if name == 'desc': if name == 'desc':
matches[name] = re.findall(self.__regExps[name], self.__data, re.S | re.I) matches[name] = re.findall(self.__regExps[name], self.__data, re.S | re.I)
@ -363,7 +363,7 @@ class DarkHorseParser:
if not len(title): return if not len(title): return
self.__title = title self.__title = title
self.__getHTMLContent("%s%s" % (self.__baseURL, self.__searchURL % urllib.quote(self.__title))) self.__getHTMLContent("%s%s" % (self.__baseURL, self.__searchURL % urllib.parse.quote(self.__title)))
# Get all links # Get all links
links = self.__fetchMovieLinks() links = self.__fetchMovieLinks()
@ -381,11 +381,11 @@ class DarkHorseParser:
return None return None
def halt(): def halt():
print "HALT." print("HALT.")
sys.exit(0) sys.exit(0)
def showUsage(): def showUsage():
print "Usage: %s comic" % sys.argv[0] print("Usage: %s comic" % sys.argv[0])
sys.exit(1) sys.exit(1)
def main(): def main():

@ -28,7 +28,7 @@
# * Initial release. # * Initial release.
import sys, os, re, md5, random import sys, os, re, md5, random
import urllib, urllib2, time, base64 import urllib.request, urllib.parse, urllib.error, time, base64
import xml.dom.minidom import xml.dom.minidom
XML_HEADER = """<?xml version="1.0" encoding="UTF-8"?>""" XML_HEADER = """<?xml version="1.0" encoding="UTF-8"?>"""
@ -90,23 +90,23 @@ class BasicTellicoDOM:
entryNode.setAttribute('id', str(self.__currentId)) entryNode.setAttribute('id', str(self.__currentId))
titleNode = self.__doc.createElement('title') titleNode = self.__doc.createElement('title')
titleNode.appendChild(self.__doc.createTextNode(unicode(d['title'], 'latin-1').encode('utf-8'))) titleNode.appendChild(self.__doc.createTextNode(str(d['title'], 'latin-1').encode('utf-8')))
otitleNode = self.__doc.createElement('titre-original') otitleNode = self.__doc.createElement('titre-original')
otitleNode.appendChild(self.__doc.createTextNode(unicode(d['otitle'], 'latin-1').encode('utf-8'))) otitleNode.appendChild(self.__doc.createTextNode(str(d['otitle'], 'latin-1').encode('utf-8')))
yearNode = self.__doc.createElement('year') yearNode = self.__doc.createElement('year')
yearNode.appendChild(self.__doc.createTextNode(unicode(d['year'], 'latin-1').encode('utf-8'))) yearNode.appendChild(self.__doc.createTextNode(str(d['year'], 'latin-1').encode('utf-8')))
genresNode = self.__doc.createElement('genres') genresNode = self.__doc.createElement('genres')
for g in d['genres']: for g in d['genres']:
genreNode = self.__doc.createElement('genre') genreNode = self.__doc.createElement('genre')
genreNode.appendChild(self.__doc.createTextNode(unicode(g, 'latin-1').encode('utf-8'))) genreNode.appendChild(self.__doc.createTextNode(str(g, 'latin-1').encode('utf-8')))
genresNode.appendChild(genreNode) genresNode.appendChild(genreNode)
natsNode = self.__doc.createElement('nationalitys') natsNode = self.__doc.createElement('nationalitys')
natNode = self.__doc.createElement('nat') natNode = self.__doc.createElement('nat')
natNode.appendChild(self.__doc.createTextNode(unicode(d['nat'], 'latin-1').encode('utf-8'))) natNode.appendChild(self.__doc.createTextNode(str(d['nat'], 'latin-1').encode('utf-8')))
natsNode.appendChild(natNode) natsNode.appendChild(natNode)
castsNode = self.__doc.createElement('casts') castsNode = self.__doc.createElement('casts')
@ -114,7 +114,7 @@ class BasicTellicoDOM:
castNode = self.__doc.createElement('cast') castNode = self.__doc.createElement('cast')
col1Node = self.__doc.createElement('column') col1Node = self.__doc.createElement('column')
col2Node = self.__doc.createElement('column') col2Node = self.__doc.createElement('column')
col1Node.appendChild(self.__doc.createTextNode(unicode(g, 'latin-1').encode('utf-8'))) col1Node.appendChild(self.__doc.createTextNode(str(g, 'latin-1').encode('utf-8')))
castNode.appendChild(col1Node) castNode.appendChild(col1Node)
castNode.appendChild(col2Node) castNode.appendChild(col2Node)
castsNode.appendChild(castNode) castsNode.appendChild(castNode)
@ -122,17 +122,17 @@ class BasicTellicoDOM:
dirsNode = self.__doc.createElement('directors') dirsNode = self.__doc.createElement('directors')
for g in d['dirs']: for g in d['dirs']:
dirNode = self.__doc.createElement('director') dirNode = self.__doc.createElement('director')
dirNode.appendChild(self.__doc.createTextNode(unicode(g, 'latin-1').encode('utf-8'))) dirNode.appendChild(self.__doc.createTextNode(str(g, 'latin-1').encode('utf-8')))
dirsNode.appendChild(dirNode) dirsNode.appendChild(dirNode)
timeNode = self.__doc.createElement('running-time') timeNode = self.__doc.createElement('running-time')
timeNode.appendChild(self.__doc.createTextNode(unicode(d['time'], 'latin-1').encode('utf-8'))) timeNode.appendChild(self.__doc.createTextNode(str(d['time'], 'latin-1').encode('utf-8')))
allocineNode = self.__doc.createElement(unicode('allociné-link', 'latin-1').encode('utf-8')) allocineNode = self.__doc.createElement(str('allociné-link', 'latin-1').encode('utf-8'))
allocineNode.appendChild(self.__doc.createTextNode(unicode(d['allocine'], 'latin-1').encode('utf-8'))) allocineNode.appendChild(self.__doc.createTextNode(str(d['allocine'], 'latin-1').encode('utf-8')))
plotNode = self.__doc.createElement('plot') plotNode = self.__doc.createElement('plot')
plotNode.appendChild(self.__doc.createTextNode(unicode(d['plot'], 'latin-1').encode('utf-8'))) plotNode.appendChild(self.__doc.createTextNode(str(d['plot'], 'latin-1').encode('utf-8')))
if d['image']: if d['image']:
imageNode = self.__doc.createElement('image') imageNode = self.__doc.createElement('image')
@ -140,7 +140,7 @@ class BasicTellicoDOM:
imageNode.setAttribute('id', d['image'][0]) imageNode.setAttribute('id', d['image'][0])
imageNode.setAttribute('width', '120') imageNode.setAttribute('width', '120')
imageNode.setAttribute('height', '160') imageNode.setAttribute('height', '160')
imageNode.appendChild(self.__doc.createTextNode(unicode(d['image'][1], 'latin-1').encode('utf-8'))) imageNode.appendChild(self.__doc.createTextNode(str(d['image'][1], 'latin-1').encode('utf-8')))
coverNode = self.__doc.createElement('cover') coverNode = self.__doc.createElement('cover')
coverNode.appendChild(self.__doc.createTextNode(d['image'][0])) coverNode.appendChild(self.__doc.createTextNode(d['image'][0]))
@ -162,8 +162,8 @@ class BasicTellicoDOM:
Outputs XML content to stdout Outputs XML content to stdout
""" """
self.__collection.appendChild(self.__images) self.__collection.appendChild(self.__images)
print XML_HEADER; print DOCTYPE print(XML_HEADER); print(DOCTYPE)
print self.__root.toxml() print(self.__root.toxml())
class AlloCineParser: class AlloCineParser:
@ -203,7 +203,7 @@ class AlloCineParser:
Fetch HTML data from url Fetch HTML data from url
""" """
u = urllib2.urlopen(url) u = urllib.request.urlopen(url)
self.__data = u.read() self.__data = u.read()
u.close() u.close()
@ -224,7 +224,7 @@ class AlloCineParser:
matches = data = {} matches = data = {}
for name, regexp in self.__regExps.iteritems(): for name, regexp in self.__regExps.items():
if name == 'image': if name == 'image':
matches[name] = re.findall(self.__regExps[name], self.__data, re.S | re.I) matches[name] = re.findall(self.__regExps[name], self.__data, re.S | re.I)
else: else:
@ -272,7 +272,7 @@ class AlloCineParser:
elif name == 'image': elif name == 'image':
# Save image to a temporary folder # Save image to a temporary folder
md5 = genMD5() md5 = genMD5()
imObj = urllib2.urlopen(matches[name][0].strip()) imObj = urllib.request.urlopen(matches[name][0].strip())
img = imObj.read() img = imObj.read()
imObj.close() imObj.close()
imgPath = "/tmp/%s.jpeg" % md5 imgPath = "/tmp/%s.jpeg" % md5
@ -303,7 +303,7 @@ class AlloCineParser:
if not len(title): return if not len(title): return
self.__title = title self.__title = title
self.__getHTMLContent(self.__searchURL % urllib.quote(self.__title)) self.__getHTMLContent(self.__searchURL % urllib.parse.quote(self.__title))
# Get all links # Get all links
links = self.__fetchMovieLinks() links = self.__fetchMovieLinks()
@ -321,7 +321,7 @@ class AlloCineParser:
def showUsage(): def showUsage():
print "Usage: %s movietitle" % sys.argv[0] print("Usage: %s movietitle" % sys.argv[0])
sys.exit(1) sys.exit(1)
def main(): def main():

@ -85,7 +85,7 @@ Version 0.1:
""" """
import sys, os, re, md5, random, string import sys, os, re, md5, random, string
import urllib, urllib2, time, base64 import urllib.request, urllib.parse, urllib.error, time, base64
import xml.dom.minidom, types import xml.dom.minidom, types
import socket import socket
@ -95,7 +95,7 @@ NULLSTRING = ''
VERSION = "0.3.2" VERSION = "0.3.2"
ISBN, AUTHOR, TITLE = range(3) ISBN, AUTHOR, TITLE = list(range(3))
TRANSLATOR_STR = "tr." TRANSLATOR_STR = "tr."
EDLIT_STR = "ed. lit." EDLIT_STR = "ed. lit."
@ -153,11 +153,11 @@ class BasicTellicoDOM:
d = movieData d = movieData
# Convert all strings to UTF-8 # Convert all strings to UTF-8
for i in d.keys(): for i in list(d.keys()):
if type(d[i]) == types.ListType: if type(d[i]) == list:
d[i] = [unicode(d[i][j], 'latin-1').encode('utf-8') for j in range(len(d[i]))] d[i] = [str(d[i][j], 'latin-1').encode('utf-8') for j in range(len(d[i]))]
elif type(d[i]) == types.StringType: elif type(d[i]) == bytes:
d[i] = unicode(d[i], 'latin-1').encode('utf-8') d[i] = str(d[i], 'latin-1').encode('utf-8')
entryNode = self.__doc.createElement('entry') entryNode = self.__doc.createElement('entry')
entryNode.setAttribute('id', str(self.__currentId)) entryNode.setAttribute('id', str(self.__currentId))
@ -228,17 +228,17 @@ class BasicTellicoDOM:
""" """
try: try:
print nEntry.toxml() print(nEntry.toxml())
except: except:
print sys.stderr, "Error while outputing XML content from entry to Tellico" print(sys.stderr, "Error while outputing XML content from entry to Tellico")
def printXMLTree(self): def printXMLTree(self):
""" """
Outputs XML content to stdout Outputs XML content to stdout
""" """
print XML_HEADER; print DOCTYPE print(XML_HEADER); print(DOCTYPE)
print self.__root.toxml() print(self.__root.toxml())
class MinisterioCulturaParser: class MinisterioCulturaParser:
@ -268,7 +268,7 @@ class MinisterioCulturaParser:
# Compile patterns objects # Compile patterns objects
self.__regExpsPO = {} self.__regExpsPO = {}
for k, pattern in self.__regExps.iteritems(): for k, pattern in self.__regExps.items():
self.__regExpsPO[k] = re.compile(pattern) self.__regExpsPO[k] = re.compile(pattern)
self.__domTree = BasicTellicoDOM() self.__domTree = BasicTellicoDOM()
@ -298,8 +298,8 @@ class MinisterioCulturaParser:
""" """
try: try:
u = urllib2.urlopen(url) u = urllib.request.urlopen(url)
except Exception, e: except Exception as e:
u.close() u.close()
sys.exit(""" sys.exit("""
Network error while getting HTML content. Network error while getting HTML content.
@ -336,7 +336,7 @@ Tellico cannot connect to: http://www.mcu.es/comun/bases/isbn/ISBN.htm webpage:
data['series_num'] = NULLSTRING data['series_num'] = NULLSTRING
data['translator'] = NULLSTRING data['translator'] = NULLSTRING
for name, po in self.__regExpsPO.iteritems(): for name, po in self.__regExpsPO.items():
data[name] = NULLSTRING data[name] = NULLSTRING
matches[name] = re.search(self.__regExps[name], self.__data, re.S | re.I) matches[name] = re.search(self.__regExps[name], self.__data, re.S | re.I)
@ -471,11 +471,11 @@ Tellico cannot connect to: http://www.mcu.es/comun/bases/isbn/ISBN.htm webpage:
def __getBook(self, data, kind = ISBN): def __getBook(self, data, kind = ISBN):
if not len(data): if not len(data):
raise EngineError, "No data given. Unable to proceed." raise EngineError("No data given. Unable to proceed.")
if kind == ISBN: if kind == ISBN:
self.__getHTMLContent("%s%s%s" % (self.__baseURL, self.__searchURL % \ self.__getHTMLContent("%s%s%s" % (self.__baseURL, self.__searchURL % \
(urllib.quote(data), # ISBN (urllib.parse.quote(data), # ISBN
NULLSTRING, # AUTHOR NULLSTRING, # AUTHOR
NULLSTRING), # TITLE NULLSTRING), # TITLE
self.__suffixURL) self.__suffixURL)
@ -483,7 +483,7 @@ Tellico cannot connect to: http://www.mcu.es/comun/bases/isbn/ISBN.htm webpage:
elif kind == AUTHOR: elif kind == AUTHOR:
self.__getHTMLContent("%s%s%s" % (self.__baseURL, self.__searchURL % \ self.__getHTMLContent("%s%s%s" % (self.__baseURL, self.__searchURL % \
(NULLSTRING, # ISBN (NULLSTRING, # ISBN
urllib.quote(data), # AUTHOR urllib.parse.quote(data), # AUTHOR
NULLSTRING), # TITLE NULLSTRING), # TITLE
self.__suffixURL) self.__suffixURL)
) )
@ -492,7 +492,7 @@ Tellico cannot connect to: http://www.mcu.es/comun/bases/isbn/ISBN.htm webpage:
self.__getHTMLContent("%s%s%s" % (self.__baseURL, self.__searchURL % \ self.__getHTMLContent("%s%s%s" % (self.__baseURL, self.__searchURL % \
(NULLSTRING, # ISBN (NULLSTRING, # ISBN
NULLSTRING, # AUTHOR NULLSTRING, # AUTHOR
urllib.quote(data)), # TITLE urllib.parse.quote(data)), # TITLE
self.__suffixURL) self.__suffixURL)
) )
@ -551,16 +551,16 @@ Tellico cannot connect to: http://www.mcu.es/comun/bases/isbn/ISBN.htm webpage:
return prefix + string.join(translators, '; ') return prefix + string.join(translators, '; ')
def halt(): def halt():
print "HALT." print("HALT.")
sys.exit(0) sys.exit(0)
def showUsage(): def showUsage():
print """Usage: %s options print("""Usage: %s options
Where options are: Where options are:
-t title -t title
-i (ISBN|UPC) -i (ISBN|UPC)
-a author -a author
-m filename (support for multiple ISBN/UPC search)""" % sys.argv[0] -m filename (support for multiple ISBN/UPC search)""" % sys.argv[0])
sys.exit(1) sys.exit(1)
def main(): def main():
@ -573,7 +573,7 @@ def main():
isbnStringList = NULLSTRING isbnStringList = NULLSTRING
opts = {'-t' : TITLE, '-i' : ISBN, '-a' : AUTHOR, '-m' : isbnStringList} opts = {'-t' : TITLE, '-i' : ISBN, '-a' : AUTHOR, '-m' : isbnStringList}
if sys.argv[1] not in opts.keys(): if sys.argv[1] not in list(opts.keys()):
showUsage() showUsage()
if sys.argv[1] == '-m': if sys.argv[1] == '-m':
@ -584,8 +584,8 @@ def main():
sys.argv[2] = string.join([d[:-1] for d in data], ';') sys.argv[2] = string.join([d[:-1] for d in data], ';')
sys.argv[1] = '-i' sys.argv[1] = '-i'
f.close() f.close()
except IOError, e: except IOError as e:
print "Error: %s" % e print("Error: %s" % e)
sys.exit(1) sys.exit(1)
parser = MinisterioCulturaParser() parser = MinisterioCulturaParser()

@ -21,7 +21,7 @@ import xml.dom.minidom
try: try:
import sqlite3 import sqlite3
except: except:
print sys.stderr, "The Python sqlite3 module is required to import Griffith databases." print(sys.stderr, "The Python sqlite3 module is required to import Griffith databases.")
exit(1) exit(1)
DB_PATH = os.environ['HOME'] + '/.griffith/griffith.db' DB_PATH = os.environ['HOME'] + '/.griffith/griffith.db'
@ -140,11 +140,11 @@ class BasicTellicoDOM:
entryNode = self.__doc.createElement('entry') entryNode = self.__doc.createElement('entry')
entryNode.setAttribute('id', movieData['id']) entryNode.setAttribute('id', movieData['id'])
for key, values in movieData.iteritems(): for key, values in movieData.items():
if key == 'id': if key == 'id':
continue continue
if self.__fieldsMap.has_key(key): if key in self.__fieldsMap:
field = self.__fieldsMap[key] field = self.__fieldsMap[key]
else: else:
field = key field = key
@ -184,8 +184,8 @@ class BasicTellicoDOM:
Outputs XML content to stdout Outputs XML content to stdout
""" """
self.__collection.appendChild(self.__images) self.__collection.appendChild(self.__images)
print XML_HEADER; print DOCTYPE print(XML_HEADER); print(DOCTYPE)
print self.__root.toxml() print(self.__root.toxml())
class GriffithParser: class GriffithParser:

Loading…
Cancel
Save