aboutsummaryrefslogtreecommitdiff
path: root/read/utils.py
blob: 804c61959bd680e23a95b33cba12fd034425f1f9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import json
import os

import requests
from watch.utils import get_from_redis_cache, store_in_redis_cache


def get_manga_data(manga_id):
    print(f"Fetching manga data: ID={manga_id}")

    cache_key = f"manga_{manga_id}_manga_data"
    manga_data = get_from_redis_cache(cache_key)

    if not manga_data:
        base_url = f"{os.getenv('CONSUMET_URL')}/meta/anilist-manga/info/{manga_id}"
        print(f"Trying URL: {base_url}")
        response = requests.get(base_url, timeout=10)
        manga_data = response.json()

        if "message" in manga_data:
            return None
        
        if "status" in manga_data and manga_data["status"] == "Completed":
            store_in_redis_cache(cache_key, json.dumps(manga_data), 3600 * 24 * 30)
        else:
            store_in_redis_cache(cache_key, json.dumps(manga_data), 3600 * 24)
    else:
        manga_data = json.loads(manga_data)

    return manga_data