def gameFromRow(self, row): game = Game(row['name'], int(row['wos_id'])) game.setPublisher(row['publisher']) if 'author' in row.keys(): game.setAuthor(row['author']) game.setYear(row['year']) game.setGenre(row['genre']) game.setNumberOfPlayers(row['number_of_players']) game.setMachineType(row['machine_type']) game.setLanguage(row['language']) game.setAvailability(row['availability']) game.x_rated = row['x_rated'] game.addRelease(self.releaseFromRow(row, game)) if 'multiplayer_type' in row.keys(): game.setMultiplayerType(row['multiplayer_type']) if 'tipshop_page' in row.keys(): game.tipshop_page = row['tipshop_page'] game.tipshop_multiface_pokes_section = row[ 'tipshop_multiface_pokes_section'] if game.tipshop_page or row['pok_file_contents']: game.importPokFile(text=str(row['pok_file_contents'])) if row['md5']: file = self.fileFromRow(row) game.addFile(file) if file.part > game.parts: game.parts = file.part return game
def getGamesFromRawData(self, raw_data): games = [] game = Game() release = GameRelease() for row in raw_data: if game.zxdb_id != row['wos_id']: if game.zxdb_id: games.append(game) game = self.gameFromRow(row) game.releases = [] release = self.releaseFromRow(row, game) game.addRelease(release) if release.release_seq != row['release_seq']: release = self.releaseFromRow(row, game) game.addRelease(release) file = self.fileFromRow(row) if file: game.addFile(file, release_seq=row['release_seq']) if file.part > game.parts: game.parts = file.part if game.zxdb_id: games.append(game) return games