raise FpdbHandDuplicate error on duplicate insert attempt, catch it in import_file_dict, increment duplicates count

This commit is contained in:
Eric Blade 2010-01-28 05:56:17 -05:00
parent d36ac3f927
commit 3381527afc
2 changed files with 14 additions and 13 deletions

View File

@ -229,8 +229,7 @@ db: a connected Database object"""
# TourneysPlayers
else:
log.info("Hand.insert(): hid #: %s is a duplicate" % hh['siteHandNo'])
#Raise Duplicate exception?
pass
raise FpdbHandDuplicate(hh['siteHandNo'])
def updateHudCache(self, db):
db.storeHudCache(self.dbid_gt, self.dbid_pids, self.starttime, self.stats.getHandsPlayers())
@ -1597,4 +1596,3 @@ ORDER BY
return h

View File

@ -437,13 +437,15 @@ class Importer:
for hand in handlist:
if hand is not None:
#try, except duplicates here?
hand.prepInsert(self.database)
hand.insert(self.database)
if self.callHud and hand.dbid_hands != 0:
to_hud.append(hand.dbid_hands)
else:
try:
hand.insert(self.database)
except Exceptions.FpdbHandDuplicate:
duplicates += 1
else:
if self.callHud and hand.dbid_hands != 0:
to_hud.append(hand.dbid_hands)
else: # TODO: Treat empty as an error, or just ignore?
log.error("Hand processed but empty")
self.database.commit()
# Call hudcache update if not in bulk import mode
@ -461,6 +463,7 @@ class Importer:
errors = getattr(hhc, 'numErrors')
stored = getattr(hhc, 'numHands')
stored -= duplicates
else:
# conversion didn't work
# TODO: appropriate response?