Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[DupFileManager] plugin updated to version 1.0.0 #470

Merged
merged 49 commits into from
Nov 29, 2024

Conversation

David-Maisonave
Copy link
Contributor

0.2.0

  • For report, added logic to transfer option settings [Disable Complete Confirmation] and [Disable Delete Confirmation] when paginating.
  • Fixed minor bug in advance_options.html for GQL params.

0.2.1

  • Added logic to have reports and advanced menu to work with Stash settings requiring a password by adding API-Key as param argument for advance menu, and adding API-Key as variable in reports.
  • When [Advance Tag Menu] is called from reports, it's given both the GQL URL and the apiKey on the URL param, which allows advance menu to work with non-standard URL's and with API-Key.

0.2.2

  • Added dropdown menu logic to Advance Menu and reports.
  • Added Graylist deletion option to Advance Menu.
  • Report option to clear all flags from report.
  • Report option to clear all (DuplicateMarkForDeletion?) tag from all scenes.
  • Report option to delete from Stash DB all scenes with missing files in file system.
  • Added popup tag list to report which list all tags associated with scene.
  • Added popup performer list to report which list all performers associated with scene.
  • Added popup gallery list to report which list all galleries associated with scene.
  • Added popup group list to report which list all groups associated with scene.
  • After merging tags in report, the report gets updated with the merged scene metadata.
  • Added graylist deletion option to [Advance Duplicate File Deletion Menu].
  • Added pinklist option to Settings->Plugins->Plugins and to [Advance Duplicate File Deletion Menu]
    • The pinklist is only used with the [Advance Duplicate File Deletion Menu], and it's NOT used in the primary process to selected candidates for deletion.
  • Advance Menu now works with non-tagged scenes that are in the current report.

1.0.0

  • Consolidated buttons and links on report into dropdown buttons.
  • On report, added dropdown menu options for flags.
  • Rename Tools-UI advance duplicate tagged menu to [Advance Duplicate File Deletion Menu]
  • When [Advance Duplicate File Deletion Menu] completes report, gives user prompt to open the report in browser.
  • Added performance enhancement for removing (clearing) duplicate tags from all scenes by using SQL call.
  • Added option to report to delete files that do not exist by duplicate candidates in report, as well as by tagged files.
  • Added logic to disable scene in report if deleted by [Advance Duplicate File Deletion Menu]. Note: Requires a refresh.
  • Added report option to delete by flags set on the report.
  • Fixed bug with report delete scene request.
  • In the report, made icon colors for tags, performers, galleries, and groups with different colors if they don't match. In other words, use different color icons if candidate to delete doesn't match duplicate to keep associated icon data.
    • If data for associated icon are the same, then both icons are black or blue (the default color).
    • If [duplicate to keep] is missing data that is in [candidate to delete], than [candidate to delete] gets a yellow icon.
    • If [candidate to delete] is missing data that is in [duplicate to keep], than [duplicate to keep] gets a pink icon.
  • Added option on report to merge all metadata missing in [Duplicate to Keep] files.
  • Added cookies to report so as to remember user options for Disable Complete Confirmation [Disable Complete Confirmation] and [Disable Delete Confirmation].
    • This change was needed because sometimes the browser refuse to open local URL's with params on the URL.
    • Using cookies also allows check options status to stay the same after refresh.
  • Added code to [Advance Duplicate File Deletion Menu] to delete based on flags.

Where's was an (if not) condition which should have been an (if) condition. This caused issues when renaming a file without populating the title field and with an associated performer.
Added new plugin ChangeFileMonitor.
Made following changes to RenameFile plugin.
	Added fields galleries, resolution, and width.
	Fixed bug associated with studio.
	Added logic to limit the log file size.
	Added logic to only get [Change success] logging when no errors occurs.
	Change default fields to include studio.
	Added postfix styles, which was mainly needed to properly format resolution field, but can be used for the other fields.
	Consolidated [Include Existing Key Field] options into one option.
	Cleaned up code and updated version
Added new plugin ChangeFileMonitor.
Made following changes to RenameFile plugin.
	Added fields galleries, resolution, and width.
	Fixed bug associated with studio.
	Added logic to limit the log file size.
	Added logic to only get [Change success] logging when no errors occurs.
	Change default fields to include studio.
	Added postfix styles, which was mainly needed to properly format resolution field, but can be used for the other fields.
	Consolidated [Include Existing Key Field] options into one option.
	Cleaned up code and updated version
Removed unused UI variable endpoint.
Added logic that allows ChangeFileMonitor to run as a script.
Updated README.md file to explain how to run it as a script.
Can start FileMonitor from Stash UI as a service.
Stop FileMonitor from the UI.
Scheduler service for multiple UI task.
Scheduler service for plugins.
UI option to trim backup DB files.
Config file option to exclude paths.
Config file option to only include paths.
Config file option to only include specified file types.

Very minor changes to RenameFile plugin.
1. Fixed bug that added duplicate resolution, width, height , scene_date, video_codec, and frame_rate when title is not populated.
2. Added excludeTags field, and pre-populated it with DuplicateMarkForDeletion and DuplicateWhitelistFile to avoid conflicts with up coming plugin DupFileManager.
Added API Key logic to allow FileMonitor to work in service mode when user has configured a Stash username and password.
To slim down the main config, moved self_unit_test and task_examples to their own configuration files.
Added more self_unit_test, and a selfUnitTest activation field that is normally false.
When field is true, it turns on the task for unit testing.
Change default rename using Move, in order to avoid access issues when scene is being played.
100's of file changes at the same time caused FileMonitor to run many dozens of scan jobs.
Added logic to have FileMonitor delay new scan jobs while last scan job is still running.
Separated unit testing into two parts.
Increase max log file size.
Set status logging to debug level.
Added UI option to enable DupFileManager delete duplicate task  in the scheduler.
Added "every" option for every day of the week in the scheduler.
Added scheduler option to start plugin without the Task Scheduler.
Changed the format for plugins in the scheduler.
Fixed issue with Studio triggering folder being created on rename.
Integrated changes to use StashPluginHelper class, and stream line the code.
Put rename back as default method over move.
Removed functions which are already included in stashapi and StashPluginHelper.
Added option to avoid "Delete Tagged Duplicates" without turnOnSchedulerDeleteDup enabled.
### 0.2.0
- For report, added logic to transfer option settings **[Disable Complete Confirmation]** and **[Disable Delete Confirmation]** when paginating.
- Fixed minor bug in advance_options.html for GQL params.
### 0.2.1
- Added logic to have reports and advanced menu to work with Stash settings requiring a password by adding API-Key as param argument for advance menu, and adding API-Key as variable in reports.
- When **[Advance Tag Menu]** is called from reports, it's given both the GQL URL and the apiKey on the URL param, which allows advance menu to work with non-standard URL's and with API-Key.
### 0.2.2
- Added dropdown menu logic to Advance Menu and reports.
- Added Graylist deletion option to Advance Menu.
- Report option to clear all flags from report.
- Report option to clear all (_DuplicateMarkForDeletion_?) tag from all scenes.
- Report option to delete from Stash DB all scenes with missing files in file system.
- Added popup tag list to report which list all tags associated with scene.
- Added popup performer list to report which list all performers associated with scene.
- Added popup gallery list to report which list all galleries associated with scene.
- Added popup group list to report which list all groups associated with scene.
- After merging tags in report, the report gets updated with the merged scene metadata.
- Added graylist deletion option to [**Advance Duplicate File Deletion Menu**].
- Added pinklist option to Settings->Plugins->Plugins and to [**Advance Duplicate File Deletion Menu**]
  - The pinklist is only used with the [**Advance Duplicate File Deletion Menu**], and it's **NOT** used in the primary process to selected candidates for deletion.
- Advance Menu now works with non-tagged scenes that are in the current report.
### 1.0.0
- Consolidated buttons and links on report into dropdown buttons.
- On report, added dropdown menu options for flags.
- Rename Tools-UI advance duplicate tagged menu to [**Advance Duplicate File Deletion Menu**]
- When [**Advance Duplicate File Deletion Menu**] completes report, gives user prompt to open the report in browser.
- Added performance enhancement for removing (clearing) duplicate tags from all scenes by using SQL call.
- Added option to report to delete files that do not exist by duplicate candidates in report, as well as by tagged files.
- Added logic to disable scene in report if deleted by [**Advance Duplicate File Deletion Menu**]. Note: Requires a refresh.
- Added report option to delete by flags set on the report.
### 1.0.0.1
- Fixed bug with report delete scene request.
### 1.0.0.2
- In the report, made icon colors for tags, performers, galleries, and groups with different colors if they don't match. In other words, use different color icons if **candidate to delete** doesn't match **duplicate to keep** associated icon data.
  - If data for associated icon are the same, then both icons are black or blue (the default color).
  - If [**duplicate to keep**] is missing data that is in [**candidate to delete**], than [**candidate to delete**] gets a yellow icon.
  - If [**candidate to delete**] is missing data that is in [**duplicate to keep**], than [**duplicate to keep**] gets a pink icon.
### 1.0.0.3
- Added option on report to merge all metadata missing in [**Duplicate to Keep**] files.
- Added cookies to report so as to remember user options for Disable Complete Confirmation **[Disable Complete Confirmation]** and **[Disable Delete Confirmation]**.
  - This change was needed because sometimes the browser refuse to open local URL's with params on the URL.
  - Using cookies also allows check options status to stay the same after refresh.
- Added code to [**Advance Duplicate File Deletion Menu**] to delete based on flags.
### 0.2.0
- For report, added logic to transfer option settings **[Disable Complete Confirmation]** and **[Disable Delete Confirmation]** when paginating.
- Fixed minor bug in advance_options.html for GQL params.
### 0.2.1
- Added logic to have reports and advanced menu to work with Stash settings requiring a password by adding API-Key as param argument for advance menu, and adding API-Key as variable in reports.
- When **[Advance Tag Menu]** is called from reports, it's given both the GQL URL and the apiKey on the URL param, which allows advance menu to work with non-standard URL's and with API-Key.
### 0.2.2
- Added dropdown menu logic to Advance Menu and reports.
- Added Graylist deletion option to Advance Menu.
- Report option to clear all flags from report.
- Report option to clear all (_DuplicateMarkForDeletion_?) tag from all scenes.
- Report option to delete from Stash DB all scenes with missing files in file system.
- Added popup tag list to report which list all tags associated with scene.
- Added popup performer list to report which list all performers associated with scene.
- Added popup gallery list to report which list all galleries associated with scene.
- Added popup group list to report which list all groups associated with scene.
- After merging tags in report, the report gets updated with the merged scene metadata.
- Added graylist deletion option to [**Advance Duplicate File Deletion Menu**].
- Added pinklist option to Settings->Plugins->Plugins and to [**Advance Duplicate File Deletion Menu**]
  - The pinklist is only used with the [**Advance Duplicate File Deletion Menu**], and it's **NOT** used in the primary process to selected candidates for deletion.
- Advance Menu now works with non-tagged scenes that are in the current report.
### 1.0.0
- Consolidated buttons and links on report into dropdown buttons.
- On report, added dropdown menu options for flags.
- Rename Tools-UI advance duplicate tagged menu to [**Advance Duplicate File Deletion Menu**]
- When [**Advance Duplicate File Deletion Menu**] completes report, gives user prompt to open the report in browser.
- Added performance enhancement for removing (clearing) duplicate tags from all scenes by using SQL call.
- Added option to report to delete files that do not exist by duplicate candidates in report, as well as by tagged files.
- Added logic to disable scene in report if deleted by [**Advance Duplicate File Deletion Menu**]. Note: Requires a refresh.
- Added report option to delete by flags set on the report.
### 1.0.0.1
- Fixed bug with report delete scene request.
### 1.0.0.2
- In the report, made icon colors for tags, performers, galleries, and groups with different colors if they don't match. In other words, use different color icons if **candidate to delete** doesn't match **duplicate to keep** associated icon data.
  - If data for associated icon are the same, then both icons are black or blue (the default color).
  - If [**duplicate to keep**] is missing data that is in [**candidate to delete**], than [**candidate to delete**] gets a yellow icon.
  - If [**candidate to delete**] is missing data that is in [**duplicate to keep**], than [**duplicate to keep**] gets a pink icon.
### 1.0.0.3
- Added option on report to merge all metadata missing in [**Duplicate to Keep**] files.
- Added cookies to report so as to remember user options for Disable Complete Confirmation **[Disable Complete Confirmation]** and **[Disable Delete Confirmation]**.
  - This change was needed because sometimes the browser refuse to open local URL's with params on the URL.
  - Using cookies also allows check options status to stay the same after refresh.
- Added code to [**Advance Duplicate File Deletion Menu**] to delete based on flags.
@David-Maisonave
Copy link
Contributor Author

prettier seems to have a bug in it, because it's not recognizing the matching TR in the HTML code.

@Maista6969
Copy link
Collaborator

prettier seems to have a bug in it, because it's not recognizing the matching TR in the HTML code

I think it's because the </tr> on line 308 is unintentionally matching the <tr> on line 282. Judging by the indentation you either have an extra </tr> on the end of line 285 or you meant to add another <tr> on line 286

@David-Maisonave
Copy link
Contributor Author

David-Maisonave commented Nov 29, 2024

<TR> on 282 matches </TR> on 321
<tr style="border: none;"> on 284 matches </TR> on 308
<TR> on 285 matches another </TR> on the same line 285

I checked, and all the starting <TR>'s have a matching ending </TR>'s. I don't see an extra.
I also performed a count by doing keyword search for "<TR" which gave me 16, and keyword search for "</TR>", which also gave me 16.
FYI: You can not do a keyword search for "<TR>" because that will miss the TR with a style in it.

I initially thought the TR with the style property was confusing prettier, but even when I converted that to a normal <TR>, prettier still gave the same error. I also tried lining up the TR via tabbing, and I also tried adding <!-- prettier-ignore -->, but nothing seems to work to make prettier happy.

@Maista6969
Copy link
Collaborator

I personally don't think the prettier lints are adding a lot to this repo, but I also tried to drop your HTML into the W3 HTML Validator and it's lighting up that same <tr> element for a different reason 😅

@David-Maisonave
Copy link
Contributor Author

OK,
I'll look into this some more. There must be something wrong, and it's probably just giving wrong or misleading error.

@DogmaDragon
Copy link
Contributor

DogmaDragon commented Nov 29, 2024

<TR> on 282 matches </TR> on 321
<tr style="border: none;"> on 284 matches </TR> on 308
<TR> on 285 matches another </TR> on the same line 285

Line 284 <tr> is being closed on line 285
Line 285 <tr> is being closed on line 308.

You can't nest them. You need to create table inside table for that.

@David-Maisonave
Copy link
Contributor Author

David-Maisonave commented Nov 29, 2024

As I thought. It was a matter of the error being misleading. I fixed the issue, and prettier is no longer reporting error.

I'll revisit the errors listed in https://validator.w3.org on another update.
That's a very useful tool.

Thanks for your help.

@DogmaDragon DogmaDragon changed the title [DupFileManager] plugin updated to version 1.0.0; See description for details [DupFileManager] plugin updated to version 1.0.0 Nov 29, 2024
@DogmaDragon DogmaDragon merged commit 3ddd7fa into stashapp:main Nov 29, 2024
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants