Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions AnilistPython/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -187,7 +187,7 @@ def print_character_info(self, character_name, manual_select=False):
self.character.displayCharacterInfo(character_name, manual_select)

# Manga =====================================================================================================================
def get_manga_id(self, manga_name, manual_select=False) -> int:
def get_manga_id(self, manga_name, manual_select=False, eliminateLNconflict=True) -> int:
'''
Displays all character data.
Auto formats the displayed version of the data.
Expand All @@ -197,9 +197,9 @@ def get_manga_id(self, manga_name, manual_select=False) -> int:
:return: the id of the manga
:rtype: int
'''
return self.manga.getMangaID(manga_name, manual_select)
return self.manga.getMangaID(manga_name, manual_select, eliminateLNconflict)

def get_manga(self, manga_name, manual_select=False) -> dict:
def get_manga(self, manga_name, manual_select=False, eliminateLNconflict=True) -> dict:
'''
Retrieve manga info in the form of a dictionary.

Expand All @@ -209,7 +209,7 @@ def get_manga(self, manga_name, manual_select=False) -> dict:
:rtype: dict
'''

return self.manga.getManga(manga_name, manual_select)
return self.manga.getManga(manga_name, manual_select, eliminateLNconflict)

def get_manga_with_id(self, manga_id) -> dict:
'''
Expand Down
55 changes: 4 additions & 51 deletions AnilistPython/anime.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,54 +23,7 @@ def getAnime(self, anime_name, manual_select=False) -> dict:
if anime_id == -1:
return None

data = self.extractInfo.anime(anime_id)
media_lvl = data['data']['Media']

name_romaji = media_lvl['title']['romaji']
name_english = media_lvl['title']['english']

start_year = media_lvl['startDate']['year']
start_month = media_lvl['startDate']['month']
start_day = media_lvl['startDate']['day']

end_year = media_lvl['endDate']['year']
end_month = media_lvl['endDate']['month']
end_day = media_lvl['endDate']['day']

starting_time = f'{start_month}/{start_day}/{start_year}'
ending_time = f'{end_month}/{end_day}/{end_year}'

cover_image = media_lvl['coverImage']['large']
banner_image = media_lvl['bannerImage']

airing_format = media_lvl['format']
airing_status = media_lvl['status']
airing_episodes = media_lvl['episodes']
season = media_lvl['season']

desc = media_lvl['description']

average_score = media_lvl['averageScore']
genres = media_lvl['genres']

next_airing_ep = media_lvl['nextAiringEpisode']

anime_dict = {"name_romaji": name_romaji,
"name_english": name_english,
"starting_time": starting_time,
"ending_time": ending_time,
"cover_image": cover_image,
"banner_image": banner_image,
"airing_format": airing_format,
"airing_status": airing_status,
"airing_episodes": airing_episodes,
"season": season,
"desc": desc,
"average_score": average_score,
"genres": genres,
"next_airing_ep": next_airing_ep,}

return anime_dict
return self.getAnimeWithID(anime_id)


def getAnimeWithID(self, anime_id) -> dict:
Expand Down Expand Up @@ -143,7 +96,7 @@ def getAnimeID(self, anime_name, manual_select=False):
'''

# if manual select is turned off ============================================================================
if manual_select == False:
if not manual_select:
anime_list = []
data = self.extractID.anime(anime_name)
for i in range(len(data['data']['Page']['media'])):
Expand All @@ -159,7 +112,7 @@ def getAnimeID(self, anime_name, manual_select=False):
return anime_ID

# if manual select is turned on =============================================================================
elif manual_select == True:
elif manual_select:
data = self.extractID.anime(anime_name)
max_result = 0
counter = 0 # number of displayed results from search
Expand Down Expand Up @@ -213,4 +166,4 @@ def displayAnimeInfo(self, anime_name, manual_select=False):
print("============================ ANIME INFO ============================")
for key, value in ani_dict.items():
print(f"{arr[counter]}: {value}")
counter += 1
counter += 1
20 changes: 2 additions & 18 deletions AnilistPython/character.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,23 +23,7 @@ def getCharacter(self, character_name, manual_select=False) -> dict:
if character_id == -1:
return None

data = self.extractInfo.character(character_id)
character_lvl = data['data']['Character']

first_name = character_lvl['name']['first']
last_name = character_lvl['name']['last']
native_name = character_lvl['name']['native']

desc = character_lvl['description']
image = character_lvl['image']['large']

character_dict = {"first_name": first_name,
"last_name": last_name,
"native_name": native_name,
"desc": desc,
"image": image,}

return character_dict
return self.getCharacterWithID(character_id)


def getCharacterWithID(self, character_id) -> dict:
Expand Down Expand Up @@ -156,4 +140,4 @@ def displayCharacterInfo(self, character_name, manual_select=False):
print("============================ CHARACTER INFO ============================")
for key, value in char_dict.items():
print(f"{arr[counter]}: {value}")
counter += 1
counter += 1
60 changes: 18 additions & 42 deletions AnilistPython/manga.py
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ def __init__(self, access_info, activated=True):
self.extractID = ExtractID(access_info, activated)


def getManga(self, manga_name, manual_select=False):
def getManga(self, manga_name, manual_select=False, eliminateLNconflict=True):
'''
Retrieve character info in the form of a json object.
Retrieve json object will be reformatted in a easily accessable json obj.
Expand All @@ -20,45 +20,11 @@ def getManga(self, manga_name, manual_select=False):
'''
manga_dict = {}

manga_id = self.getMangaID(manga_name, manual_select)
manga_id = self.getMangaID(manga_name, manual_select, eliminateLNconflict)
if manga_id == -1:
return None

data = self.extractInfo.manga(manga_id)
media_lvl = data['data']['Media']

manga_dict['name_romaji'] = media_lvl['title']['romaji']
manga_dict['name_english'] = media_lvl['title']['english']

start_year = media_lvl['startDate']['year']
start_month = media_lvl['startDate']['month']
start_day = media_lvl['startDate']['day']

end_year = media_lvl['endDate']['year']
end_month = media_lvl['endDate']['month']
end_day = media_lvl['endDate']['day']

manga_dict['starting_time'] = f'{start_month}/{start_day}/{start_year}'
manga_dict['ending_time'] = f'{end_month}/{end_day}/{end_year}'

manga_dict['cover_image'] = media_lvl['coverImage']['large']
manga_dict['banner_image'] = media_lvl['bannerImage']

manga_dict['release_format'] = media_lvl['format']
manga_dict['release_status'] = media_lvl['status']

manga_dict['chapters'] = media_lvl['chapters']
manga_dict['volumes'] = media_lvl['volumes']

manga_dict['desc'] = media_lvl['description']

manga_dict['average_score'] = media_lvl['averageScore']
manga_dict['mean_score'] = media_lvl['meanScore']

manga_dict['genres'] = media_lvl['genres']
manga_dict['synonyms'] = media_lvl['synonyms']

return manga_dict
return self.getMangaWithID(manga_id)


def getMangaWithID(self, manga_id) -> dict:
Expand Down Expand Up @@ -109,7 +75,7 @@ def getMangaWithID(self, manga_id) -> dict:
return manga_dict


def getMangaID(self, manga_name, manual_select=False):
def getMangaID(self, manga_name, manual_select=False, eliminateLNconflict=True):
'''
Retrieves the character ID on Anilist.

Expand All @@ -118,7 +84,7 @@ def getMangaID(self, manga_name, manual_select=False):
:rtype: int
'''

if manual_select == False:
if not manual_select:
manga_list = []
data = self.extractID.manga(manga_name)
for i in range(len(data['data']['Page']['media'])):
Expand All @@ -136,13 +102,17 @@ def getMangaID(self, manga_name, manual_select=False):
return manga_ID


elif manual_select == True:
elif manual_select:
max_result = 0
counter = 0 # number of displayed results from search
data = self.extractID.manga(manga_name)
for i in range(len(data['data']['Page']['media'])):
curr_manga = data['data']['Page']['media'][i]['title']['romaji']
print(f"{counter + 1}. {curr_manga}")
if eliminateLNconflict: # Left on by default but just in case if someone is short on time or something
print(f"{counter + 1}. {curr_manga}" + (" (Light Novel)" if self.is_light_novel(data['data']['Page']['media'][i]['id']) else ""))
elif not eliminateLNconflict:
print(f"{counter + 1}. {curr_manga}")

max_result = i + 1
counter += 1

Expand Down Expand Up @@ -191,4 +161,10 @@ def displayMangaInfo(self, manga_name, manual_select=False):
print("============================== MANGA INFO ==============================")
for key, value in manga_dict.items():
print(f"{arr[counter]}: {value}")
counter += 1
counter += 1

def is_light_novel(self, id) -> bool:
data = self.extractInfo.manga(id)
media_lvl = data['data']['Media']
if media_lvl['format'] == 'NOVEL':
return True