mirror of
https://github.com/meisnate12/Plex-Meta-Manager
synced 2024-11-10 06:54:21 +00:00
[22] plex
attributes clean_bundles
, empty_trash
, and optimize
can now take any schedule options to be run only when desired.
This commit is contained in:
parent
33b92f2a2d
commit
aa6d861049
4 changed files with 40 additions and 23 deletions
|
@ -16,6 +16,7 @@ Trakt Builder `trakt_userlist` value `recommendations` removed and `favorites` a
|
|||
Mass Update operations now can be given a list of sources to fall back on when one fails including a manual source.
|
||||
`mass_content_rating_update` has a new source `mdb_age_rating`
|
||||
`mass_originally_available_update` has a new source `mdb_digital`
|
||||
`plex` attributes `clean_bundles`, `empty_trash`, and `optimize` can now take any schedule options to be run only when desired.
|
||||
|
||||
# Defaults
|
||||
|
||||
|
|
2
VERSION
2
VERSION
|
@ -1 +1 @@
|
|||
1.20.0-develop21
|
||||
1.20.0-develop22
|
||||
|
|
|
@ -22,15 +22,15 @@ plex:
|
|||
optimize: false
|
||||
```
|
||||
|
||||
| Attribute | Allowed Values | Default | Required |
|
||||
|:----------------|:------------------------------------------------------------------------|:--------|:------------------------------------------:|
|
||||
| `url` | Plex Server URL<br><strong>Example:</strong> http://192.168.1.12:32400 | N/A | :fontawesome-solid-circle-check:{ .green } |
|
||||
| `token` | Plex Server Authentication Token | N/A | :fontawesome-solid-circle-check:{ .green } |
|
||||
| `timeout` | Plex Server Timeout | 60 | :fontawesome-solid-circle-xmark:{ .red } |
|
||||
| `db_cache` | Plex Server Database Cache Size | None | :fontawesome-solid-circle-xmark:{ .red } |
|
||||
| `clean_bundles` | Runs Clean Bundles on the Server after all Collection Files are run | false | :fontawesome-solid-circle-xmark:{ .red } |
|
||||
| `empty_trash` | Runs Empty Trash on the Server after all Collection Files are run | false | :fontawesome-solid-circle-xmark:{ .red } |
|
||||
| `optimize` | Runs Optimize on the Server after all Collection Files are run | false | :fontawesome-solid-circle-xmark:{ .red } |
|
||||
| Attribute | Allowed Values | Default | Required |
|
||||
|:----------------|:-------------------------------------------------------------------------------------------------------------------------------|:--------|:------------------------------------------:|
|
||||
| `url` | Plex Server URL<br><strong>Example:</strong> http://192.168.1.12:32400 | N/A | :fontawesome-solid-circle-check:{ .green } |
|
||||
| `token` | Plex Server Authentication Token | N/A | :fontawesome-solid-circle-check:{ .green } |
|
||||
| `timeout` | Plex Server Timeout | 60 | :fontawesome-solid-circle-xmark:{ .red } |
|
||||
| `db_cache` | Plex Server Database Cache Size | None | :fontawesome-solid-circle-xmark:{ .red } |
|
||||
| `clean_bundles` | Runs Clean Bundles on the Server after all Collection Files are run<br>(`true`, `false` or Any [schedule option](schedule.md)) | false | :fontawesome-solid-circle-xmark:{ .red } |
|
||||
| `empty_trash` | Runs Empty Trash on the Server after all Collection Files are run<br>(`true`, `false` or Any [schedule option](schedule.md)) | false | :fontawesome-solid-circle-xmark:{ .red } |
|
||||
| `optimize` | Runs Optimize on the Server after all Collection Files are run<br>(`true`, `false` or Any [schedule option](schedule.md)) | false | :fontawesome-solid-circle-xmark:{ .red } |
|
||||
|
||||
???+ warning
|
||||
|
||||
|
|
|
@ -739,11 +739,17 @@ class ConfigFile:
|
|||
"url": check_for_attribute(self.data, "url", parent="plex", var_type="url", default_is_none=True),
|
||||
"token": check_for_attribute(self.data, "token", parent="plex", default_is_none=True),
|
||||
"timeout": check_for_attribute(self.data, "timeout", parent="plex", var_type="int", default=60),
|
||||
"db_cache": check_for_attribute(self.data, "db_cache", parent="plex", var_type="int", default_is_none=True),
|
||||
"clean_bundles": check_for_attribute(self.data, "clean_bundles", parent="plex", var_type="bool", default=False),
|
||||
"empty_trash": check_for_attribute(self.data, "empty_trash", parent="plex", var_type="bool", default=False),
|
||||
"optimize": check_for_attribute(self.data, "optimize", parent="plex", var_type="bool", default=False)
|
||||
"db_cache": check_for_attribute(self.data, "db_cache", parent="plex", var_type="int", default_is_none=True)
|
||||
}
|
||||
for attr in ["clean_bundles", "empty_trash", "optimize"]:
|
||||
try:
|
||||
self.general["plex"][attr] = check_for_attribute(self.data, attr, parent="plex", var_type="bool", default=False, throw=True)
|
||||
except Failed as e:
|
||||
if "plex" in self.data and attr in self.data["plex"] and self.data["plex"][attr]:
|
||||
self.general["plex"][attr] = self.data["plex"][attr]
|
||||
else:
|
||||
self.general["plex"][attr] = False
|
||||
logger.warning(str(e).replace("Error", "Warning"))
|
||||
self.general["radarr"] = {
|
||||
"url": check_for_attribute(self.data, "url", parent="radarr", var_type="url", default_is_none=True),
|
||||
"token": check_for_attribute(self.data, "token", parent="radarr", default_is_none=True),
|
||||
|
@ -956,15 +962,15 @@ class ConfigFile:
|
|||
sources = [sources]
|
||||
try:
|
||||
for source in sources:
|
||||
if source == "omdb" and self.OMDb is None:
|
||||
if source and source == "omdb" and self.OMDb is None:
|
||||
raise Failed(f"{source} without a successful OMDb Connection")
|
||||
if source and source.startswith("mdb") and not self.Mdblist.has_key:
|
||||
if source and str(source).startswith("mdb") and not self.Mdblist.has_key:
|
||||
raise Failed(f"{source} without a successful MdbList Connection")
|
||||
if source and source.startswith("anidb") and not self.AniDB.is_authorized:
|
||||
if source and str(source).startswith("anidb") and not self.AniDB.is_authorized:
|
||||
raise Failed(f"{source} without a successful AniDB Connection")
|
||||
if source and source.startswith("mal") and self.MyAnimeList is None:
|
||||
if source and str(source).startswith("mal") and self.MyAnimeList is None:
|
||||
raise Failed(f"{source} without a successful MyAnimeList Connection")
|
||||
if source and source.startswith("trakt") and self.Trakt is None:
|
||||
if source and str(source).startswith("trakt") and self.Trakt is None:
|
||||
raise Failed(f"{source} without a successful Trakt Connection")
|
||||
except Failed as e:
|
||||
logger.error(f"Config Error: {mass_key} cannot use {e}")
|
||||
|
@ -1121,11 +1127,21 @@ class ConfigFile:
|
|||
"url": check_for_attribute(lib, "url", parent="plex", var_type="url", default=self.general["plex"]["url"], req_default=True, save=False),
|
||||
"token": check_for_attribute(lib, "token", parent="plex", default=self.general["plex"]["token"], req_default=True, save=False),
|
||||
"timeout": check_for_attribute(lib, "timeout", parent="plex", var_type="int", default=self.general["plex"]["timeout"], save=False),
|
||||
"db_cache": check_for_attribute(lib, "db_cache", parent="plex", var_type="int", default=self.general["plex"]["db_cache"], default_is_none=True, save=False),
|
||||
"clean_bundles": check_for_attribute(lib, "clean_bundles", parent="plex", var_type="bool", default=self.general["plex"]["clean_bundles"], save=False),
|
||||
"empty_trash": check_for_attribute(lib, "empty_trash", parent="plex", var_type="bool", default=self.general["plex"]["empty_trash"], save=False),
|
||||
"optimize": check_for_attribute(lib, "optimize", parent="plex", var_type="bool", default=self.general["plex"]["optimize"], save=False)
|
||||
"db_cache": check_for_attribute(lib, "db_cache", parent="plex", var_type="int", default=self.general["plex"]["db_cache"], default_is_none=True, save=False)
|
||||
}
|
||||
for attr in ["clean_bundles", "empty_trash", "optimize"]:
|
||||
try:
|
||||
params["plex"][attr] = check_for_attribute(lib, attr, parent="plex", var_type="bool", save=False, throw=True)
|
||||
except Failed as er:
|
||||
test = lib["plex"][attr] if "plex" in lib and attr in lib["plex"] and lib["plex"][attr] else self.general["plex"][attr]
|
||||
params["plex"][attr] = False
|
||||
if test is not True and test is not False:
|
||||
try:
|
||||
util.schedule_check(attr, test, current_time, self.run_hour)
|
||||
params["plex"][attr] = True
|
||||
except NotScheduled:
|
||||
logger.info(f"Skipping Operation Not Scheduled for {test}")
|
||||
|
||||
if params["plex"]["url"].lower() == "env":
|
||||
params["plex"]["url"] = self.env_plex_url
|
||||
if params["plex"]["token"].lower() == "env":
|
||||
|
|
Loading…
Reference in a new issue