cleaner and compacter dict building
This commit is contained in:
parent
ad6a8b3523
commit
b7cb1a0c64
|
@ -130,8 +130,6 @@ class ListParser():
|
|||
file_item_tech = []
|
||||
|
||||
for file_item in filelist:
|
||||
file_name = path.basename(file_item['Path'])
|
||||
duration_min = round(file_item['RunTimeTicks'] / 600000000)
|
||||
# loop through media sources
|
||||
for i in file_item['MediaSources']:
|
||||
if i['Protocol'] == 'File':
|
||||
|
@ -147,14 +145,15 @@ class ListParser():
|
|||
# found it
|
||||
break
|
||||
# technical csv
|
||||
tech_dict = {}
|
||||
tech_dict['file_name'] = file_name
|
||||
tech_dict['duration_min'] = duration_min
|
||||
tech_dict['filesize_MB'] = filesize
|
||||
tech_dict['image_width'] = image_width
|
||||
tech_dict['image_height'] = image_height
|
||||
tech_dict['avg_bitrate_MB'] = avg_bitrate
|
||||
tech_dict['codec'] = codec
|
||||
tech_dict = {
|
||||
'file_name': path.basename(file_item['Path']),
|
||||
'duration_min': round(file_item['RunTimeTicks'] / 600000000),
|
||||
'filesize_MB': filesize,
|
||||
'image_width': image_width,
|
||||
'image_height': image_height,
|
||||
'avg_bitrate_MB': avg_bitrate,
|
||||
'codec': codec
|
||||
}
|
||||
file_item_tech.append(tech_dict)
|
||||
|
||||
# sort and return
|
||||
|
@ -171,20 +170,14 @@ class ListParser():
|
|||
|
||||
for movie in all_movies:
|
||||
|
||||
movie_name = movie['Name']
|
||||
year = movie['Path'].split('/')[3]
|
||||
overview = movie['Overview']
|
||||
imdb = movie['ProviderIds']['Imdb']
|
||||
genres = ', '.join(movie['Genres'])
|
||||
duration_min = round(movie['RunTimeTicks'] / 600000000)
|
||||
|
||||
info_dict = {}
|
||||
info_dict['movie_name'] = movie_name
|
||||
info_dict['year'] = year
|
||||
info_dict['imdb'] = imdb
|
||||
info_dict['genres'] = genres
|
||||
info_dict['overview'] = overview
|
||||
info_dict['duration_min'] = duration_min
|
||||
info_dict = {
|
||||
'movie_name': movie['Name'],
|
||||
'year': movie['Path'].split('/')[3],
|
||||
'imdb': movie['ProviderIds']['Imdb'],
|
||||
'genres': ', '.join(movie['Genres']),
|
||||
'overview': movie['Overview'],
|
||||
'duration_min': round(movie['RunTimeTicks'] / 600000000)
|
||||
}
|
||||
movie_info.append(info_dict)
|
||||
|
||||
# sort and return
|
||||
|
@ -198,8 +191,6 @@ class ListParser():
|
|||
episode_info = []
|
||||
|
||||
for episode in all_episodes:
|
||||
episode_name = episode['Name']
|
||||
file_name = path.basename(episode['Path'])
|
||||
try:
|
||||
episode_id = episode['IndexNumber']
|
||||
except KeyError:
|
||||
|
@ -214,22 +205,19 @@ class ListParser():
|
|||
imdb = episode['ProviderIds']['Imdb']
|
||||
except KeyError:
|
||||
imdb = 'NA'
|
||||
genres = ', '.join(episode['Genres'])
|
||||
season_name = episode['SeasonName']
|
||||
series_name = episode['SeriesName']
|
||||
duration_min = round(episode['RunTimeTicks'] / 600000000)
|
||||
|
||||
# info csv
|
||||
info_dict = {}
|
||||
info_dict['series_name'] = series_name
|
||||
info_dict['season_name'] = season_name
|
||||
info_dict['episode_id'] = episode_id
|
||||
info_dict['episode_name'] = episode_name
|
||||
info_dict['file_name'] = file_name
|
||||
info_dict['imdb'] = imdb
|
||||
info_dict['genres'] = genres
|
||||
info_dict['overview'] = overview
|
||||
info_dict['duration_min'] = duration_min
|
||||
info_dict = {
|
||||
'episode_id': episode_id,
|
||||
'overview': overview,
|
||||
'imdb': imdb,
|
||||
'episode_name': episode['Name'],
|
||||
'file_name': path.basename(episode['Path']),
|
||||
'genres': ', '.join(episode['Genres']),
|
||||
'series_name': episode['SeriesName'],
|
||||
'season_name': episode['SeasonName'],
|
||||
'duration_min': round(episode['RunTimeTicks'] / 600000000)
|
||||
}
|
||||
episode_info.append(info_dict)
|
||||
|
||||
# sort and return
|
||||
|
|
|
@ -60,11 +60,12 @@ class MovieNameFix():
|
|||
if premier_year != file_year:
|
||||
error = True
|
||||
if error:
|
||||
error_dict = {}
|
||||
error_dict['old_year'] = file_year
|
||||
error_dict['old_name'] = file_name
|
||||
error_dict['new_year'] = premier_year
|
||||
error_dict['new_name'] = f'{emby_name} ({premier_year}){ext}'
|
||||
error_dict = {
|
||||
'old_year': file_year,
|
||||
'old_name': file_name,
|
||||
'new_year': premier_year,
|
||||
'new_name': f'{emby_name} ({premier_year}){ext}'
|
||||
}
|
||||
errors.append(error_dict)
|
||||
return errors
|
||||
|
||||
|
|
|
@ -157,11 +157,12 @@ class MovieIdentify():
|
|||
moviename = self.filename.split(year)[0].rstrip('.')
|
||||
moviename_encoded = self.encode_moviename(moviename)
|
||||
# build file_parsed dict
|
||||
file_parsed = {}
|
||||
file_parsed['moviename'] = moviename
|
||||
file_parsed['moviename_encoded'] = moviename_encoded
|
||||
file_parsed['year'] = int(year)
|
||||
file_parsed['file_ext'] = file_ext
|
||||
file_parsed = {
|
||||
'moviename': moviename,
|
||||
'moviename_encoded': moviename_encoded,
|
||||
'year': int(year),
|
||||
'file_ext': file_ext
|
||||
}
|
||||
return file_parsed
|
||||
|
||||
@ staticmethod
|
||||
|
@ -234,10 +235,11 @@ class MovieIdentify():
|
|||
name_dedected = result['title']
|
||||
new_moviename = f'{name_dedected} ({year_dedected})'
|
||||
new_filename = f'{new_moviename}{file_ext}'
|
||||
movie_details = {}
|
||||
movie_details['new_moviename'] = new_moviename
|
||||
movie_details['new_filename'] = new_filename
|
||||
movie_details['year_dedected'] = year_dedected
|
||||
movie_details = {
|
||||
'new_moviename': new_moviename,
|
||||
'new_filename': new_filename,
|
||||
'year_dedected': year_dedected
|
||||
}
|
||||
return movie_details
|
||||
|
||||
|
||||
|
|
|
@ -33,8 +33,10 @@ class TrailerHandler():
|
|||
trailing_pattern = re.compile(trailing_reg)
|
||||
youtube_id = trailing_pattern.findall(trailer_name)[0][1]
|
||||
movie_name = movie['Path'].split('/')[-2]
|
||||
trailer_details = {'movie_name': movie_name,
|
||||
'youtube_id': youtube_id}
|
||||
trailer_details = {
|
||||
'movie_name': movie_name,
|
||||
'youtube_id': youtube_id
|
||||
}
|
||||
local_trailer_list.append(trailer_details)
|
||||
return local_trailer_list
|
||||
|
||||
|
@ -54,8 +56,10 @@ class TrailerHandler():
|
|||
for remote_trailer in remote_trailers:
|
||||
url = remote_trailer['Url']
|
||||
youtube_id = url.split('?v=')[1]
|
||||
trailer_details = {'movie_name': movie_name,
|
||||
'youtube_id': youtube_id}
|
||||
trailer_details = {
|
||||
'movie_name': movie_name,
|
||||
'youtube_id': youtube_id
|
||||
}
|
||||
remote_trailers_list.append(trailer_details)
|
||||
return remote_trailers_list
|
||||
|
||||
|
@ -69,8 +73,10 @@ class TrailerHandler():
|
|||
for trailer_line in trailer_lines:
|
||||
youtube_id = trailer_line.split()[0]
|
||||
movie_name = trailer_line.lstrip(youtube_id).strip()
|
||||
trailer_details = {'movie_name': movie_name,
|
||||
'youtube_id': youtube_id}
|
||||
trailer_details = {
|
||||
'movie_name': movie_name,
|
||||
'youtube_id': youtube_id
|
||||
}
|
||||
ignore_trailer_list.append(trailer_details)
|
||||
return ignore_trailer_list
|
||||
|
||||
|
|
|
@ -133,16 +133,15 @@ class Episode():
|
|||
filename = self.filename
|
||||
season, episode, season_id, id_style = Static.split_file_name(filename)
|
||||
showname = filename.split(season_id)[0]
|
||||
ext = os.path.splitext(filename)[1]
|
||||
encoded = Static.showname_encoder(showname)
|
||||
# build file_parsed dict
|
||||
file_parsed = {}
|
||||
file_parsed['showname'] = encoded
|
||||
file_parsed['season'] = season
|
||||
file_parsed['episode'] = episode
|
||||
file_parsed['season_id'] = season_id
|
||||
file_parsed['id_style'] = id_style
|
||||
file_parsed['ext'] = ext
|
||||
file_parsed = {
|
||||
'season': season,
|
||||
'episode': episode,
|
||||
'season_id': season_id,
|
||||
'id_style': id_style,
|
||||
'showname': Static.showname_encoder(showname),
|
||||
'ext': ext = os.path.splitext(filename)[1]
|
||||
}
|
||||
# return dict
|
||||
return file_parsed
|
||||
|
||||
|
@ -154,22 +153,19 @@ class Episode():
|
|||
# loop through results
|
||||
all_results = []
|
||||
for idx, result in enumerate(request):
|
||||
list_id = idx
|
||||
show_id = result['show']['id']
|
||||
showname_clean = result['show']['name']
|
||||
status = result['show']['status']
|
||||
desc_raw = result['show']['summary']
|
||||
# filter out basic html tags
|
||||
try:
|
||||
desc = re.sub('<[^<]+?>', '', desc_raw)
|
||||
except TypeError:
|
||||
desc = desc_raw
|
||||
result_dict = {}
|
||||
result_dict['list_id'] = list_id
|
||||
result_dict['show_id'] = show_id
|
||||
result_dict['showname_clean'] = showname_clean
|
||||
result_dict['desc'] = desc
|
||||
result_dict['status'] = status
|
||||
result_dict = {
|
||||
'list_id': idx,
|
||||
'show_id': result['show']['id'],
|
||||
'showname_clean': result['show']['name'],
|
||||
'status': result['show']['status'],
|
||||
'desc': desc
|
||||
}
|
||||
all_results.append(result_dict)
|
||||
# return all_results dict
|
||||
return all_results
|
||||
|
@ -218,12 +214,13 @@ class Episode():
|
|||
if not show_id and not showname_clean:
|
||||
show_id, showname_clean = self.pick_show_id()
|
||||
season, episode, episode_name = self.get_episode_name(show_id)
|
||||
episode_details = {}
|
||||
episode_details['show_id'] = show_id
|
||||
episode_details['showname_clean'] = showname_clean
|
||||
episode_details['season'] = season
|
||||
episode_details['episode'] = episode
|
||||
episode_details['episode_name'] = episode_name
|
||||
episode_details = {
|
||||
'show_id': show_id,
|
||||
'showname_clean': showname_clean,
|
||||
'season': season,
|
||||
'episode': episode,
|
||||
'episode_name': episode_name
|
||||
}
|
||||
return episode_details
|
||||
|
||||
def multi_parser(self, show_id):
|
||||
|
@ -322,11 +319,11 @@ class TvHandler():
|
|||
# add to discovered
|
||||
showname = episode.file_parsed['showname']
|
||||
showname_clean = episode.episode_details['showname_clean']
|
||||
show_id = episode.episode_details['show_id']
|
||||
discovered_item = {}
|
||||
discovered_item['showname'] = showname
|
||||
discovered_item['showname_clean'] = showname_clean
|
||||
discovered_item['show_id'] = show_id
|
||||
discovered_item = {
|
||||
'showname': showname
|
||||
'showname_clean': showname_clean
|
||||
'show_id': episode.episode_details['show_id']
|
||||
}
|
||||
self.discovered.append(discovered_item)
|
||||
identified.append(episode)
|
||||
print(filename)
|
||||
|
|
Loading…
Reference in New Issue