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"] | __all__ = ["SEPARATOR", "FreeGameEmbed"] | ||||||
| 
 | 
 | ||||||
| SEPARATOR = " • Free • " | SEPARATOR = " is free to claim at " | ||||||
| 
 | 
 | ||||||
| 
 | 
 | ||||||
| def _get_store_info(store: str) -> tuple[Optional[str], discord.Colour]: | 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): | class FreeGameEmbed(EmbedPydantic): | ||||||
|     """Embed for free games""" |     """Embed for free games""" | ||||||
| 
 | 
 | ||||||
|     dc_identifier: int |     id: int | ||||||
|     link: str |     link: str | ||||||
|     title: str |     title: str | ||||||
| 
 | 
 | ||||||
|  | @ -103,15 +103,13 @@ class FreeGameEmbed(EmbedPydantic): | ||||||
|                     inline=False, |                     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: |             if self.store_page.xdg_open_url is not None: | ||||||
|                 embed.add_field( |                 embed.add_field(name="Open in app", value=self.store_page.xdg_open_url) | ||||||
|                     name="Open in app", value=f"[{self.store_page.xdg_open_url}]({self.store_page.xdg_open_url})" |  | ||||||
|                 ) |  | ||||||
|         else: |         else: | ||||||
|             embed.title = self.name |             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 |         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]: | async def fetch_free_games(http_session: ClientSession, database_session: AsyncSession) -> list[FreeGameEmbed]: | ||||||
|     """Get a fresh list of free games""" |     """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: |     async with http_session.get(url) as response: | ||||||
|         if response.status != HTTPStatus.OK: |         if response.status != HTTPStatus.OK: | ||||||
|             logger.error("Free games GET-request failed with status code %d." % response.status) |             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) |         game = FreeGameEmbed.model_validate(entry) | ||||||
|         games.append(game) |         games.append(game) | ||||||
|         game_ids.append(game.dc_identifier) |         game_ids.append(game.id) | ||||||
| 
 | 
 | ||||||
|     # Filter out games that we already know |     # Filter out games that we already know | ||||||
|     filtered_ids = await filter_present_games(database_session, game_ids) |     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 |     # Insert new games into the database | ||||||
|     await add_free_games(database_session, filtered_ids) |     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 |     # Look up additional info | ||||||
|     for game in games: |     for game in games: | ||||||
|  |  | ||||||
		Loading…
	
		Reference in New Issue