319 lines
No EOL
13 KiB
INI
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 = False
|
|
|
|
# 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 = 6
|
|
|
|
# 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 = |