mirror of https://github.com/stijndcl/didier
Fix free games
parent
17b6ebac89
commit
dc4ee08b63
|
@ -0,0 +1 @@
|
|||
python 3.9.5
|
|
@ -15,7 +15,7 @@ from didier.utils.types.string import abbreviate
|
|||
|
||||
__all__ = ["SEPARATOR", "FreeGameEmbed"]
|
||||
|
||||
SEPARATOR = " • Free • "
|
||||
SEPARATOR = " is free to claim at "
|
||||
|
||||
|
||||
def _get_store_info(store: str) -> tuple[Optional[str], discord.Colour]:
|
||||
|
@ -48,7 +48,7 @@ def _get_store_info(store: str) -> tuple[Optional[str], discord.Colour]:
|
|||
class FreeGameEmbed(EmbedPydantic):
|
||||
"""Embed for free games"""
|
||||
|
||||
dc_identifier: int
|
||||
id: int
|
||||
link: str
|
||||
title: str
|
||||
|
||||
|
@ -103,15 +103,13 @@ class FreeGameEmbed(EmbedPydantic):
|
|||
inline=False,
|
||||
)
|
||||
|
||||
embed.add_field(name="Open in browser", value=f"[{self.link}]({self.link})")
|
||||
embed.add_field(name="Open in browser", value=self.link)
|
||||
|
||||
if self.store_page.xdg_open_url is not None:
|
||||
embed.add_field(
|
||||
name="Open in app", value=f"[{self.store_page.xdg_open_url}]({self.store_page.xdg_open_url})"
|
||||
)
|
||||
embed.add_field(name="Open in app", value=self.store_page.xdg_open_url)
|
||||
else:
|
||||
embed.title = self.name
|
||||
embed.add_field(name="Open in browser", value=f"[{self.link}]({self.link})")
|
||||
embed.add_field(name="Open in browser", value=self.link)
|
||||
|
||||
embed.url = self.link
|
||||
|
||||
|
|
|
@ -16,7 +16,7 @@ __all__ = ["fetch_free_games"]
|
|||
|
||||
async def fetch_free_games(http_session: ClientSession, database_session: AsyncSession) -> list[FreeGameEmbed]:
|
||||
"""Get a fresh list of free games"""
|
||||
url = "https://pepeizqdeals.com/?call_custom_simple_rss=1&csrp_cat=12"
|
||||
url = "https://pepeizqdeals.com/rss-en.xml"
|
||||
async with http_session.get(url) as response:
|
||||
if response.status != HTTPStatus.OK:
|
||||
logger.error("Free games GET-request failed with status code %d." % response.status)
|
||||
|
@ -34,7 +34,7 @@ async def fetch_free_games(http_session: ClientSession, database_session: AsyncS
|
|||
|
||||
game = FreeGameEmbed.model_validate(entry)
|
||||
games.append(game)
|
||||
game_ids.append(game.dc_identifier)
|
||||
game_ids.append(game.id)
|
||||
|
||||
# Filter out games that we already know
|
||||
filtered_ids = await filter_present_games(database_session, game_ids)
|
||||
|
@ -42,7 +42,7 @@ async def fetch_free_games(http_session: ClientSession, database_session: AsyncS
|
|||
# Insert new games into the database
|
||||
await add_free_games(database_session, filtered_ids)
|
||||
|
||||
games = list(filter(lambda x: x.dc_identifier in filtered_ids, games))
|
||||
games = list(filter(lambda x: x.id in filtered_ids, games))
|
||||
|
||||
# Look up additional info
|
||||
for game in games:
|
||||
|
|
Loading…
Reference in New Issue