forked from Github/Axter-Stash
Fixed bug when renaming with title empty
This commit is contained in:
@@ -27,6 +27,9 @@ logger = logging.getLogger('renamefile')
|
|||||||
DEFAULT_ENDPOINT = "http://localhost:9999/graphql" # Default GraphQL endpoint
|
DEFAULT_ENDPOINT = "http://localhost:9999/graphql" # Default GraphQL endpoint
|
||||||
DEFAULT_FIELD_KEY_LIST = "title, performers, tags" # Default Field Key List with the desired order
|
DEFAULT_FIELD_KEY_LIST = "title, performers, tags" # Default Field Key List with the desired order
|
||||||
DEFAULT_SEPERATOR = "-"
|
DEFAULT_SEPERATOR = "-"
|
||||||
|
PLUGIN_ARGS = False
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# ------------------------------------------
|
# ------------------------------------------
|
||||||
# ------------------------------------------
|
# ------------------------------------------
|
||||||
@@ -58,7 +61,11 @@ debugTracing = settings["zzdebugTracing"]
|
|||||||
# Extract dry_run setting from settings
|
# Extract dry_run setting from settings
|
||||||
dry_run = settings["dryRun"]
|
dry_run = settings["dryRun"]
|
||||||
dry_run_prefix = ''
|
dry_run_prefix = ''
|
||||||
logger.info(f"\nStarting (debugTracing={debugTracing}) (dry_run={dry_run})************************************************")
|
try:
|
||||||
|
PLUGIN_ARGS = json_input['args']["mode"]
|
||||||
|
except:
|
||||||
|
pass
|
||||||
|
logger.info(f"\nStarting (debugTracing={debugTracing}) (dry_run={dry_run}) (PLUGIN_ARGS={PLUGIN_ARGS})************************************************")
|
||||||
if debugTracing: logger.info("settings: %s " % (settings,))
|
if debugTracing: logger.info("settings: %s " % (settings,))
|
||||||
if dry_run:
|
if dry_run:
|
||||||
logger.info("Dry run mode is enabled.")
|
logger.info("Dry run mode is enabled.")
|
||||||
@@ -96,6 +103,7 @@ separator = settings["zseparators"]
|
|||||||
double_separator = separator + separator
|
double_separator = separator + separator
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
# GraphQL query to fetch all scenes
|
# GraphQL query to fetch all scenes
|
||||||
query_all_scenes = """
|
query_all_scenes = """
|
||||||
query AllScenes {
|
query AllScenes {
|
||||||
@@ -152,7 +160,7 @@ def form_filename(original_file_stem, scene_details, wrapper_styles):
|
|||||||
title = default_title
|
title = default_title
|
||||||
# ...................
|
# ...................
|
||||||
|
|
||||||
if debugTracing: logger.info("Debug Tracing................")
|
if debugTracing: logger.info(f"Debug Tracing (title=\"{title}\")................")
|
||||||
|
|
||||||
# Function to add tag to filename
|
# Function to add tag to filename
|
||||||
def add_tag(tag_name):
|
def add_tag(tag_name):
|
||||||
@@ -195,7 +203,9 @@ def form_filename(original_file_stem, scene_details, wrapper_styles):
|
|||||||
if settings["performerAppend"]:
|
if settings["performerAppend"]:
|
||||||
performers = '-'.join([performer.get('name', '') for performer in scene_details.get('performers', [])])
|
performers = '-'.join([performer.get('name', '') for performer in scene_details.get('performers', [])])
|
||||||
if performers:
|
if performers:
|
||||||
if not include_performer_if_in_name or performers.lower() not in title.lower():
|
if debugTracing: logger.info(f"Debug Tracing (include_performer_if_in_name={include_performer_if_in_name})................")
|
||||||
|
if include_performer_if_in_name or performers.lower() not in title.lower():
|
||||||
|
if debugTracing: logger.info(f"Debug Tracing (performers={performers})................")
|
||||||
if wrapper_styles.get('performers'):
|
if wrapper_styles.get('performers'):
|
||||||
filename_parts.append(f"{wrapper_styles['performers'][0]}{performers}{wrapper_styles['performers'][1]}")
|
filename_parts.append(f"{wrapper_styles['performers'][0]}{performers}{wrapper_styles['performers'][1]}")
|
||||||
else:
|
else:
|
||||||
@@ -237,7 +247,7 @@ def form_filename(original_file_stem, scene_details, wrapper_styles):
|
|||||||
if debugTracing: logger.info(f"Debug Tracing (include_tag_if_in_name={include_tag_if_in_name})................")
|
if debugTracing: logger.info(f"Debug Tracing (include_tag_if_in_name={include_tag_if_in_name})................")
|
||||||
if include_tag_if_in_name or tag_name.lower() not in title.lower():
|
if include_tag_if_in_name or tag_name.lower() not in title.lower():
|
||||||
add_tag(tag_name)
|
add_tag(tag_name)
|
||||||
if debugTracing: logger.info("Debug Tracing................")
|
if debugTracing: logger.info(f"Debug Tracing (tag_name={tag_name})................")
|
||||||
|
|
||||||
new_filename = separator.join(filename_parts).replace(double_separator, separator)
|
new_filename = separator.join(filename_parts).replace(double_separator, separator)
|
||||||
|
|
||||||
@@ -408,6 +418,8 @@ def rename_scene(scene_id, wrapper_styles, stash_directory):
|
|||||||
|
|
||||||
return new_filename, original_path_info, new_path_info
|
return new_filename, original_path_info, new_path_info
|
||||||
|
|
||||||
|
# Main default function for rename scene
|
||||||
|
def rename_files_task():
|
||||||
if debugTracing: logger.info("Debug Tracing................")
|
if debugTracing: logger.info("Debug Tracing................")
|
||||||
# Execute the GraphQL query to fetch all scenes
|
# Execute the GraphQL query to fetch all scenes
|
||||||
scene_result = graphql_request(query_all_scenes)
|
scene_result = graphql_request(query_all_scenes)
|
||||||
@@ -449,8 +461,23 @@ elif not new_filename:
|
|||||||
logger.info("No changes were made.")
|
logger.info("No changes were made.")
|
||||||
else:
|
else:
|
||||||
logger.info("Change success!")
|
logger.info("Change success!")
|
||||||
|
return
|
||||||
|
|
||||||
|
def fetch_dup_filename_tags(): # Place holder for new implementation
|
||||||
|
return
|
||||||
|
|
||||||
|
if PLUGIN_ARGS == "fetch_dup_filename_tags":
|
||||||
|
fetch_dup_filename_tags()
|
||||||
|
elif PLUGIN_ARGS == "rename_files_task":
|
||||||
|
rename_files_task()
|
||||||
|
else:
|
||||||
|
rename_files_task()
|
||||||
|
|
||||||
if debugTracing: logger.info("\n*********************************\nEXITING ***********************\n*********************************")
|
if debugTracing: logger.info("\n*********************************\nEXITING ***********************\n*********************************")
|
||||||
|
|
||||||
|
|
||||||
# ToDo List
|
# ToDo List
|
||||||
# Add logic to max_filename_length code so it checks base file length and checks folder length, instead of lumping them altogether.
|
# Add logic to max_filename_length code so it checks base file length and checks folder length, instead of lumping them altogether.
|
||||||
# Add logic to update Sqlite DB on file name change, instead of perform_metadata_scan.
|
# Add logic to update Sqlite DB on file name change, instead of perform_metadata_scan.
|
||||||
# Get variables from the Plugins Settings UI instead of from renamefile_settings.py
|
# Get variables from the Plugins Settings UI instead of from renamefile_settings.py
|
||||||
|
# Add code to get tags from duplicate filenames
|
||||||
@@ -70,7 +70,11 @@ hooks:
|
|||||||
triggeredBy:
|
triggeredBy:
|
||||||
- Scene.Update.Post
|
- Scene.Update.Post
|
||||||
tasks:
|
tasks:
|
||||||
- name: Rename Files Task
|
# - name: Fetch Tags
|
||||||
description: Renames scene files.
|
# description: Get tags from duplicate file names.
|
||||||
|
# defaultArgs:
|
||||||
|
# mode: fetch_dup_filename_tags
|
||||||
|
- name: Rename Last Scene
|
||||||
|
description: Renames file of last updated scene.
|
||||||
defaultArgs:
|
defaultArgs:
|
||||||
mode: rename_files_task
|
mode: rename_files_task
|
||||||
|
|||||||
Reference in New Issue
Block a user