Releases: CollinHeist/TitleCardMaker
Releases · CollinHeist/TitleCardMaker
v1.8.0
Major Changes
- Create new
RomanNumeralTitleCard
card type based off the Devilman Crybaby style I posted herecard_type
identifier isroman
orroman numeral
- Utilizes the episode text to create the roman numeral, so
episode_text_format
should be either{episode_number}
(the default) or{abs_number}
- Technically doesn't go beyond ~3,000, but that seems like a non-issue..
- Example of the card:
- Similar to
LogoTitleCard
, aspects of the card can be customized usingextras
, like so:font: color: "#000000" extras: background: white roman_numeral_color: "#4489C2"
- Also supports blurring, for example:
- Made separator between season/episode text modifiable in
AnimeTitleCard
,StandardTitleCard
, andLogoTitleCard
- Use
separator
extra like so:extras: separator: "-"
- Use
- Starting rewriting some of the Wiki pages to have collapsible menus (for easier navigation) - finished Getting Started Page
Major Fixes
- Fix manual season poster creation failing on non-default font size/kernings
Minor Changes
- Updated multi-part episode title detection
- Made separator character optional in detecting titles like
Title - Part 1
- Match written numbers for titles like
Title Part One
- Made separator character optional in detecting titles like
- Use episode number if absolute number is present in an episode text format string but episode has no absolute number
- Add seconds option to frequency scheduling (i.e.
--frequency 30s
)- Not useful or intended for main TCM scheduling, eventually useful for #194
Minor Fixes
- Fix super edge case title modification for titles starting with numbers and entirely numerical episode text formats
- Fix for templates with nested values being improperly copied
v1.7.4
Major Changes
- Improve bug issue template
- Default to no color (
--no-color
) in the Docker container - Allow for multiple translations per-series
- Specify as a list of translations, like:
translation: - language: es key: spanish - language: ja key: japanese
- Specify as a list of translations, like:
Major Fixes
- Properly get source images from unauthorized/trusted Plex servers
- Plex-sourced images from servers requiring a Plex X-Token were returning junk source images
- Fix bad Unraid template value for missing file
Minor Changes
- Create season posters in archives (was just libraries)
- Critically error for bad Plex tokens
- Log source image downloading at
DEBUG
log level
Minor Fixes
- Fix for syntax error on custom colors on season posters
- Cleanly handle runtime permission errors
- Fix top-heavy title splitting for titles with special characters resulting in very short lines
v1.7.3
Major Changes
- Added docker container to Unraid Community Apps store
- Added ability to create season posters automatically (and manually)
- Looks for season poster creation in YAML of the format:
season_posters: create: true titles: 1: some season title font: file: ./path/to/some/file.ex color: "#hex"
- Looks for base images titled
season{number}.jpg
, such asseason1.jpg
in the source directory - Example of a created poster:
- Added mini maker arguments
--season-poster
,--season-text
,--season-font
,--season-font-color
,--season-font-size
,--season-font-kerning
- Looks for season poster creation in YAML of the format:
- Automatically download logos for all series
- Independent of archive functionality, logos are downloaded so that they can be used by the
LogoTitleCard
(and other cards) without having to be run twice - Move SVG to PNG image conversion from
ShowSummary
class toImageMaker
- Independent of archive functionality, logos are downloaded so that they can be used by the
- Removed ability to set global custom logo filename
Major Fixes
N/A
Minor Changes
- Removed dependence on
StandardTitleCard
fromShowSummary
- Generalized all
ShowArchive
functionality- Delete all "hard-coded" function definitions and replaced them with
__getattr__()
wrapper so any function can easily be passed to allShow
objects
- Delete all "hard-coded" function definitions and replaced them with
- Consolidated directory creation
- Removed from various classes and moved into
PreferenceParser
object initialization - Removed output parent directory creation from the abstract
CardType.create()
method into theTitleCard.create()
wrapper (less error prone)
- Removed from various classes and moved into
- Change
EpisodeMap.get_generic_season_title()
method to take either season number orEpisodeInfo
object - Pass episode indices (i.e.
season_number
,episode_number
, andabs_number
) to title card object creation - Rework
EpisodeInfo
class intodataclass
Minor Fixes
N/A
v1.7.2
Major Changes
N/A
Major Fixes
- Skip source file existence check if not using unique sources (i.e.
LogoTitleCard
)
Minor Changes
- Ignore temp names from Sonarr for up to 2 days after episode airdate
- Reflects latest Sonarr development changes which implement 2-day buffer due to TVDb API caching
Minor Fixes
- Fix
LogoTitlecard
s being converted to greyscale if non sRGB color code was provided as background color - Don't report missing source images for
LogoTitleCard
v1.7.1
Major Changes
- Create reality TV/logo-based title card type
- Added global option to disable season subfolders
- New
hide_season_holders
option underoptions
in global preferences - Affects both normal media directories and archives
- New
Major Fixes
- Create
modules/.objects/
directory during module loading (causing error for docker container)
Minor Changes
- Add ability to require kanji for a series using the
anime
card type- If the
require_kanji
extra is provided, cards of that series will not be made if no kanji was found/given - Example specification would be:
extras: require_kanji: true
- If the
Minor Fixes
N/A
v1.7.0
Major Changes
- Add support for fixed PGID and PUID within the docker container
- Default GID and UID is 314:314, under group/user
titlecardmaker
- Default GID and UID is 314:314, under group/user
- Reworked docker container
- Entrypoint and startup script is less awkward
- Container no longer uses
pipenv
- Container looks at
/config/preferences.yml
by default - Search for runtime arguments via environment variables
TCM_PREFERENCES
for--preferences
TCM_RUNTIME
for--runtime
TCM_FREQUENCY
for--frequency
TCM_MISSING
for--missing
TCM_LOG
for--log
- Maintain log file(s)
- All logging is done at
DEBUG
log level - Local
logs
directory is used to keep up to 8 backup logs
- All logging is done at
- Only download remote assets once per-run
- Temporary TinyDB is used to track
RemoteCardType
andRemoteFile
urls that have been downloaded during execution, only re-download once
- Temporary TinyDB is used to track
Major Fixes
N/A
Minor Changes
- Add
--missing-file
argument alongside--missing
- Added
--preferences
argument alongside--preference-file
- Use original title for TMDb matching, even if
preferred_title
is provided - Only warn about series not being present in Plex once per run
- Update
plexapi
module version to4.11.2
- Rename
preferences.py
toglobal_objects.py
- Ignore placeholder
"Episode {x}"
titles- If title is present within 24 hours after file airing, it is skipped
- Don't download sources if card type doesn't use unique images
- Added
CardType.USES_UNIQUE_SOURCES
attribute to specify whether sources should be downloaded or not
- Added
Minor Fixes
- Fixer and mini maker look at environment variable for preference file
- Apply styles before selecting sources to avoid potentially downloading sources if manually specified
v1.6.4
Major Changes
- Add parsing for "preferred title" in data file reading
- If translated titles are preferred to standard ones, then the translation can be stored under
preferred_title
and it will be used by the Maker instead of standardtitle
- If translated titles are preferred to standard ones, then the translation can be stored under
Major Fixes
- Match episode text format key modifiers for
MultiEpisode
objects- Episode text format strings like
Episode {episode_number:02}
weren't being modified properly, as the modifier text (:02
) wasn't being identified - Now using following regex to identify any prefix/postfix/modifier text:
^(.*?)(\s*){(episode|abs)_number(.*?)}(.*)
- Episode text format strings like
- Correctly identify whether a TMDb request has been permanently blacklisted
- Correctly select source images if using only TMDb sourcing
Minor Changes
- Delete functionality to import old TMDb blacklist
Minor Fixes
N/A
v1.6.3
Major Changes
- Let source images be pulled from Plex
- Added parsing for
source_priority
global option (defaults totmdb, plex
), like:
options: source_priority: tmdb | plex | tmdb, plex | plex, tmdb
- This can specify the order of where source image should be pulled from
- Created
PlexInterface.get_source_image()
method
- Added parsing for
- Created
TextlessTitleCard
title card class- Added
textless
card type identifier - Created
blank
font case that just deletes the title text
- Added
- Allow series-wide arbitrary extras to be provided to
TitleCard
classes - Allow for local
card_type
files
Major Fixes
- Correctly read summary minimum episode count
Minor Changes
- Let frequency be scheduled in weeks
- Made
WebInterface.download_image()
static - Added ability to completely hide
"EPISODE {x}"
(episode text) from Star Wars card if episode text format is""
(empty string) - Added variable episode text offset in
StarWarsTitleCard
if prefix text is chapter, episode, or part - Precompile partless title regex
- Change
CardType.DEFAULT_FONT_CASE
tosource
, fromupper
Minor Fixes
- Correctly set backdrop as downloadable for
art
/art
un/watched styles
v1.6.2
Major Changes
- Add ability to create series YAML files from Sonarr by tag
- Add
--read-tags
fixer argument which takes arbitrary number of tags to filter by
- Add
- Allow for
RemoteCardTypes
with the mini maker
Major Fixes
N/A
Minor Changes
- Validate TMDb API key upon initialization
- Skip font validation TinyDB query for spaces
- Rework
YamlReader
class - Temporarily ignore placeholder
TDB
titles from Sonarr
Minor Fixes
- Fix syntax on fixer's
--add-translation
argument - Correctly set object invalidity for bad/non-existent
RemoteCardType
specifications - Properly skip
ShowSummary
creation if too few images exist - Strictly set PlexAPI module version
- Only attempt various fixer commands if those interfaces are enabled in the global preferences
v1.6.1
Major Changes
N/A
Major Fixes
N/A
Minor Changes
- Look for environment variables when scheduling Maker
--time
looks forTCM_RUNTIME
environment variable--frequency
looks forTCM_FREQUENCY
environment variable
- Critically error if old
unwatched
setting is used in place of newunwatched_style
Minor Fixes
N/A