[4] fix webhooks and rating operations

pull/1255/head
meisnate12 2 years ago
parent 903288f464
commit d3d655a4e6

@ -1 +1 @@
1.18.2-develop3 1.18.2-develop4

@ -291,7 +291,8 @@ class Operations:
if found_rating is None: if found_rating is None:
logger.info(f"No {display} Found") logger.info(f"No {display} Found")
else: else:
if f"{current:.1f}" != f"{found_rating:.1f}": found_rating = f"{float(found_rating):.1f}"
if str(current) != found_rating:
item.editField(item_attr, found_rating) item.editField(item_attr, found_rating)
return f"\n{display} | {found_rating}" return f"\n{display} | {found_rating}"
return "" return ""
@ -690,9 +691,11 @@ class Operations:
if found_rating is None: if found_rating is None:
logger.info(f"No {display} Found") logger.info(f"No {display} Found")
elif str(current) != str(found_rating): else:
ep.editField(item_attr, found_rating) found_rating = f"{float(found_rating):.1f}"
return f"\n{display} | {found_rating}" if str(current) != found_rating:
ep.editField(item_attr, found_rating)
return f"\n{display} | {found_rating}"
return "" return ""
if self.library.mass_episode_audience_rating_update: if self.library.mass_episode_audience_rating_update:

@ -140,7 +140,7 @@ class Webhooks:
}) })
def slack(self, json): def slack(self, json):
if "end_time" in json: if json["event"] == "run_end":
title = ":white_check_mark: Plex Meta Manager Has Finished a Run" title = ":white_check_mark: Plex Meta Manager Has Finished a Run"
rows = [ rows = [
[("*Start Time*", json["start_time"]), ("*End Time*", json["end_time"]), ("*Run Time*", json["run_time"])], [("*Start Time*", json["start_time"]), ("*End Time*", json["end_time"]), ("*Run Time*", json["run_time"])],
@ -158,10 +158,10 @@ class Webhooks:
if json["added_to_sonarr"]: if json["added_to_sonarr"]:
rows.append([("*Added To Sonarr*", json['added_to_sonarr'])]) rows.append([("*Added To Sonarr*", json['added_to_sonarr'])])
elif "start_time" in json: elif json["event"] == "run_start":
title = ":information_source: Plex Meta Manager Has Started!" title = ":information_source: Plex Meta Manager Has Started!"
rows = [[("*Start Time*", json["start_time"])]] rows = [[("*Start Time*", json["start_time"])]]
elif "current" in json: elif json["event"] == "version":
title = "Plex Meta Manager Has a New Version Available" title = "Plex Meta Manager Has a New Version Available"
rows = [ rows = [
[("*Current Version*", json["current"]), ("*Latest Version*", json["latest"])], [("*Current Version*", json["current"]), ("*Latest Version*", json["latest"])],
@ -183,35 +183,34 @@ class Webhooks:
row1.append(("*Playlist Name*", json["playlist"])) row1.append(("*Playlist Name*", json["playlist"]))
if row1: if row1:
rows.append(row1) rows.append(row1)
if "error" in json: if json["event"] == "delete":
title = json["message"]
elif "error" in json:
title = f":warning: Plex Meta Manager Encountered {'a Critical' if json['critical'] else 'an'} Error" title = f":warning: Plex Meta Manager Encountered {'a Critical' if json['critical'] else 'an'} Error"
rows.append([]) rows.append([])
rows.append([(json["error"], )]) rows.append([(json["error"], )])
else: else:
if json["deleted"]: title = f"{':heavy_plus_sign:' if json['created'] else ':infinity:'} A {text} has Been {'Created' if json['created'] else 'Modified'}!"
title = f":heavy_minus_sign: A {text} has Been Deleted!"
else:
title = f"{':heavy_plus_sign:' if json['created'] else ':infinity:'} A {text} has Been {'Created' if json['created'] else 'Modified'}!"
def get_field_text(items_list): def get_field_text(items_list):
field_text = "" field_text = ""
for i, item in enumerate(items_list, 1): for i, item in enumerate(items_list, 1):
if "tmdb_id" in item: if "tmdb_id" in item:
field_text += f"\n{i}. [{item['title']}](https://www.themoviedb.org/movie/{item['tmdb_id']})" field_text += f"\n{i}. [{item['title']}](https://www.themoviedb.org/movie/{item['tmdb_id']})"
elif "tvdb_id" in item: elif "tvdb_id" in item:
field_text += f"\n{i}. [{item['title']}](https://www.thetvdb.com/dereferrer/series/{item['tvdb_id']})" field_text += f"\n{i}. [{item['title']}](https://www.thetvdb.com/dereferrer/series/{item['tvdb_id']})"
else: else:
field_text += f"\n{i}. {item['title']}" field_text += f"\n{i}. {item['title']}"
return field_text return field_text
if json["additions"]: if json["additions"]:
rows.append([]) rows.append([])
rows.append([("*Items Added*", " ")]) rows.append([("*Items Added*", " ")])
rows.append([(get_field_text(json["additions"]), )]) rows.append([(get_field_text(json["additions"]), )])
if json["removals"]: if json["removals"]:
rows.append([]) rows.append([])
rows.append([("*Items Removed*", " ")]) rows.append([("*Items Removed*", " ")])
rows.append([(get_field_text(json["removals"]), )]) rows.append([(get_field_text(json["removals"]), )])
new_json = { new_json = {
"text": title, "text": title,
@ -240,7 +239,7 @@ class Webhooks:
def discord(self, json): def discord(self, json):
description = None description = None
rows = [] rows = []
if "end_time" in json: if json["event"] == "run_end":
title = "Run Completed" title = "Run Completed"
rows = [ rows = [
[("Start Time", json["start_time"]), ("End Time", json["end_time"]), ("Run Time", json["run_time"])], [("Start Time", json["start_time"]), ("End Time", json["end_time"]), ("Run Time", json["run_time"])],
@ -251,10 +250,10 @@ class Webhooks:
rows.append([(f"{json['added_to_radarr']} Movies Added To Radarr", None)]) rows.append([(f"{json['added_to_radarr']} Movies Added To Radarr", None)])
if json["added_to_sonarr"]: if json["added_to_sonarr"]:
rows.append([(f"{json['added_to_sonarr']} Series Added To Sonarr", None)]) rows.append([(f"{json['added_to_sonarr']} Series Added To Sonarr", None)])
elif "start_time" in json: elif json["event"] == "run_start":
title = "Run Started" title = "Run Started"
description = json["start_time"] description = json["start_time"]
elif "current" in json: elif json["event"] == "version":
title = "New Version Available" title = "New Version Available"
rows = [ rows = [
[("Current", json["current"]), ("Latest", json["latest"])], [("Current", json["current"]), ("Latest", json["latest"])],
@ -275,30 +274,29 @@ class Webhooks:
row1.append(("Playlist", json["playlist"])) row1.append(("Playlist", json["playlist"]))
if row1: if row1:
rows.append(row1) rows.append(row1)
if "error" in json: if json["event"] == "delete":
title = json["message"]
elif "error" in json:
title = f"{'Critical ' if json['critical'] else ''}Error" title = f"{'Critical ' if json['critical'] else ''}Error"
rows.append([("Error Message", json["error"])]) rows.append([("Error Message", json["error"])])
else: else:
if json["deleted"]: title = f"{text} {'Created' if json['created'] else 'Modified'}"
title = f"{text} Deleted"
else:
title = f"{text} {'Created' if json['created'] else 'Modified'}"
def get_field_text(items_list): def get_field_text(items_list):
field_text = "" field_text = ""
for i, item in enumerate(items_list, 1): for i, item in enumerate(items_list, 1):
if "tmdb_id" in item: if "tmdb_id" in item:
field_text += f"\n{i}. [{item['title']}](https://www.themoviedb.org/movie/{item['tmdb_id']})" field_text += f"\n{i}. [{item['title']}](https://www.themoviedb.org/movie/{item['tmdb_id']})"
elif "tvdb_id" in item: elif "tvdb_id" in item:
field_text += f"\n{i}. [{item['title']}](https://www.thetvdb.com/dereferrer/series/{item['tvdb_id']})" field_text += f"\n{i}. [{item['title']}](https://www.thetvdb.com/dereferrer/series/{item['tvdb_id']})"
else: else:
field_text += f"\n{i}. {item['title']}" field_text += f"\n{i}. {item['title']}"
return field_text return field_text
if json["additions"]: if json["additions"]:
rows.append([("Items Added", get_field_text(json["additions"]))]) rows.append([("Items Added", get_field_text(json["additions"]))])
if json["removals"]: if json["removals"]:
rows.append([("Items Removed", get_field_text(json["removals"]))]) rows.append([("Items Removed", get_field_text(json["removals"]))])
new_json = { new_json = {
"embeds": [ "embeds": [
{ {

Loading…
Cancel
Save