Allow self.codepage to be a list of codecs to try.
This commit is contained in:
parent
2e0c743671
commit
cb8bc13ceb
|
@ -29,7 +29,7 @@ class Fulltilt(HandHistoryConverter):
|
||||||
|
|
||||||
sitename = "Fulltilt"
|
sitename = "Fulltilt"
|
||||||
filetype = "text"
|
filetype = "text"
|
||||||
codepage = "utf-16"
|
codepage = ["utf-16", "cp1252"]
|
||||||
siteId = 1 # Needs to match id entry in Sites database
|
siteId = 1 # Needs to match id entry in Sites database
|
||||||
|
|
||||||
# Static regexes
|
# Static regexes
|
||||||
|
|
|
@ -398,6 +398,10 @@ or None if we fail to get the info """
|
||||||
hands = hands + [Hand.Hand(self.sitename, self.gametype, l)]
|
hands = hands + [Hand.Hand(self.sitename, self.gametype, l)]
|
||||||
return hands
|
return hands
|
||||||
|
|
||||||
|
def __listof(self, x):
|
||||||
|
if isinstance(x, list) or isinstance(x, tuple): return x
|
||||||
|
else: return [x]
|
||||||
|
|
||||||
def readFile(self):
|
def readFile(self):
|
||||||
"""Open in_path according to self.codepage. Exceptions caught further up"""
|
"""Open in_path according to self.codepage. Exceptions caught further up"""
|
||||||
|
|
||||||
|
@ -407,12 +411,20 @@ or None if we fail to get the info """
|
||||||
log.debug("Reading stdin with %s" % self.codepage) # is this necessary? or possible? or what?
|
log.debug("Reading stdin with %s" % self.codepage) # is this necessary? or possible? or what?
|
||||||
in_fh = codecs.getreader('cp1252')(sys.stdin)
|
in_fh = codecs.getreader('cp1252')(sys.stdin)
|
||||||
else:
|
else:
|
||||||
in_fh = codecs.open(self.in_path, 'r', self.codepage)
|
success = False
|
||||||
|
for kodec in self.__listof(self.codepage):
|
||||||
|
if success: break
|
||||||
|
print "trying", kodec
|
||||||
|
try:
|
||||||
|
in_fh = codecs.open(self.in_path, 'r', kodec)
|
||||||
in_fh.seek(self.index)
|
in_fh.seek(self.index)
|
||||||
log.debug("Opened in_path: '%s' with %s" % (self.in_path, self.codepage))
|
log.debug("Opened in_path: '%s' with %s" % (self.in_path, kodec))
|
||||||
self.obs = in_fh.read()
|
self.obs = in_fh.read()
|
||||||
self.index = in_fh.tell()
|
self.index = in_fh.tell()
|
||||||
in_fh.close()
|
in_fh.close()
|
||||||
|
success = True
|
||||||
|
except:
|
||||||
|
pass
|
||||||
elif(self.filetype == "xml"):
|
elif(self.filetype == "xml"):
|
||||||
doc = xml.dom.minidom.parse(filename)
|
doc = xml.dom.minidom.parse(filename)
|
||||||
self.doc = doc
|
self.doc = doc
|
||||||
|
|
Loading…
Reference in New Issue
Block a user