@@ -9,7 +9,7 @@ def __init__(self, access_info, activated=True):
99 self .extractID = ExtractID (access_info , activated )
1010
1111
12- def getManga (self , manga_name , manual_select = False ):
12+ def getManga (self , manga_name , manual_select = False , eliminateLNconflict = True ):
1313 '''
1414 Retrieve character info in the form of a json object.
1515 Retrieve json object will be reformatted in a easily accessable json obj.
@@ -20,45 +20,11 @@ def getManga(self, manga_name, manual_select=False):
2020 '''
2121 manga_dict = {}
2222
23- manga_id = self .getMangaID (manga_name , manual_select )
23+ manga_id = self .getMangaID (manga_name , manual_select , eliminateLNconflict )
2424 if manga_id == - 1 :
2525 return None
2626
27- data = self .extractInfo .manga (manga_id )
28- media_lvl = data ['data' ]['Media' ]
29-
30- manga_dict ['name_romaji' ] = media_lvl ['title' ]['romaji' ]
31- manga_dict ['name_english' ] = media_lvl ['title' ]['english' ]
32-
33- start_year = media_lvl ['startDate' ]['year' ]
34- start_month = media_lvl ['startDate' ]['month' ]
35- start_day = media_lvl ['startDate' ]['day' ]
36-
37- end_year = media_lvl ['endDate' ]['year' ]
38- end_month = media_lvl ['endDate' ]['month' ]
39- end_day = media_lvl ['endDate' ]['day' ]
40-
41- manga_dict ['starting_time' ] = f'{ start_month } /{ start_day } /{ start_year } '
42- manga_dict ['ending_time' ] = f'{ end_month } /{ end_day } /{ end_year } '
43-
44- manga_dict ['cover_image' ] = media_lvl ['coverImage' ]['large' ]
45- manga_dict ['banner_image' ] = media_lvl ['bannerImage' ]
46-
47- manga_dict ['release_format' ] = media_lvl ['format' ]
48- manga_dict ['release_status' ] = media_lvl ['status' ]
49-
50- manga_dict ['chapters' ] = media_lvl ['chapters' ]
51- manga_dict ['volumes' ] = media_lvl ['volumes' ]
52-
53- manga_dict ['desc' ] = media_lvl ['description' ]
54-
55- manga_dict ['average_score' ] = media_lvl ['averageScore' ]
56- manga_dict ['mean_score' ] = media_lvl ['meanScore' ]
57-
58- manga_dict ['genres' ] = media_lvl ['genres' ]
59- manga_dict ['synonyms' ] = media_lvl ['synonyms' ]
60-
61- return manga_dict
27+ return self .getMangaWithID (manga_id )
6228
6329
6430 def getMangaWithID (self , manga_id ) -> dict :
@@ -109,7 +75,7 @@ def getMangaWithID(self, manga_id) -> dict:
10975 return manga_dict
11076
11177
112- def getMangaID (self , manga_name , manual_select = False ):
78+ def getMangaID (self , manga_name , manual_select = False , eliminateLNconflict = True ):
11379 '''
11480 Retrieves the character ID on Anilist.
11581
@@ -118,7 +84,7 @@ def getMangaID(self, manga_name, manual_select=False):
11884 :rtype: int
11985 '''
12086
121- if manual_select == False :
87+ if not manual_select :
12288 manga_list = []
12389 data = self .extractID .manga (manga_name )
12490 for i in range (len (data ['data' ]['Page' ]['media' ])):
@@ -136,13 +102,17 @@ def getMangaID(self, manga_name, manual_select=False):
136102 return manga_ID
137103
138104
139- elif manual_select == True :
105+ elif manual_select :
140106 max_result = 0
141107 counter = 0 # number of displayed results from search
142108 data = self .extractID .manga (manga_name )
143109 for i in range (len (data ['data' ]['Page' ]['media' ])):
144110 curr_manga = data ['data' ]['Page' ]['media' ][i ]['title' ]['romaji' ]
145- print (f"{ counter + 1 } . { curr_manga } " )
111+ if eliminateLNconflict : # Left on by default but just in case if someone is short on time or something
112+ print (f"{ counter + 1 } . { curr_manga } " + (" (Light Novel)" if self .is_light_novel (data ['data' ]['Page' ]['media' ][i ]['id' ]) else "" ))
113+ elif not eliminateLNconflict :
114+ print (f"{ counter + 1 } . { curr_manga } " )
115+
146116 max_result = i + 1
147117 counter += 1
148118
@@ -191,4 +161,10 @@ def displayMangaInfo(self, manga_name, manual_select=False):
191161 print ("============================== MANGA INFO ==============================" )
192162 for key , value in manga_dict .items ():
193163 print (f"{ arr [counter ]} : { value } " )
194- counter += 1
164+ counter += 1
165+
166+ def is_light_novel (self , id ) -> bool :
167+ data = self .extractInfo .manga (id )
168+ media_lvl = data ['data' ]['Media' ]
169+ if media_lvl ['format' ] == 'NOVEL' :
170+ return True
0 commit comments