annotate getlist.py @ 35:7ea4b01a2e5c

Update README.md committer: GitHub <noreply@github.com>
author Paper <37962225+mrpapersonic@users.noreply.github.com>
date Thu, 17 Jun 2021 07:39:21 -0400
parents fdbafd3e86d9
children 2aa9614cb39a
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
30
6f784c5d13ce add getlist.py
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
1 import urllib.request, json, re, sys
6f784c5d13ce add getlist.py
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
2
32
fdbafd3e86d9 add tmdb to getlist.py
Paper <mrpapersonic@gmail.com>
parents: 31
diff changeset
3 # Initialize variables
fdbafd3e86d9 add tmdb to getlist.py
Paper <mrpapersonic@gmail.com>
parents: 31
diff changeset
4 key = "f090bb54758cabf231fb605d3e3e0468" # https://github.com/xbmc/metadata.themoviedb.org.python/blob/master/python/lib/tmdbscraper/tmdbapi.py#L36
fdbafd3e86d9 add tmdb to getlist.py
Paper <mrpapersonic@gmail.com>
parents: 31
diff changeset
5
fdbafd3e86d9 add tmdb to getlist.py
Paper <mrpapersonic@gmail.com>
parents: 31
diff changeset
6 # Ask for source
fdbafd3e86d9 add tmdb to getlist.py
Paper <mrpapersonic@gmail.com>
parents: 31
diff changeset
7 if not 2 >= len(sys.argv): source = sys.argv[1]
fdbafd3e86d9 add tmdb to getlist.py
Paper <mrpapersonic@gmail.com>
parents: 31
diff changeset
8 if not 'source' in locals() or not 'source' in globals():
fdbafd3e86d9 add tmdb to getlist.py
Paper <mrpapersonic@gmail.com>
parents: 31
diff changeset
9 source = input("Which website would you like to pull titles from? [tmdb, mal]: ")
fdbafd3e86d9 add tmdb to getlist.py
Paper <mrpapersonic@gmail.com>
parents: 31
diff changeset
10 while source not in ["tmdb", "mal"]:
fdbafd3e86d9 add tmdb to getlist.py
Paper <mrpapersonic@gmail.com>
parents: 31
diff changeset
11 print("Not a valid source! Exiting.")
fdbafd3e86d9 add tmdb to getlist.py
Paper <mrpapersonic@gmail.com>
parents: 31
diff changeset
12 sys.exit()
fdbafd3e86d9 add tmdb to getlist.py
Paper <mrpapersonic@gmail.com>
parents: 31
diff changeset
13
fdbafd3e86d9 add tmdb to getlist.py
Paper <mrpapersonic@gmail.com>
parents: 31
diff changeset
14 # Ask for ID
fdbafd3e86d9 add tmdb to getlist.py
Paper <mrpapersonic@gmail.com>
parents: 31
diff changeset
15 if not 3 >= len(sys.argv): source = sys.argv[2]
31
b5cf08125fd5 add deleteautosave.py
Paper <mrpapersonic@gmail.com>
parents: 30
diff changeset
16 if not 'id' in locals() or not 'id' in globals():
32
fdbafd3e86d9 add tmdb to getlist.py
Paper <mrpapersonic@gmail.com>
parents: 31
diff changeset
17 id = input("What is the ID for your show?: ")
30
6f784c5d13ce add getlist.py
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
18 try:
6f784c5d13ce add getlist.py
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
19 temp = int(id)
6f784c5d13ce add getlist.py
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
20 except:
32
fdbafd3e86d9 add tmdb to getlist.py
Paper <mrpapersonic@gmail.com>
parents: 31
diff changeset
21 print("Not a valid ID! Exiting.")
30
6f784c5d13ce add getlist.py
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
22 sys.exit()
6f784c5d13ce add getlist.py
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
23
32
fdbafd3e86d9 add tmdb to getlist.py
Paper <mrpapersonic@gmail.com>
parents: 31
diff changeset
24 # Scrapers
fdbafd3e86d9 add tmdb to getlist.py
Paper <mrpapersonic@gmail.com>
parents: 31
diff changeset
25 if source == 'tmdb':
fdbafd3e86d9 add tmdb to getlist.py
Paper <mrpapersonic@gmail.com>
parents: 31
diff changeset
26 season = input("Which season do you want?: ") # required because api is... odd
fdbafd3e86d9 add tmdb to getlist.py
Paper <mrpapersonic@gmail.com>
parents: 31
diff changeset
27 try:
fdbafd3e86d9 add tmdb to getlist.py
Paper <mrpapersonic@gmail.com>
parents: 31
diff changeset
28 temp = int(season)
fdbafd3e86d9 add tmdb to getlist.py
Paper <mrpapersonic@gmail.com>
parents: 31
diff changeset
29 except:
fdbafd3e86d9 add tmdb to getlist.py
Paper <mrpapersonic@gmail.com>
parents: 31
diff changeset
30 print("Not a valid season! Exiting.")
fdbafd3e86d9 add tmdb to getlist.py
Paper <mrpapersonic@gmail.com>
parents: 31
diff changeset
31 sys.exit()
fdbafd3e86d9 add tmdb to getlist.py
Paper <mrpapersonic@gmail.com>
parents: 31
diff changeset
32 data = json.loads(urllib.request.urlopen(f'https://api.themoviedb.org/3/tv/{str(id)}?api_key={key}').read().decode())
fdbafd3e86d9 add tmdb to getlist.py
Paper <mrpapersonic@gmail.com>
parents: 31
diff changeset
33 amount = data["number_of_episodes"]
31
b5cf08125fd5 add deleteautosave.py
Paper <mrpapersonic@gmail.com>
parents: 30
diff changeset
34 f = open("list.txt", "w", encoding="utf-8")
b5cf08125fd5 add deleteautosave.py
Paper <mrpapersonic@gmail.com>
parents: 30
diff changeset
35 f.write("")
b5cf08125fd5 add deleteautosave.py
Paper <mrpapersonic@gmail.com>
parents: 30
diff changeset
36 f.close()
32
fdbafd3e86d9 add tmdb to getlist.py
Paper <mrpapersonic@gmail.com>
parents: 31
diff changeset
37 count = 1
fdbafd3e86d9 add tmdb to getlist.py
Paper <mrpapersonic@gmail.com>
parents: 31
diff changeset
38 for i in range(amount): # this may count as spamming the api but i don't care lol
fdbafd3e86d9 add tmdb to getlist.py
Paper <mrpapersonic@gmail.com>
parents: 31
diff changeset
39 with urllib.request.urlopen(f'https://api.themoviedb.org/3/tv/{str(id)}/season/{season}/episode/{count}?api_key={key}') as url:
fdbafd3e86d9 add tmdb to getlist.py
Paper <mrpapersonic@gmail.com>
parents: 31
diff changeset
40 data = json.loads(url.read().decode())
fdbafd3e86d9 add tmdb to getlist.py
Paper <mrpapersonic@gmail.com>
parents: 31
diff changeset
41 f = open("list.txt", "a", encoding="utf-8")
fdbafd3e86d9 add tmdb to getlist.py
Paper <mrpapersonic@gmail.com>
parents: 31
diff changeset
42 f.write(data["name"].replace("?", "?").replace(":", "꞉").replace('"', "“").split("/")[0].rstrip() + "\n")
fdbafd3e86d9 add tmdb to getlist.py
Paper <mrpapersonic@gmail.com>
parents: 31
diff changeset
43 count += 1
fdbafd3e86d9 add tmdb to getlist.py
Paper <mrpapersonic@gmail.com>
parents: 31
diff changeset
44 f.close()
fdbafd3e86d9 add tmdb to getlist.py
Paper <mrpapersonic@gmail.com>
parents: 31
diff changeset
45 if source == 'mal':
fdbafd3e86d9 add tmdb to getlist.py
Paper <mrpapersonic@gmail.com>
parents: 31
diff changeset
46 with urllib.request.urlopen(f"https://api.jikan.moe/v3/anime/{str(id)}/episodes") as url:
fdbafd3e86d9 add tmdb to getlist.py
Paper <mrpapersonic@gmail.com>
parents: 31
diff changeset
47 data = json.loads(url.read().decode())
fdbafd3e86d9 add tmdb to getlist.py
Paper <mrpapersonic@gmail.com>
parents: 31
diff changeset
48 count = 0
fdbafd3e86d9 add tmdb to getlist.py
Paper <mrpapersonic@gmail.com>
parents: 31
diff changeset
49 f = open("list.txt", "w", encoding="utf-8")
fdbafd3e86d9 add tmdb to getlist.py
Paper <mrpapersonic@gmail.com>
parents: 31
diff changeset
50 f.write("")
30
6f784c5d13ce add getlist.py
Paper <mrpapersonic@gmail.com>
parents:
diff changeset
51 f.close()
32
fdbafd3e86d9 add tmdb to getlist.py
Paper <mrpapersonic@gmail.com>
parents: 31
diff changeset
52 for i in range(len(data["episodes"])):
fdbafd3e86d9 add tmdb to getlist.py
Paper <mrpapersonic@gmail.com>
parents: 31
diff changeset
53 f = open("list.txt", "a", encoding="utf-8")
fdbafd3e86d9 add tmdb to getlist.py
Paper <mrpapersonic@gmail.com>
parents: 31
diff changeset
54 f.write(data["episodes"][count]["title"].replace("?", "?").replace(":", "꞉").replace('"', "“").split("/")[0].rstrip() + "\n")
fdbafd3e86d9 add tmdb to getlist.py
Paper <mrpapersonic@gmail.com>
parents: 31
diff changeset
55 count += 1
fdbafd3e86d9 add tmdb to getlist.py
Paper <mrpapersonic@gmail.com>
parents: 31
diff changeset
56 f.close()