[65] more small fixes

pull/1315/head
meisnate12 1 year ago
parent eb48b4baa1
commit 06fa440b32

@ -86,14 +86,10 @@ jobs:
git tag ${{ steps.get_version.outputs.VERSION }}
git push origin ${{ steps.get_version.outputs.VERSION }}
- name: Get Changelog
id: notes
run: echo 'NOTES=$(cat CHANGELOG)' >> $GITHUB_OUTPUT
- name: Create release
id: create_release
uses: softprops/action-gh-release@v1
with:
body: ${{ steps.notes.outputs.NOTES }}
body_path: CHANGELOG
token: ${{ secrets.PAT }}
tag_name: ${{ steps.get_version.outputs.VERSION }}

@ -1 +1 @@
1.18.3-develop64
1.18.3-develop65

@ -138,8 +138,16 @@ and `assets/Movies/Star Wars/poster.png` and `assets/Movies/Star Wars.png` are b
</table>
## Create Asset Folders
Whilst searching for assets, if an asset folder cannot be found within the `asset_directory`, create one. This only applies to library items utilized in a Metadata/Playlist file (i.e. Star Wars Collection)
* This may create hundreds/thousands of folders if `plex_all` is used, which can cause performance issues when loading the directory.
Whilst searching for assets, if an asset folder cannot be found within the `asset_directory` one will be created.
Asset Searches can happen in a number of ways.
* Any Collection specified under the `collections` header in a Metadata File.
* Any Item specified under the `metadata` header in a Metadata File.
* Any Playlist specified under the `playlists` header in a Playlist File.
* Any Item in a library that is running the `assets_for_all` Library Operation.
* Any Item that has an Overlay applied to it.
* Any Item found by a Builder while the definition also has `item_assets: true` specified.
<table class="dualTable colwidths-auto align-default table">
<tr>

@ -6,7 +6,7 @@ All the following attributes update various details of the definition's Metadata
| Attribute | Description & Values |
|:-----------------------|:-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| `tmdb_person` | **Description:** Changes summary and poster to a TMDb Person's biography and profile as well as allow the people specified to be used in [Plex Searches](../builders/plex.md#plex-search).<br>**Values:** TMDb Person ID (List or Comma-separated string) |
| `tmdb_person` | **Description:** Changes summary and poster to a TMDb Person's biography and profile to the first specified person as well as allow the people specified to be used in [Plex Searches](../builders/plex.md#plex-search).<br>**Values:** TMDb Person ID or Actor Name (Will pull the first ID from the TMDb search results) (List or Comma-separated string) |
| `tmdb_person_offset` | **Description:** Offsets which search results are used by `tmdb_person`.<br>**Values:** Any Number greater then 0<br>**Default:** 0 |
| `sort_title` | **Description:** Changes the sort title.<br>You can "promote" certain collections to the top of a library by creating a sort title starting with a `+` or "demote" certain collections to the bottom of a library by creating a sort title starting with a `~`.<br>**Values:** Text to change Sort Title |
| `content_rating` | **Description:** Changes the content rating.<br>**Values:** Text to change Content Rating |

@ -591,6 +591,7 @@ class CollectionBuilder:
else:
self.sync = self.data[methods["sync_mode"]].lower() == "sync"
self.tmdb_person_offset = 0
if "tmdb_person_offset" in methods:
logger.debug("")
logger.debug("Validating Method: tmdb_person_offset")

@ -133,9 +133,11 @@ class DataFile:
if os.path.exists(os.path.abspath(os.path.join(defaults_path, default_folder, file_path))):
file_path = os.path.abspath(os.path.join(defaults_path, default_folder, file_path))
break
content_path = os.path.abspath(f"{file_path}/default.yml" if translation else file_path)
content_path = os.path.abspath(os.path.join(file_path, "default.yml") if translation else file_path)
dir_path = file_path
if not os.path.exists(content_path):
if os.path.exists(os.path.join("config", content_path)):
content_path = os.path.join("config", content_path)
if file_type == "PMM Default":
raise Failed(f"File Error: Default does not exist {file_path}")
else:
@ -595,7 +597,7 @@ class MetadataFile(DataFile):
else:
logger.info("")
logger.separator(f"Loading Metadata {file_type}: {path}")
logger.debug("")
logger.info("")
data = self.load_file(self.type, self.path)
self.metadata = get_dict("metadata", data, library.metadatas)
self.templates = get_dict("templates", data)
@ -959,6 +961,7 @@ class MetadataFile(DataFile):
logger.debug(f"Sync: {sync}")
logger.debug(f"Include: {include}")
logger.debug(f"Other Name: {other_name}")
logger.debug(f"All Keys: {all_keys.keys()}")
if not auto_list:
raise Failed("No Keys found to create a set of Dynamic Collections")
logger.debug(f"Keys (Title):")
@ -1588,7 +1591,7 @@ class PlaylistFile(DataFile):
self.data_type = "Playlist"
logger.info("")
logger.info(f"Loading Playlist {file_type}: {path}")
logger.debug("")
logger.info("")
data = self.load_file(self.type, self.path)
self.playlists = get_dict("playlists", data, self.config.playlist_names)
self.templates = get_dict("templates", data)
@ -1606,7 +1609,7 @@ class OverlayFile(DataFile):
self.file_num = len(library.overlay_files)
logger.info("")
logger.info(f"Loading Overlay {self.file_num} {file_type}: {path}")
logger.debug("")
logger.info("")
data = self.load_file(self.type, self.path, overlay=True)
self.overlays = get_dict("overlays", data)
self.templates = get_dict("templates", data)

@ -437,7 +437,7 @@ class Operations:
item.editField("studio", None, locked=self.library.mass_studio_update == "remove")
batch_display += f"\nStudio | None"
elif self.library.mass_studio_update in ["unlock", "reset"] and "studio" in locked_fields:
self.library.edit_query(item, {"originalTitle.locked": 0})
self.library.edit_query(item, {"studio.locked": 0})
batch_display += f"\nStudio | Unlocked"
elif self.library.mass_studio_update in ["lock", "remove"] and "studio" not in locked_fields:
self.library.edit_query(item, {"studio.locked": 1})

@ -301,7 +301,7 @@ class Webhooks:
"embeds": [
{
"title": title,
"color": 844716
"color": 0x00bc8c
}
],
"username": "Metabot",

Loading…
Cancel
Save