fix: filtre content_type, doublons seasonaux, et is_admin manquant
- Bug 1: Ajout du champ 'type' dans les dict de AnimeReleasesFetcher (get_seasonal_anime, get_scheduled_anime, get_top_anime, search_anime) et dans _get_fallback_recommendations pour que le filtre content_type fonctionne correctement - Bug 2: Déduplication par mal_id dans get_seasonal_anime() pour éviter les doublons retournés par l'API Jikan - Bug 3: Ajout de is_admin dans get_current_user_from_token(), get_optional_user(), le constructeur User du register, et la réponse /me
This commit is contained in:
+15
-6
@@ -92,7 +92,12 @@ class AnimeReleasesFetcher:
|
||||
data = response.json()
|
||||
|
||||
anime_list = []
|
||||
for anime in data.get('data', [])[:20]:
|
||||
seen_mal_ids = set()
|
||||
for anime in data.get('data', []):
|
||||
mal_id = anime.get('mal_id')
|
||||
if not mal_id or mal_id in seen_mal_ids:
|
||||
continue
|
||||
seen_mal_ids.add(mal_id)
|
||||
anime_list.append({
|
||||
'title': anime.get('title', ''),
|
||||
'title_japanese': anime.get('title_japanese', ''),
|
||||
@@ -105,9 +110,10 @@ class AnimeReleasesFetcher:
|
||||
'cover_image': self._extract_cover_image(anime),
|
||||
'images': anime.get('images', {}),
|
||||
'url': anime.get('url', ''),
|
||||
'mal_id': anime.get('mal_id')
|
||||
'mal_id': mal_id,
|
||||
'type': anime.get('type', '')
|
||||
})
|
||||
return anime_list
|
||||
return anime_list[:20]
|
||||
except Exception as e:
|
||||
logger.error(f"Error fetching seasonal anime: {e}", exc_info=True)
|
||||
return []
|
||||
@@ -143,7 +149,8 @@ class AnimeReleasesFetcher:
|
||||
'cover_image': self._extract_cover_image(anime),
|
||||
'broadcast': anime.get('broadcast', {}),
|
||||
'url': anime.get('url', ''),
|
||||
'mal_id': anime.get('mal_id')
|
||||
'mal_id': anime.get('mal_id'),
|
||||
'type': anime.get('type', '')
|
||||
})
|
||||
return anime_list
|
||||
except Exception as e:
|
||||
@@ -178,7 +185,8 @@ class AnimeReleasesFetcher:
|
||||
'cover_image': self._extract_cover_image(anime),
|
||||
'images': anime.get('images', {}),
|
||||
'url': anime.get('url', ''),
|
||||
'mal_id': anime.get('mal_id')
|
||||
'mal_id': anime.get('mal_id'),
|
||||
'type': anime.get('type', '')
|
||||
})
|
||||
return anime_list
|
||||
except Exception as e:
|
||||
@@ -209,7 +217,8 @@ class AnimeReleasesFetcher:
|
||||
'cover_image': self._extract_cover_image(anime),
|
||||
'images': anime.get('images', {}),
|
||||
'url': anime.get('url', ''),
|
||||
'mal_id': anime.get('mal_id')
|
||||
'mal_id': anime.get('mal_id'),
|
||||
'type': anime.get('type', '')
|
||||
})
|
||||
return anime_list
|
||||
except Exception as e:
|
||||
|
||||
Reference in New Issue
Block a user