mirror of
https://github.com/blacktwin/JBOPS.git
synced 2025-12-11 19:37:18 +00:00
Refactor episode merging logic to improve summary handling and enforce environment variable checks
This commit is contained in:
parent
2cb9707dd8
commit
1831077c4c
@ -79,19 +79,22 @@ def group_episodes(plex, library, show, renumber, composite_thumb):
|
||||
startIndex = episode.index
|
||||
|
||||
for index, (first, *episodes) in enumerate(groups.values(), start=startIndex):
|
||||
titles_toMerge.append(first.title)
|
||||
titlesSort_toMerge.append(first.titleSort)
|
||||
summary = first.summary + '\n\n'
|
||||
titles_toMerge = [first.title]
|
||||
titlesSort_toMerge = [first.titleSort]
|
||||
summary = [first.summary]
|
||||
writers = []
|
||||
directors = []
|
||||
|
||||
for episode in episodes:
|
||||
titles_toMerge.append(episode.title)
|
||||
titlesSort_toMerge.append(episode.titleSort)
|
||||
summary += episode.summary + '\n\n'
|
||||
summary.append(episode.summary)
|
||||
writers.extend([writer.tag for writer in episode.writers])
|
||||
directors.extend([director.tag for director in episode.directors])
|
||||
|
||||
writers = list(set(writers))
|
||||
directors = list(set(directors))
|
||||
|
||||
if episodes:
|
||||
if composite_thumb:
|
||||
firstImgFile = download_image(
|
||||
@ -108,7 +111,7 @@ def group_episodes(plex, library, show, renumber, composite_thumb):
|
||||
first.batchEdits() \
|
||||
.editTitle(merge_titles(titles_toMerge)) \
|
||||
.editSortTitle(merge_titles(titlesSort_toMerge)) \
|
||||
.editSummary(summary[:-2]) \
|
||||
.editSummary('\n\n'.join(summary) \
|
||||
.editContentRating(first.contentRating) \
|
||||
.editOriginallyAvailable(first.originallyAvailableAt) \
|
||||
.addWriter(writers) \
|
||||
@ -154,6 +157,8 @@ def merge_titles(titles):
|
||||
|
||||
|
||||
def merge(first, episodes):
|
||||
if not episodes:
|
||||
return
|
||||
key = '%s/merge?ids=%s' % (first.key, ','.join([str(r.ratingKey) for r in episodes]))
|
||||
first._server.query(key, method=first._server._session.put)
|
||||
|
||||
@ -240,12 +245,16 @@ if __name__ == '__main__':
|
||||
parser.add_argument('--library', required=True)
|
||||
parser.add_argument('--show', required=True)
|
||||
parser.add_argument('--renumber', action='store_true')
|
||||
parser.add_argument('--composite_thumb', action='store_true')
|
||||
parser.add_argument('--composite-thumb', action='store_true')
|
||||
opts = parser.parse_args()
|
||||
|
||||
if opts.composite_thumb and not hasPIL:
|
||||
print('PIL is not installed. Please install `pillow` to create composite thumbnails.')
|
||||
exit(1)
|
||||
|
||||
if not PLEX_URL or not PLEX_TOKEN:
|
||||
print('Please set PLEX_URL and PLEX_TOKEN environment variables or edit the script to include your Plex server URL and token.')
|
||||
exit(1)
|
||||
|
||||
plex = PlexServer(PLEX_URL, PLEX_TOKEN)
|
||||
group_episodes(plex, **vars(opts))
|
||||
|
||||
Loading…
Reference in New Issue
Block a user