def importRecord(self, record): self.log.message('\nImporting record:\n ' + str(record)) for item in record['NewEvents']: self.log.message(str(item)) # Skip over items if item is False: self.log.message('Skipping FALSE item') continue e = GameEvent() e.connectDB() eventID = e.lookupID(item, self.log) if (len(eventID) > 1): # We have more than one record of this player/team/game/minute. # This is a problem. self.log.message('Error: ' + str(len(eventID)) + ' events found during lookup') self.errored += 1 elif (len(eventID) == 1): # We already have a record of this event. # We add that eventID to ensure an update. item['ID'] = eventID[0] e.saveDict(item, self.log) self.updated += 1 else: e.saveDict(item, self.log) self.imported += 1 return True
def test_gameevent_saveDict(): log = Log('test.log') ge = GameEvent() ge.connectDB() # Formats with pytest.raises(RuntimeError) as excinfo: data = 'foo' ge.saveDict(data, log) assert 'saveDict requires a dictionary' in str(excinfo.value) # Insert dummy data data = { 'GameID': 1, 'TeamID': 1, 'PlayerID': 1, 'MinuteID': 1, 'Event': 1, 'Notes': 'DeleteMe' } assert ge.saveDict(data, log) is True assert ge.db.warnings() is None # Updates data = { 'ID': 2, 'GameID': 0, 'TeamID': 0, 'PlayerID': 0, 'MinuteID': 0, 'Event': 0, 'Notes': 'EditMe' } assert ge.saveDict(data, log) is True assert ge.db.warnings() is None # Delete dummy data sql = "DELETE FROM tbl_gameevents WHERE Notes = 'DeleteMe'" ge.db.query(sql, ())