diff --git a/plugins/ChangeFileMonitor/README.md b/plugins/ChangeFileMonitor/README.md deleted file mode 100644 index 30cd241..0000000 --- a/plugins/ChangeFileMonitor/README.md +++ /dev/null @@ -1,35 +0,0 @@ -# ChangeFileMonitor: Ver 0.1.0 (By David Maisonave) -ChangeFileMonitor is a [Stash](https://github.com/stashapp/stash) plugin which updates Stash if any changes occurs in the Stash library paths. - -### Using ChangeFileMonitor as a plugin -- To start monitoring file changes, go to **Stash->Settings->Task->[Plugin Tasks]->ChangeFileMonitor**, and click on the [Start Library Monitor] button. - - ![ChangeFileMonitor_Task](https://github.com/user-attachments/assets/f275a70f-8e86-42a4-b2c1-98b3f4935334) -- To stop this task, go to **Stash->Settings->Task->[Task Queue]**, and click on the **[x]**. - - ![Kill_ChangeFileMonitor_Task](https://github.com/user-attachments/assets/a3f4abca-f3a2-49fa-9db5-e0c733e0aeb1) - -### Using ChangeFileMonitor as a script -**ChangeFileMonitor** can be called as a standalone script. -- To start monitoring call the script and pass any argument. - - python changefilemonitor.py **foofoo** -- To stop **ChangeFileMonitor**, pass argument **stop**. - - python changefilemonitor.py **stop** - - After running above command line, **ChangeFileMonitor** will stop after the next file change occurs. - - The stop command works to stop the standalone job and the Stash plugin task job. - -### Requirements -`pip install stashapp-tools` -`pip install pyYAML` -`pip install watchdog` - -### Installation -- Follow **Requirements** instructions. -- In the stash plugin directory (C:\Users\MyUserName\.stash\plugins), create a folder named **ChangeFileMonitor**. -- Copy all the plugin files to this folder.(**C:\Users\MyUserName\\.stash\plugins\ChangeFileMonitor**). -- Restart Stash. - -That's it!!! - -### Options -- All options are accessible in the GUI via Settings->Plugins->Plugins->[ChangeFileMonitor]. - - diff --git a/plugins/ChangeFileMonitor/manifest b/plugins/ChangeFileMonitor/manifest deleted file mode 100644 index 4a03c5f..0000000 --- a/plugins/ChangeFileMonitor/manifest +++ /dev/null @@ -1,13 +0,0 @@ -id: changefilemonitor -name: ChangeFileMonitor -metadata: - description: Monitors the Stash library folders, and updates Stash if any changes occurs in the Stash library paths. -version: 0.1.0 -date: "2024-07-26 08:00:00" -requires: [pip install stashapp-tools, pip install pyYAML, pip install watchdog] -source_repository: https://github.com/David-Maisonave/Axter-Stash/tree/main/plugins/ChangeFileMonitor -files: -- README.md -- changefilemonitor.yml -- changefilemonitor.py -- requirements.txt diff --git a/plugins/ChangeFileMonitor/.gitignore b/plugins/FileMonitor/.gitignore similarity index 100% rename from plugins/ChangeFileMonitor/.gitignore rename to plugins/FileMonitor/.gitignore diff --git a/plugins/FileMonitor/README.md b/plugins/FileMonitor/README.md new file mode 100644 index 0000000..dcf32fd --- /dev/null +++ b/plugins/FileMonitor/README.md @@ -0,0 +1,35 @@ +# FileMonitor: Ver 0.1.0 (By David Maisonave) +FileMonitor is a [Stash](https://github.com/stashapp/stash) plugin which updates Stash if any changes occurs in the Stash library paths. + +### Using FileMonitor as a plugin +- To start monitoring file changes, go to **Stash->Settings->Task->[Plugin Tasks]->FileMonitor**, and click on the [Start Library Monitor] button. + - ![FileMonitor_Task](https://github.com/user-attachments/assets/f275a70f-8e86-42a4-b2c1-98b3f4935334) +- To stop this task, go to **Stash->Settings->Task->[Task Queue]**, and click on the **[x]**. + - ![Kill_FileMonitor_Task](https://github.com/user-attachments/assets/a3f4abca-f3a2-49fa-9db5-e0c733e0aeb1) + +### Using FileMonitor as a script +**FileMonitor** can be called as a standalone script. +- To start monitoring call the script and pass any argument. + - python filemonitor.py **start** +- To stop **FileMonitor**, pass argument **stop**. + - python filemonitor.py **stop** + - After running above command line, **FileMonitor** will stop after the next file change occurs. + - The stop command works to stop the standalone job and the Stash plugin task job. + +### Requirements +`pip install stashapp-tools` +`pip install pyYAML` +`pip install watchdog` + +### Installation +- Follow **Requirements** instructions. +- In the stash plugin directory (C:\Users\MyUserName\.stash\plugins), create a folder named **FileMonitor**. +- Copy all the plugin files to this folder.(**C:\Users\MyUserName\\.stash\plugins\FileMonitor**). +- Restart Stash. + +That's it!!! + +### Options +- All options are accessible in the GUI via Settings->Plugins->Plugins->[FileMonitor]. + + diff --git a/plugins/ChangeFileMonitor/changefilemonitor.py b/plugins/FileMonitor/filemonitor.py similarity index 96% rename from plugins/ChangeFileMonitor/changefilemonitor.py rename to plugins/FileMonitor/filemonitor.py index c8992c0..ccfe038 100644 --- a/plugins/ChangeFileMonitor/changefilemonitor.py +++ b/plugins/FileMonitor/filemonitor.py @@ -1,8 +1,8 @@ # Description: This is a Stash plugin which updates Stash if any changes occurs in the Stash library paths. # By David Maisonave (aka Axter) Jul-2024 (https://www.axter.com/) -# Get the latest developers version from following link: https://github.com/David-Maisonave/Axter-Stash/tree/main/plugins/ChangeFileMonitor +# Get the latest developers version from following link: https://github.com/David-Maisonave/Axter-Stash/tree/main/plugins/FileMonitor # Note: To call this script outside of Stash, pass any argument. -# Example: python changefilemonitor.py foofoo +# Example: python filemonitor.py foofoo import os import sys import time @@ -20,7 +20,7 @@ from watchdog.observers import Observer # This is also needed for event attribut import watchdog # pip install watchdog # https://pythonhosted.org/watchdog/ from threading import Lock, Condition from multiprocessing import shared_memory -from changefilemonitor_config import config # Import settings from changefilemonitor_config.py +from filemonitor_config import config # Import settings from filemonitor_config.py # ********************************************************************** # Constant global variables -------------------------------------------- @@ -64,7 +64,7 @@ logger = logging.getLogger(Path(__file__).stem) # ********************************************************************** # ---------------------------------------------------------------------- -# Code section to fetch variables from Plugin UI and from changefilemonitor_settings.py +# Code section to fetch variables from Plugin UI and from filemonitor_settings.py # Check if being called as Stash plugin gettingCalledAsStashPlugin = True stopLibraryMonitoring = False @@ -147,7 +147,7 @@ def start_library_monitor(): global TargetPaths try: # Create shared memory buffer which can be used as singleton logic or to get a signal to quit task from external script - shm_a = shared_memory.SharedMemory(name="DavidMaisonaveAxter_ChangeFileMonitor", create=True, size=4) + shm_a = shared_memory.SharedMemory(name="DavidMaisonaveAxter_FileMonitor", create=True, size=4) except: pass logger.info("Could not open shared memory map. Change File Monitor must be running. Can not run multiple instance of Change File Monitor.") @@ -256,13 +256,13 @@ def start_library_monitor(): if debugTracing: logger.info("Exiting function................") # This function is only useful when called outside of Stash. -# Example: python changefilemonitor.py stop +# Example: python filemonitor.py stop # Stops monitoring after triggered by the next file change. # ToDo: Add logic so it doesn't have to wait until the next file change def stop_library_monitor(): if debugTracing: logger.info("Opening shared memory map.") try: - shm_a = shared_memory.SharedMemory(name="DavidMaisonaveAxter_ChangeFileMonitor", create=False, size=4) + shm_a = shared_memory.SharedMemory(name="DavidMaisonaveAxter_FileMonitor", create=False, size=4) except: pass logger.info("Could not open shared memory map. Change File Monitor must not be running.") diff --git a/plugins/ChangeFileMonitor/changefilemonitor.yml b/plugins/FileMonitor/filemonitor.yml similarity index 89% rename from plugins/ChangeFileMonitor/changefilemonitor.yml rename to plugins/FileMonitor/filemonitor.yml index 41e91fd..14a4178 100644 --- a/plugins/ChangeFileMonitor/changefilemonitor.yml +++ b/plugins/FileMonitor/filemonitor.yml @@ -1,7 +1,7 @@ -name: ChangeFileMonitor +name: FileMonitor description: Monitors the Stash library folders, and updates Stash if any changes occurs in the Stash library paths. -version: 0.1.0 -url: https://github.com/David-Maisonave/Axter-Stash/tree/main/plugins/ChangeFileMonitor +version: 0.2.0 +url: https://github.com/David-Maisonave/Axter-Stash/tree/main/plugins/FileMonitor settings: recursiveDisabled: displayName: No Recursive @@ -17,7 +17,7 @@ settings: type: BOOLEAN zzdebugTracing: displayName: Debug Tracing - description: (Default=false) [***For Advanced Users***] Enable debug tracing. When enabled, additional tracing logging is added to Stash\plugins\ChangeFileMonitor\changefilemonitor.log + description: (Default=false) [***For Advanced Users***] Enable debug tracing. When enabled, additional tracing logging is added to Stash\plugins\FileMonitor\filemonitor.log type: BOOLEAN zzdryRun: displayName: Dry Run @@ -25,7 +25,7 @@ settings: type: BOOLEAN exec: - python - - "{pluginDir}/changefilemonitor.py" + - "{pluginDir}/filemonitor.py" interface: raw tasks: - name: Start Library Monitor diff --git a/plugins/ChangeFileMonitor/changefilemonitor_config.py b/plugins/FileMonitor/filemonitor_config.py similarity index 79% rename from plugins/ChangeFileMonitor/changefilemonitor_config.py rename to plugins/FileMonitor/filemonitor_config.py index 4c09f40..de0210b 100644 --- a/plugins/ChangeFileMonitor/changefilemonitor_config.py +++ b/plugins/FileMonitor/filemonitor_config.py @@ -1,11 +1,11 @@ # Description: This is a Stash plugin which updates Stash if any changes occurs in the Stash library paths. # By David Maisonave (aka Axter) Jul-2024 (https://www.axter.com/) -# Get the latest developers version from following link: https://github.com/David-Maisonave/Axter-Stash/tree/main/plugins/ChangeFileMonitor +# Get the latest developers version from following link: https://github.com/David-Maisonave/Axter-Stash/tree/main/plugins/FileMonitor config = { # Enable to run metadata_generate (Generate Content) after metadata scan. "runGenerateContent": False, - # The following fields are ONLY used when running ChangeFileMonitor in script mode + # The following fields are ONLY used when running FileMonitor in script mode "endpoint_Scheme" : "http", # Define endpoint to use when contacting the Stash server "endpoint_Host" : "0.0.0.0", # Define endpoint to use when contacting the Stash server "endpoint_Port" : 9999, # Define endpoint to use when contacting the Stash server diff --git a/plugins/ChangeFileMonitor/requirements.txt b/plugins/FileMonitor/requirements.txt similarity index 100% rename from plugins/ChangeFileMonitor/requirements.txt rename to plugins/FileMonitor/requirements.txt diff --git a/plugins/RenameFile/manifest b/plugins/RenameFile/manifest deleted file mode 100644 index a98d0dc..0000000 --- a/plugins/RenameFile/manifest +++ /dev/null @@ -1,14 +0,0 @@ -id: renamefile -name: RenameFile -metadata: - description: Renames video (scene) file names when the user edits the [Title] field located in the scene [Edit] tab. -version: 0.4.0 -date: "2024-07-26 08:00:00" -requires: [pip install stashapp-tools, pip install pyYAML] -source_repository: https://github.com/David-Maisonave/Axter-Stash/tree/main/plugins/RenameFile -files: -- README.md -- renamefile.yml -- renamefile.py -- renamefile_settings.py -- requirements.txt