mapletree/lxc3/namer/namer.cfg
admin_jk cddc09b336
Some checks are pending
PVE2 Infrastructure Deploy / terraform (push) Waiting to run
namer upload
2026-02-20 10:19:19 -07:00

319 lines
No EOL
13 KiB
INI

[namer]
# token to access porndb.
# sign up here: https://theporndb.net/register
porndb_token = uzmdtpIZpGtZG0G5J2pU8Aifk0ldtTRrSD8ZlxMndd4755f9
# You should likely never edit this, unless you know regex really well and wont ask for help when you mess up.
# Seriously don't edit it.
name_parser = {_site}{_sep}{_optional_date}{_ts}{_name}{_dot}{_ext}
# How to write output file name. When namer.py is run this is applied in place
# (next to the file to be processed).
# If you are running watchdog see new_relative_path_name in the watchdog section.
#
# Supports stand python 3 formatting, as well as:
# * a prefix:
# {site: 1p} - in this case put one space in front of the 'site', so ' Vixen'
# * a suffix:
# {date:_1s} - in this case put one underscore after the 'date', so '2020-01-01_'
# * an infix:
# {date:_2i} - in this case put two underscore before and after the 'date', so '__2020-01-01__'
#
# Examples:
# * {site} - {date} - {scene}.{ext}
# * {site}/{date}.{scene}.{ext}
#
# Missing values will be ignored.
#
# Allowed replacements:
#
# * 'date' - in the format of YYYY-MM-DD.
# * 'year' - just the year of the scene/movie.
# * 'description' - too long, don't use in a name.
# * 'name' - the scene/movie name
# * 'site' - the site or studio name, BrazzersExxtra, AllHerLuv, Deeper, etc with spaces removed.
# * 'full_site' - the full site/studio name from porndb, unmodified, i.e: Brazzers Exxtra, All Her Luv, etc.
# * 'parent' - the parent site/studio name from porndb, unmodified, i.e: Brazzers, etc.
# * 'full_parent' - the parent full site/studio name from porndb, unmodified, i.e: Brazzers, Vixen, etc.
# * 'network' - the network site or studio name, MindGeek, Vixen, etc with spaces removed.
# * 'full_network' - the network full site/studio name from porndb, unmodified, i.e: Mind Geek, Vixen, etc.
# * 'performers' - comma seperated list of female performers
# * 'all_performers' - comma seperated list of all performers
# * 'performer-sites' - comma seperated list of female performer-sites
# * 'all_performer-sites' - comma seperated list of all performer-sites
# * 'act' - an act, parsed from original file name, don't use.
# * 'ext' - original file's extension, you should keep this.
# * 'source_file_name' - original file name
# * 'source_file_stem' - What was originally parsed without parsed extension
# * 'video_codec' - video codec of file, like h264
# * 'audio_codec' - audio codec of file, like acc
# * 'trans' - 'TS', or 'ts' if detected in original file name.
# * 'type' - "movie" or "scene" depending on tpdb api used to find the metadata (/scenes or /movies)
# * 'resolution' - 480p, 720p, 1080p, 4k, or any other integer
# * 'vr', is the studio is a known vr studio, 'vr', else '', can be used for folder names, like ../adult{vr}/..
#
# This should not contain paths, as files will be processed in place when called on the command line from namer.
#
# Also note that jinja2 filters are support:
# https://jinja.palletsprojects.com/en/3.1.x/templates/#list-of-builtin-filters
# Like {site:|lower} or {name:|title|replace(' ', '.'))}
inplace_name={full_site} - {date} - {name} [WEBDL-{resolution}].{ext}
#inplace_name_scene=
#inplace_name_movie=
#inplace_name_jav=
# If a directory name is to be preferred over a file name.
# Directories are calculated by taking the first part of a relative path
# to the watch_dir location, or as input to namer via -d parameter.
prefer_dir_name_if_available = True
# minimum file size to process in MB, ignored if a file is to be processed
min_file_size = 1
# Should namer's comparison log be written next to successfully moved videos.
write_namer_log = False
# Should namer's comparison log be written next to failed videos.
write_namer_failed_log = True
# Comma separated list of extensions for namer to process (in order of preference in case multiple types exist in a target directory)
# Case insensitive, Only mp4 supports tagging.
target_extensions = mp4,mkv,avi,mov,flv,wmv,mpg,mpeg,ts,webm,3gp,f4v,f4a,f4b,f4p,m4a,m4v
# Should new and moved files have permissions and ownership set.
update_permissions_ownership = False
# Settings for new/moved files/dirs.
set_dir_permissions = 775
set_file_permissions = 664
# Setting uid and groupid for new and moved files.
# Use the id numbers, not names. Defaults to process uid/gid in non windows systems.
#set_uid =
#set_gid =
# If you want the trailers downloaded set the value relative to the final location of the movie file here.
# Currently assumes directory per video, and doesn't work in vast majority of cases (cdns with caches busted,
# expired view tokens, etc.)
# Plex: Trailers/trailer.{ext}, or extras/Trailer-trailer.{ext}
# Jellyfin: trailer/trailer.{ext}
# Extensions are handled by the download's mime type.
# Leave empty to not download trailers.
trailer_location =
# Comma seperated list of sites whose date information in tpdb is known to be sketchy at best as the
# values are set to the scrape time, not the video release date.
sites_with_no_date_info =
# Comma seperated list of sites/studios whose Sites/Studios where namer will prefer matching movies
# instead of scenes as default behavior
# will also switch the type flag from 'movie' to 'scene'.
movie_data_preferred = missax
# Comma seperated list of vr studios, this will be used to set the vr name flag.
vr_studios = 18 VR,Babe VR,Badoink VR,Dorm Room,Kink VR,Real VR,RealJamVR,Sex Like Real,SexBabesVR,SinsVR,SLR Originals,Swallowbay,Virtual Taboo,VirtualRealPorn,VR Bangers,VR Cosplay X,VR Hush,VRConk,VRedging,Wankz VR
# a set of tags that indicates an individual video is vr.
vr_tags = virtual reality, vr porn
# Site abbreviations are short strings converted to longer strings in the site section of a parse file name.
# Useful to match files whose names include the abbreviations rather than full site names.
# A one line json string that should be a map.
site_abbreviations = {"bex" : "BrazzersExxtra", "ps": "PropertySex"}
# When guessing at matches namer can use performer names to attempt to match. This can be costly in terms of cpu time.
# Plus who lists all the performers if over 6 on a scene's name? You can increase this, but the cpu/runtime cost increases
# rapidly (combinatorial)
max_performer_names = 6
# When plex hack is set to True, any matches of e##s## are removed from the Scene name.
plex_hack = False
# Cleanup final filename
path_cleanup = False
# Path where stores namer system data.
database_path = /mnt/config/database
# use namer database.
use_database = False
# Cache http requests
use_requests_cache = True
# Amount of minutes that http request would be in cache
requests_cache_expire_minutes = 10
# Leave this unset unless you are testing a new tpdb endpoint.
override_tpdb_address =
# Without modify the enconding where possible covert container (aka file types) to this
# desired container type ("mp4", "mkv", "avi", ect), plugged in to the command:
# "ffmpeg -i input.mkv -c copy output.<type>"
convert_container_to =
[Phash]
# Calculate and use phashes in search for matches
search_phash = True
# Should phashes be sent to tpdb if no phash match was found but a name match was.
# Requires search_phash be true or is ignored.
send_phash = False
# Use alternative phash generator (might be faster, not 100% compatible)
use_alt_phash_tool = False
# Max ffmpeg processes for alternative phash generation, empty for auto select
max_ffmpeg_workers =
# Use gpu for alternative phash generation
use_gpu = False
[metadata]
# Currently metadata pulled from the porndb can be added to mp4 files or .nfo files.
# MP4 metadata will be read in fully by Plex, and Apple TV app, partially by Jellyfin (no artist support).
# Metadata includes, Title, Release Date, Scene Name, Artist, Source URL, XXX Movie rating.
# If a file is not an mp4 adding metadata at this time isn't supported.
# .nfo files are supported by a number of players, though some require plugins.
# Write an nfo file next to the directory in an emby/jellyfin readable format
write_nfo = False
# Should metadata fetched from the porn db be written in to the metadata of the mp4.
enabled_tagging = True
# Should the poster fetched from the porn db be written in to the metadata of the mp4.
# This poster will be displayed in Plex, Jellyfin and Apple TV app.
# Controls downloading of images for .nfo and mp4 tagging.
enabled_poster = False
# List of which images would be downloaded options are: poster,background,performer
download_type = poster,background,performer
# Downloaded images format: png or jpeg
image_format = png
# These genres are noisey and not recommend for use. If this is false a single default
# genre will be used. These are called Tags on the porndb json response objects, genre's
# in plex/jellyfin - and could be added as Tags to jellyfin. Unfortunately jellyfin doesn't
# support searching tags, so tpdb jellyfin plugin writes tags to genres, this flag will
# mirror that behavior for mp4s and .nfo files. It does appear jellyfin will get tag filtering
# in the 10.8 release due to a few prs out there.
enable_metadataapi_genres = False
# If genre's are not copied this is the default genre added to files.
# Default value is adult.
default_genre = Adult
# if language is set it will be used to select the default audio stream in an mp4 that has too many default stream
# to play correct in quicktime/apple tv. If the language isn't found or is already the only default no action is
# taken, no streams (audio/video) are re-encoded. See: https://iso639-3.sil.org/code_tables/639/data/
language = eng
# Should tpdb be used to keep track of which videos you've collected?
mark_collected = true
[duplicates]
# If this is set to false duplicates will be discarded, and a rough selection criteria can be configured below
# to select the retained video
preserve_duplicates = False
# If set to -1, no max resolution is set. Others selecting 720, 1080, 2160, 4380, etc will limit retained videos
# to the desired resolution. If a too large video is the only one available it will be retained. Defautls to 4380
max_desired_resolutions = -1
# The codecs in order that you want to retain.
# by default hevc is preferred to h264, which is preferred vs everything else.
desired_codec = hevc, h264
[watchdog]
# If the file path found by watcher matches this regex, it will not trigger processing.
ignored_dir_regex = .*_UNPACK_.*
# when processing a directory should other files be removed.
# to keep other files this must be false and new_relative_path_name must contain a directory split, "/"
del_other_files = False
# After a video has appeared in the watch dir, an extra number of seconds to wait to allow the
# copying or unzipping of other files in to that directory. Prevents leaving orphaned files in dirs with
# with no movies of you have del_other_files set to True.
extra_sleep_time = 30
# Maximum amount of items in queue
queue_limit = 0
# Sleep time between queue size check
queue_sleep_time = 5
# Configured like inplace_name above, but with paths, and is relative to
# dest_dir, which is where completed files will be moved to.
new_relative_path_name={full_site} - {date} - {name}.{ext}
new_relative_path_name_scene=
new_relative_path_name_movie=
new_relative_path_name_jav=
# director where new downloads go.
watch_dir = /mnt/sorting/watch
# temporary directory where work is done.
# a log file shows attempted matches and match closeness.
work_dir = /mnt/sorting/work
# Should processing fail the file or directory is moved here.
# retries occur every 12 hours. Files can be manually moved to watch-dir
# to force reprocessing.
failed_dir = /mnt/sorting/failed
# dir where finalized files get written.
dest_dir = /mnt/sorting/tagged
# When to retry failed items, default is a random minute during the 3 am hour in your timezone.
retry_time =
# Run webserver while running watchdog.
web = True
# port to run on
port = 6980
# target host
host = 0.0.0.0
# webroot (root url to place pages), useful for reverse proxies
#web_root =
# Allow to delete files in web interface
allow_delete_files = False
# Add columns from failed log to table in web interface
add_columns_from_log = False
# Add creation date from failed log to table in web interface
add_complete_column = False
# Set logger level to debug
debug = True
# Set logger output format
console_format = <green>{time:YYYY-MM-DD HH:mm:ss}</green> | <level>{level.icon} {level: <8}</level> | {message}
# Manual mode, successful matches will go to failed directory
manual_mode = False
# Errors may be raised by the program, and when they are loguru may be used to help explain them, showing
# values in the stack trace, potentially including the porndb token, this setting should only be turned on
# if you are going to check an logs you share for your token.
diagnose_errors = False
[webhook]
# Enable webhook notification when a file is successfully renamed
webhook_enabled = False
# URL to send HTTP POST notification to when a file is successfully renamed
#webhook_url =