mirror of
https://github.com/meisnate12/Plex-Meta-Manager
synced 2025-02-16 22:08:25 +00:00
Merge remote-tracking branch 'meisnate12/nightly' into nightly
This commit is contained in:
commit
e2b1fef56f
14 changed files with 99 additions and 36 deletions
2
VERSION
2
VERSION
|
@ -1 +1 @@
|
|||
1.19.0-develop103
|
||||
1.19.0-develop106
|
||||
|
|
BIN
defaults/overlays/images/resolution/1080pdvhdr.png
Normal file
BIN
defaults/overlays/images/resolution/1080pdvhdr.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 19 KiB |
BIN
defaults/overlays/images/resolution/480pdvhdr.png
Normal file
BIN
defaults/overlays/images/resolution/480pdvhdr.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 18 KiB |
BIN
defaults/overlays/images/resolution/4kdvhdr.png
Normal file
BIN
defaults/overlays/images/resolution/4kdvhdr.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 16 KiB |
BIN
defaults/overlays/images/resolution/576pdvhdr.png
Normal file
BIN
defaults/overlays/images/resolution/576pdvhdr.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 17 KiB |
BIN
defaults/overlays/images/resolution/720pdvhdr.png
Normal file
BIN
defaults/overlays/images/resolution/720pdvhdr.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 17 KiB |
|
@ -15,26 +15,32 @@ external_templates:
|
|||
conditions:
|
||||
- type: edition_dovetail
|
||||
value:
|
||||
- 4K-DV-HDR
|
||||
- 4K-Plus
|
||||
- 4K-DV
|
||||
- 4K-HDR
|
||||
- 4K
|
||||
- 1080P-DV-HDR
|
||||
- 1080P-Plus
|
||||
- 1080P-DV
|
||||
- 1080P-HDR
|
||||
- 1080P
|
||||
- 720P-DV-HDR
|
||||
- 720P-Plus
|
||||
- 720P-DV
|
||||
- 720P-HDR
|
||||
- 720P
|
||||
- 576P-DV-HDR
|
||||
- 576P-Plus
|
||||
- 576P-DV
|
||||
- 576P-HDR
|
||||
- 576P
|
||||
- 480P-DV-HDR
|
||||
- 480P-Plus
|
||||
- 480P-DV
|
||||
- 480P-HDR
|
||||
- 480P
|
||||
- DV-HDR
|
||||
- Plus
|
||||
- DV
|
||||
- HDR
|
||||
|
@ -197,10 +203,12 @@ templates:
|
|||
conditions:
|
||||
- alt: hdr
|
||||
value: true
|
||||
plus:
|
||||
regex:
|
||||
conditions:
|
||||
- alt: plus
|
||||
value: '(?i)\bhdr10(\+|p(lus)?\b)'
|
||||
- alt: dvhdr
|
||||
value: '(?i)\bdv(\.hdr10?\b)'
|
||||
optional:
|
||||
- all
|
||||
- use_<<key>>
|
||||
|
@ -223,12 +231,16 @@ templates:
|
|||
hdr: <<hdr>>
|
||||
filters:
|
||||
has_dolby_vision: <<dolby_vision>>
|
||||
filepath.regex: <<plus>>
|
||||
filepath.regex:
|
||||
- <<regex>>
|
||||
|
||||
overlays:
|
||||
|
||||
4K-DV-HDR-Dovetail:
|
||||
variables: {key: 4k, alt: dvhdr, weight: 158, type: resolution_dovetail, allowed_libraries: movie}
|
||||
template: [name: resolution, name: standard]
|
||||
4K-Plus-Dovetail:
|
||||
variables: {key: 4k, alt: plus, weight: 160, type: resolution_dovetail, allowed_libraries: movie}
|
||||
variables: {key: 4k, alt: plus, weight: 155, type: resolution_dovetail, allowed_libraries: movie}
|
||||
template: [name: resolution, name: standard]
|
||||
4K-DV-Dovetail:
|
||||
variables: {key: 4k, alt: dv, weight: 150, type: resolution_dovetail, allowed_libraries: movie}
|
||||
|
@ -239,6 +251,9 @@ overlays:
|
|||
4K-Dovetail:
|
||||
variables: {key: 4k, alt: "", weight: 130, type: resolution_dovetail, allowed_libraries: movie}
|
||||
template: [name: resolution, name: standard]
|
||||
1080P-DV-HDR-Dovetail:
|
||||
variables: {key: 1080p, alt: dvhdr, weight: 128, type: resolution_dovetail, allowed_libraries: movie}
|
||||
template: [name: resolution, name: standard]
|
||||
1080P-Plus-Dovetail:
|
||||
variables: {key: 1080p, alt: plus, weight: 125, type: resolution_dovetail, allowed_libraries: movie}
|
||||
template: [name: resolution, name: standard]
|
||||
|
@ -251,6 +266,9 @@ overlays:
|
|||
1080P-Dovetail:
|
||||
variables: {key: 1080p, alt: "", weight: 100, type: resolution_dovetail, allowed_libraries: movie}
|
||||
template: [name: resolution, name: standard]
|
||||
720P-DV-HDR-Dovetail:
|
||||
variables: {key: 720p, alt: dvhdr, weight: 98, type: resolution_dovetail, allowed_libraries: movie}
|
||||
template: [name: resolution, name: standard]
|
||||
720P-Plus-Dovetail:
|
||||
variables: {key: 720p, alt: plus, weight: 95, type: resolution_dovetail, allowed_libraries: movie}
|
||||
template: [name: resolution, name: standard]
|
||||
|
@ -263,6 +281,9 @@ overlays:
|
|||
720P-Dovetail:
|
||||
variables: {key: 720p, alt: "", weight: 70, type: resolution_dovetail, allowed_libraries: movie}
|
||||
template: [name: resolution, name: standard]
|
||||
576P-DV-HDR-Dovetail:
|
||||
variables: {key: 576p, alt: dvhdr, weight: 68, type: resolution_dovetail, allowed_libraries: movie}
|
||||
template: [name: resolution, name: standard]
|
||||
576P-Plus-Dovetail:
|
||||
variables: {key: 576p, alt: plus, weight: 65, type: resolution_dovetail, allowed_libraries: movie}
|
||||
template: [name: resolution, name: standard]
|
||||
|
@ -275,6 +296,9 @@ overlays:
|
|||
576P-Dovetail:
|
||||
variables: {key: 576p, alt: "", weight: 40, type: resolution_dovetail, allowed_libraries: movie}
|
||||
template: [name: resolution, name: standard]
|
||||
480P-DV-HDR-Dovetail:
|
||||
variables: {key: 480p, alt: dvhdr, weight: 38, type: resolution_dovetail, allowed_libraries: movie}
|
||||
template: [name: resolution, name: standard]
|
||||
480P-Plus-Dovetail:
|
||||
variables: {key: 480p, alt: plus, weight: 35, type: resolution_dovetail, allowed_libraries: movie}
|
||||
template: [name: resolution, name: standard]
|
||||
|
@ -287,6 +311,9 @@ overlays:
|
|||
480P-Dovetail:
|
||||
variables: {key: 480p, alt: "", weight: 10, type: resolution_dovetail, allowed_libraries: movie}
|
||||
template: [name: resolution, name: standard]
|
||||
DV-HDR-Dovetail:
|
||||
variables: {key: "", alt: dvhdr, weight: 8, type: resolution_dovetail, all: true, allowed_libraries: movie}
|
||||
template: [name: resolution, name: standard]
|
||||
Plus-Dovetail:
|
||||
variables: {key: "", alt: plus, weight: 7, type: resolution_dovetail, all: true, allowed_libraries: movie}
|
||||
template: [name: resolution, name: standard]
|
||||
|
@ -367,8 +394,11 @@ overlays:
|
|||
variables: {key: ulysses, weight: 6, search: Ulysses, type: edition_dovetail, allowed_libraries: movie}
|
||||
template: [name: edition, name: standard]
|
||||
|
||||
4K-DV-HDR:
|
||||
variables: {key: 4k, alt: dvhdr, weight: 158, type: resolution}
|
||||
template: [name: resolution, name: standard]
|
||||
4K-Plus:
|
||||
variables: {key: 4k, alt: plus, weight: 160, type: resolution}
|
||||
variables: {key: 4k, alt: plus, weight: 155, type: resolution}
|
||||
template: [name: resolution, name: standard]
|
||||
4K-DV:
|
||||
variables: {key: 4k, alt: dv, weight: 150, type: resolution}
|
||||
|
@ -379,6 +409,9 @@ overlays:
|
|||
4K:
|
||||
variables: {key: 4k, alt: "", weight: 130, type: resolution}
|
||||
template: [name: resolution, name: standard]
|
||||
1080P-DV-HDR:
|
||||
variables: {key: 1080p, alt: dvhdr, weight: 128, type: resolution}
|
||||
template: [name: resolution, name: standard]
|
||||
1080P-Plus:
|
||||
variables: {key: 1080p, alt: plus, weight: 125, type: resolution}
|
||||
template: [name: resolution, name: standard]
|
||||
|
@ -391,6 +424,9 @@ overlays:
|
|||
1080P:
|
||||
variables: {key: 1080p, alt: "", weight: 100, type: resolution}
|
||||
template: [name: resolution, name: standard]
|
||||
720P-DV-HDR:
|
||||
variables: {key: 720p, alt: dvhdr, weight: 98, type: resolution}
|
||||
template: [name: resolution, name: standard]
|
||||
720P-Plus:
|
||||
variables: {key: 720p, alt: plus, weight: 95, type: resolution}
|
||||
template: [name: resolution, name: standard]
|
||||
|
@ -403,6 +439,9 @@ overlays:
|
|||
720P:
|
||||
variables: {key: 720p, alt: "", weight: 70, type: resolution}
|
||||
template: [name: resolution, name: standard]
|
||||
576P-DV-HDR:
|
||||
variables: {key: 576p, alt: dvhdr, weight: 68, type: resolution}
|
||||
template: [name: resolution, name: standard]
|
||||
576P-Plus:
|
||||
variables: {key: 576p, alt: plus, weight: 65, type: resolution}
|
||||
template: [name: resolution, name: standard]
|
||||
|
@ -415,6 +454,9 @@ overlays:
|
|||
576P:
|
||||
variables: {key: 576p, alt: "", weight: 40, type: resolution}
|
||||
template: [name: resolution, name: standard]
|
||||
480P-DV-HDR:
|
||||
variables: {key: 480p, alt: dvhdr, weight: 38, type: resolution}
|
||||
template: [name: resolution, name: standard]
|
||||
480P-Plus:
|
||||
variables: {key: 480p, alt: plus, weight: 35, type: resolution}
|
||||
template: [name: resolution, name: standard]
|
||||
|
@ -427,6 +469,9 @@ overlays:
|
|||
480P:
|
||||
variables: {key: 480p, alt: "", weight: 10, type: resolution}
|
||||
template: [name: resolution, name: standard]
|
||||
DV-HDR:
|
||||
variables: {key: "", alt: dvhdr, weight: 8, type: resolution, all: true}
|
||||
template: [name: resolution, name: standard]
|
||||
Plus:
|
||||
variables: {key: "", alt: plus, weight: 7, type: resolution, all: true}
|
||||
template: [name: resolution, name: standard]
|
||||
|
|
|
@ -12,31 +12,37 @@ Recommendations: Editions overlay is designed to use the Editions field within P
|
|||
|
||||
## Supported Resolutions
|
||||
|
||||
| Resolution | Key | Weight |
|
||||
|:-------------|:-------------|:-------|
|
||||
| 4K HDR10+ | `4k_plus` | `160` |
|
||||
| 4K DV | `4k_dv` | `150` |
|
||||
| 4K HDR | `4k_hdr` | `140` |
|
||||
| 4K | `4k` | `130` |
|
||||
| 1080P HDR10+ | `1080p_plus` | `125` |
|
||||
| 1080P DV | `1080p_dv` | `120` |
|
||||
| 1080P HDR | `1080p_hdr` | `110` |
|
||||
| 1080P | `1080p` | `100` |
|
||||
| 720P HDR10+ | `720p_plus` | `95` |
|
||||
| 720P DV | `720p_dv` | `90` |
|
||||
| 720P HDR | `720p_hdr` | `80` |
|
||||
| 720P | `720p` | `70` |
|
||||
| 576P HDR10+ | `576p_plus` | `65` |
|
||||
| 576P DV | `576p_dv` | `60` |
|
||||
| 576P HDR | `576p_hdr` | `50` |
|
||||
| 576P | `576p` | `40` |
|
||||
| 480P HDR10+ | `480p_plus` | `35` |
|
||||
| 480P DV | `480p_dv` | `30` |
|
||||
| 480P HDR | `480p_hdr` | `20` |
|
||||
| 480P | `480p` | `10` |
|
||||
| HDR10+ | `plus` | `7` |
|
||||
| DV | `dv` | `5` |
|
||||
| HDR | `hdr` | `1` |
|
||||
| Resolution | Key | Weight |
|
||||
|:-------------|:--------------|:-------|
|
||||
| 4K DV/HDR | `4k_dvhdr` | `158` |
|
||||
| 4K HDR10+ | `4k_plus` | `155` |
|
||||
| 4K DV | `4k_dv` | `150` |
|
||||
| 4K HDR | `4k_hdr` | `140` |
|
||||
| 4K | `4k` | `130` |
|
||||
| 1080P DV/HDR | `1080p_dvhdr` | `128` |
|
||||
| 1080P HDR10+ | `1080p_plus` | `125` |
|
||||
| 1080P DV | `1080p_dv` | `120` |
|
||||
| 1080P HDR | `1080p_hdr` | `110` |
|
||||
| 1080P | `1080p` | `100` |
|
||||
| 720P DV/HDR | `720p_dvhdr` | `98` |
|
||||
| 720P HDR10+ | `720p_plus` | `95` |
|
||||
| 720P DV | `720p_dv` | `90` |
|
||||
| 720P HDR | `720p_hdr` | `80` |
|
||||
| 720P | `720p` | `70` |
|
||||
| 576P DV/HDR | `576p_dvhdr` | `68` |
|
||||
| 576P HDR10+ | `576p_plus` | `65` |
|
||||
| 576P DV | `576p_dv` | `60` |
|
||||
| 576P HDR | `576p_hdr` | `50` |
|
||||
| 576P | `576p` | `40` |
|
||||
| 480P DV/HDR | `480p_dvhdr` | `38` |
|
||||
| 480P HDR10+ | `480p_plus` | `35` |
|
||||
| 480P DV | `480p_dv` | `30` |
|
||||
| 480P HDR | `480p_hdr` | `20` |
|
||||
| 480P | `480p` | `10` |
|
||||
| DV/HDR | `dvhdr` | `8` |
|
||||
| HDR10+ | `plus` | `7` |
|
||||
| DV | `dv` | `5` |
|
||||
| HDR | `hdr` | `1` |
|
||||
|
||||
## Supported Editions
|
||||
|
||||
|
|
|
@ -54,6 +54,8 @@ This method will start Plex Meta Manager at system startup and will keep the scr
|
|||
|
||||
This is the recommended approach as it allows the user additional control over how and when Plex Meta Manager processes.
|
||||
|
||||
If you don't specify a time, the script will run at 5AM each day. You can change this with the [time-to-run](../environmental.html#time-to-run) runtime flag.
|
||||
|
||||
<details>
|
||||
<summary>Background Run Scheduled Task</summary>
|
||||
|
||||
|
|
|
@ -1158,7 +1158,10 @@ class CollectionBuilder:
|
|||
if summary:
|
||||
self.summaries[method_name] = summary
|
||||
elif method_name == "trakt_description":
|
||||
self.summaries[method_name] = self.config.Trakt.list_description(self.config.Trakt.validate_list(method_data)[0])
|
||||
try:
|
||||
self.summaries[method_name] = self.config.Trakt.list_description(self.config.Trakt.validate_list(method_data)[0])
|
||||
except Failed as e:
|
||||
logger.error(f"Trakt Error: List description not found: {e}")
|
||||
elif method_name == "letterboxd_description":
|
||||
self.summaries[method_name] = self.config.Letterboxd.get_list_description(method_data, self.language)
|
||||
elif method_name == "icheckmovies_description":
|
||||
|
@ -1780,7 +1783,10 @@ class CollectionBuilder:
|
|||
for trakt_list in trakt_lists:
|
||||
self.builders.append(("trakt_list", trakt_list))
|
||||
if method_name.endswith("_details"):
|
||||
self.summaries[method_name] = self.config.Trakt.list_description(trakt_lists[0])
|
||||
try:
|
||||
self.summaries[method_name] = self.config.Trakt.list_description(trakt_lists[0])
|
||||
except Failed as e:
|
||||
logger.error(f"Trakt Error: List description not found: {e}")
|
||||
elif method_name == "trakt_boxoffice":
|
||||
if util.parse(self.Type, method_name, method_data, datatype="bool", default=False):
|
||||
self.builders.append((method_name, 10))
|
||||
|
|
|
@ -466,6 +466,7 @@ class Plex(Library):
|
|||
raise Failed("Plex Error: Plex token is invalid")
|
||||
except ValueError as e:
|
||||
logger.info(f"Plex Error: Plex connection attempt returned 'ValueError'")
|
||||
logger.stacktrace()
|
||||
raise Failed(f"Plex Error: {e}")
|
||||
except (requests.exceptions.ConnectionError, ParseError):
|
||||
logger.info(f"Plex Error: Plex connection attempt returned 'ConnectionError' or 'ParseError'")
|
||||
|
@ -504,7 +505,10 @@ class Plex(Library):
|
|||
self.update_blank_track_titles = False
|
||||
logger.error(f"update_blank_track_titles library operation only works with music libraries")
|
||||
logger.info(f"Connected to library {params['name']}")
|
||||
logger.info(f"Agent: {self.agent}; Scanner: {self.scanner}; ratings source: {self.ratings_source}")
|
||||
logger.info(f"Type: {self.type}")
|
||||
logger.info(f"Agent: {self.agent}")
|
||||
logger.info(f"Scanner: {self.scanner}")
|
||||
logger.info(f"Ratings Source: {self.ratings_source}")
|
||||
|
||||
def notify(self, text, collection=None, critical=True):
|
||||
self.config.notify(text, server=self.PlexServer.friendlyName, library=self.name, collection=collection, critical=critical)
|
||||
|
|
|
@ -252,7 +252,7 @@ class Trakt:
|
|||
try:
|
||||
return self._request(requests.utils.urlparse(data).path)["description"]
|
||||
except Failed:
|
||||
raise Failed(f"Trakt Error: List {data} not found")
|
||||
raise Failed(data)
|
||||
|
||||
def _parse(self, items, typeless=False, item_type=None, trakt_ids=False, ignore_other=False):
|
||||
ids = []
|
||||
|
|
|
@ -604,7 +604,7 @@ def schedule_check(attribute, data, current_time, run_hour, is_all=False):
|
|||
param = match.group(1)
|
||||
if run_time.startswith("hour"):
|
||||
if "-" in run_time:
|
||||
start, end = run_time.split("-")
|
||||
start, end = param.split("-")
|
||||
try:
|
||||
start = int(start)
|
||||
end = int(end)
|
||||
|
|
|
@ -4,7 +4,7 @@ lxml==4.9.3
|
|||
num2words==0.5.12
|
||||
pathvalidate==3.1.0
|
||||
pillow==10.0.0
|
||||
PlexAPI==4.15.0
|
||||
PlexAPI==4.15.1
|
||||
psutil==5.9.5
|
||||
python-dotenv==1.0.0
|
||||
requests==2.31.0
|
||||
|
|
Loading…
Add table
Reference in a new issue