From 18ddf5b5549b82dc2a94da08a3f40b0dd3f2b868 Mon Sep 17 00:00:00 2001 From: Yarne Coppens Date: Sun, 6 Oct 2024 09:36:49 +0200 Subject: [PATCH] Fixed crash when board game has no representing image --- src/modules/bgg_connection.py | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/src/modules/bgg_connection.py b/src/modules/bgg_connection.py index 0d165e3..4420cda 100644 --- a/src/modules/bgg_connection.py +++ b/src/modules/bgg_connection.py @@ -98,13 +98,24 @@ def convert_xml_to_boardgame(boardgame_xml: ET.Element) -> boardgame_classes.Boa artist = people_classes.Artist(id=artist_id, name=artist_name) artists.append(artist) + if boardgame_xml.find('image') != None: + image_url = boardgame_xml.find('image').text + else: + image_url = "https://cf.geekdo-images.com/zxVVmggfpHJpmnJY9j-k1w__thumb/img/Tse35rOD2Z8Pv9EOUj4TfeMuNew=/fit-in/200x150/filters:strip_icc()/pic1657689.jpg" + + if boardgame_xml.find('thumbnail') != None: + thumbnail_url = boardgame_xml.find('thumbnail').text + else: + thumbnail_url = "https://cf.geekdo-images.com/zxVVmggfpHJpmnJY9j-k1w__thumb/img/Tse35rOD2Z8Pv9EOUj4TfeMuNew=/fit-in/200x150/filters:strip_icc()/pic1657689.jpg" + + boardgame_dict = { "id" : int(boardgame_xml.get('id')), "name" : boardgame_xml.find('name').get('value'), "weight": boardgame_xml.find('statistics').find('ratings').find('averageweight').get('value'), "description" : html.unescape(boardgame_xml.find('description').text), - "image_url" : boardgame_xml.find('image').text, - "thumbnail_url" : boardgame_xml.find('thumbnail').text, + "image_url" : image_url, + "thumbnail_url" : thumbnail_url, "year_published" : int(boardgame_xml.find('yearpublished').get('value')), "min_players" : int(boardgame_xml.find('minplayers').get('value')), "max_players" : int(boardgame_xml.find('maxplayers').get('value')),