-
-
Notifications
You must be signed in to change notification settings - Fork 1
/
Copy pathtest_trakt_titles.py
56 lines (48 loc) · 2.08 KB
/
test_trakt_titles.py
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
from cli_battery.app.trakt_metadata import TraktMetadata
from cli_battery.app.direct_api import DirectAPI
import logging
import json
import time
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
def test_show_metadata():
# Test with Lioness
imdb_id = "tt13111078"
# Run the test twice to verify caching
for i in range(2):
logger.info(f"\n=== Run #{i+1} ===")
logger.info(f"Testing show metadata for Lioness (IMDb ID: {imdb_id})")
# Test DirectAPI functionality first
logger.info("\nTesting DirectAPI get_show_aliases:")
api = DirectAPI()
aliases, source = api.get_show_aliases(imdb_id)
if aliases:
logger.info(f"Aliases from DirectAPI (source: {source}):")
logger.info(json.dumps(aliases, indent=2))
else:
logger.warning("No aliases found through DirectAPI")
# Test TraktMetadata functionality for comparison
logger.info("\nTesting TraktMetadata aliases:")
trakt = TraktMetadata()
show_data = trakt._get_show_data(imdb_id)
if show_data and 'ids' in show_data:
slug = show_data['ids']['slug']
aliases = trakt._get_show_aliases(slug)
if aliases:
logger.info("Show aliases from TraktMetadata:")
logger.info(json.dumps(aliases, indent=2))
else:
logger.warning("No aliases found through TraktMetadata")
# Test full show metadata to verify aliases are included
logger.info("\nTesting full show metadata:")
show_metadata = trakt.get_show_metadata(imdb_id)
if show_metadata and 'aliases' in show_metadata:
logger.info("Aliases in full show metadata:")
logger.info(json.dumps(show_metadata['aliases'], indent=2))
else:
logger.warning("No aliases found in full show metadata")
if i == 0:
logger.info("\nWaiting 2 seconds before second run...")
time.sleep(2)
if __name__ == "__main__":
test_show_metadata()