Difference between revisions of "Delete Duplicate File GUI"

From OpenCircuits
Jump to navigation Jump to search
 
(9 intermediate revisions by the same user not shown)
Line 7: Line 7:
  
  
 +
<!-----------
 
[[File:deletedups screen shot.png | 1000x2500px]]
 
[[File:deletedups screen shot.png | 1000x2500px]]
  
<!-----------
 
 
[[File:Screen_shot.png | 1000x2500px]]
 
[[File:Screen_shot.png | 1000x2500px]]
 
[[File:Screen_shot.png | 500x500px]]
 
[[File:Screen_shot.png | 500x500px]]
Line 24: Line 24:
 
== General ==
 
== General ==
  
There are 4 major areas of functionalityRead this guide first then get more information on each at:
+
Before using there are some concepts/vocabulary that need to be established.  You are intend to select some part of your file system where you want to keep all the files, that is not delete any duplicates.  And  there is some other part of your file system where you suspect duplicate files and want to delete the duplicatesCurrently a file is considered a duplicate if it has the same name, later we will make a check on the file size as well.
 +
 
 +
The part of the file system you want to keep is called the keeps, and the part with possible duplicates is called the dups, so far suspected by not convicted.
  
* [[Clipboard Transformations]] 
+
Each part of the file system the keeps and dups are specified by a list of directories you set in the parameter file, parameters.py ( see reference at:..... ).
* [[Clipboard Snippets]] 
 
* [[Clipboard Snips]] 
 
* [[Clipboard Commands]] 
 
  
 +
Additionally you may specify how down from a starting directory you want to search and what filter you want to apply to the files.
 +
 +
The application then has 4 phases, 0 to 3.
 +
 +
0 -- show you the setup of the application.
 +
1 -- build and empty database for indexing files
 +
2 -- scan and index the dups or possible duplicate files
 +
3 -- scan and process the dups deleting ( or otherwise processing the files )
  
 
== The Controls ==
 
== The Controls ==
  
Control is mostly through buttons.  There are two lists at the bottom, clicking on one puts a "snippet" in the clipboard, clicking on the other opens a "snip file" in your system's editor. Outside of the GUI there is also a parameter file which controls start up, your preferred system editor, and many other setting.  
+
Control is mostly through buttons.  Outside of the GUI there is also a parameter file which controls start up, your preferred system editor, and many other setting. This application relys more on the parameter file than many of my other applications with settings for:
 +
 
 +
* A list of "keep file" directories'
 +
* A list of "dup file" or possible duplicate file directories.
 +
* Settings for directory depth.
 +
* Construction of a file filter.
 +
* Setting of delete mode.
 +
 
 +
All of the bullited items above can be seen with the <0-Show Setup> button.
  
 
Working from top to bottom:
 
Working from top to bottom:
Line 41: Line 56:
 
* <Window title> Program name and some additional info including version, mode,  and the name of any "extra" parameter file ( see [[Smart Terminal Parameter Examples]] ).
 
* <Window title> Program name and some additional info including version, mode,  and the name of any "extra" parameter file ( see [[Smart Terminal Parameter Examples]] ).
 
* <ID Color Band >The red band under the title is an optional component, its height and color is set in the parameter file.  It is normally useful only if you are running 2 similar looking applications and want a quick way to tell them apart.
 
* <ID Color Band >The red band under the title is an optional component, its height and color is set in the parameter file.  It is normally useful only if you are running 2 similar looking applications and want a quick way to tell them apart.
 +
 +
  
 
=== Top Button Row ===
 
=== Top Button Row ===
Line 46: Line 63:
 
* <Edit Log> opens an editor on the system ( needs to be configured in parameter file self.ex_editor = <name of executable or link> ) to view the python logging file for the app.
 
* <Edit Log> opens an editor on the system ( needs to be configured in parameter file self.ex_editor = <name of executable or link> ) to view the python logging file for the app.
 
* <Edit Parms > opens an editor on the system to edit the parameters.py file. See <Edit Log>.
 
* <Edit Parms > opens an editor on the system to edit the parameters.py file. See <Edit Log>.
*<Edit Snippets>  ...
 
*<Edit Snip Files> ...
 
 
* <Restart> Restarts the application ( usually fast ) using new values ( if any ) in the parameter file(s).
 
* <Restart> Restarts the application ( usually fast ) using new values ( if any ) in the parameter file(s).
 
* <Help> Will open some sort of help file, text, pdf, or url, depending on configuration in parameter file.
 
* <Help> Will open some sort of help file, text, pdf, or url, depending on configuration in parameter file.
Line 53: Line 68:
 
* <Test> May not be present, for debugging, not generally useful or predictable, you would need to look through the code to see what it might be doing, press at your own risk.
 
* <Test> May not be present, for debugging, not generally useful or predictable, you would need to look through the code to see what it might be doing, press at your own risk.
  
=== Command Buttons ===
+
= Second Button Row =
There is both a button and a check box, lets deal wit the buttons first ( note there may be one or more buttons depending on my current thinking about the application )
 
 
 
* <*cmd> look for a *>command in the text and execute if found. ( if none appears on line one it stops command processing ) For more information on what is a command see '''[[Clipboard Commands]]'''
 
 
 
Under each button is a check box.  If checked the command action will be run each time the clipboard text changes.  See '''[[Clipboard Commands]]'''
 
 
 
=== Transformation Buttons ===
 
 
 
The info here is just a summary, find more detail on Transformations at [[Clipboard Transformations]]
 
 
 
There are both a buttons and a check box for each button, lets deal wit the buttons first.
 
* <off>  Do not do anything to clipboard text.
 
* <unformatted> Remove all formatting from text in the clipboard ( like rich text or html ) this gives you straight text.
 
* <CAP> Capitalize all text ( mostly for demo purposes, but you may find a use ).
 
* <lower> lower case all text ( mostly for demo purposes, but you may find a use ).
 
* <No WS> remove all white space.  Result: one line with no white space. ( perhaps for removing spaces from file names )
 
* <less WS > all white space to spaces and multiple white space to a single space.  Result: one line with at most single spaces
 
* <Indent> ...
 
* <*lines> ...
 
* <URL to wiki> ...
 
* <Add *>url> ...
 
* <Add *Shell> ...
 
* <comma, sep> ...
 
* <undent> ...
 
* <AltLine Sourt 0 > ...
 
* <Sage> ...
 
* <Wiki File Upload > ...
 
* <Test> ...
 
* < > ...
 
* < > ...
 
* < > ...
 
  
Under each button is a radio box.  If selected the transformation will be automatically applied each time the clipboard text changes.
+
Phases of the Delete Duplicate Operations:
  
=== Snippets ===
+
* 0 Show Setup      -- Show the most important parameters for delting the duplicates -- all in the parameter file
 +
* 1 Define DB      -- Define the database used to index the dups.
 +
* 2 Explore Dups    -- Scan through the dups ( possible duplicate file directories ) and index them for later processing.
 +
* 3 Explore Keeps  -- Scan through the keeps ( keep file directories ) and check against the dups ( ) deleting ( or otherwise processing ) them if they test as duplicates.
  
The info here is just a summary, find more detail on Snippetsat [[Clipboard Snippets]]
+
The above buttons will become inactive during the operations.  The next set of buttons are always active:
  
A line here is the name you can give to a bit of text called a "snippet".  Click on the name and the corresponding text is placed in your clipboard.
+
*
Configured by way of a file with the names and snippets, and a setting in parameters.py that names that file.  You can easily change between sets of snippets.
+
*
 +
*
 +
*
 +
*
  
 
 
  
 
  
[[Category:Python DeleteDups]]  [[category:Python]]  [[category:Python Projects]]
+
[[Category: Python]]

Latest revision as of 03:57, 26 July 2021

Overview[edit]

The GUI or graphical user interface is the key to using the Delete Duplicates Application. Root documentation at: Python Delete Duplicates This page is the documentation for the GUI.

Screen Shot[edit]

This is what it looks like, details on each part below. Still working on it. Note that this screen shot was taken during a debugging session and has some artifacts that will soon disappear, then a new screen shot will be placed here.


What Does What[edit]

General[edit]

Before using there are some concepts/vocabulary that need to be established. You are intend to select some part of your file system where you want to keep all the files, that is not delete any duplicates. And there is some other part of your file system where you suspect duplicate files and want to delete the duplicates. Currently a file is considered a duplicate if it has the same name, later we will make a check on the file size as well.

The part of the file system you want to keep is called the keeps, and the part with possible duplicates is called the dups, so far suspected by not convicted.

Each part of the file system the keeps and dups are specified by a list of directories you set in the parameter file, parameters.py ( see reference at:..... ).

Additionally you may specify how down from a starting directory you want to search and what filter you want to apply to the files.

The application then has 4 phases, 0 to 3.

0 -- show you the setup of the application. 1 -- build and empty database for indexing files 2 -- scan and index the dups or possible duplicate files 3 -- scan and process the dups deleting ( or otherwise processing the files )

The Controls[edit]

Control is mostly through buttons. Outside of the GUI there is also a parameter file which controls start up, your preferred system editor, and many other setting. This application relys more on the parameter file than many of my other applications with settings for:

  • A list of "keep file" directories'
  • A list of "dup file" or possible duplicate file directories.
  • Settings for directory depth.
  • Construction of a file filter.
  • Setting of delete mode.

All of the bullited items above can be seen with the <0-Show Setup> button.

Working from top to bottom:

At the Top[edit]

  • <Window title> Program name and some additional info including version, mode, and the name of any "extra" parameter file ( see Smart Terminal Parameter Examples ).
  • <ID Color Band >The red band under the title is an optional component, its height and color is set in the parameter file. It is normally useful only if you are running 2 similar looking applications and want a quick way to tell them apart.


Top Button Row[edit]

  • <Edit Log> opens an editor on the system ( needs to be configured in parameter file self.ex_editor = <name of executable or link> ) to view the python logging file for the app.
  • <Edit Parms > opens an editor on the system to edit the parameters.py file. See <Edit Log>.
  • <Restart> Restarts the application ( usually fast ) using new values ( if any ) in the parameter file(s).
  • <Help> Will open some sort of help file, text, pdf, or url, depending on configuration in parameter file.
  • <About> More or less standard help box.
  • <Test> May not be present, for debugging, not generally useful or predictable, you would need to look through the code to see what it might be doing, press at your own risk.

Second Button Row[edit]

Phases of the Delete Duplicate Operations:

  • 0 Show Setup -- Show the most important parameters for delting the duplicates -- all in the parameter file
  • 1 Define DB -- Define the database used to index the dups.
  • 2 Explore Dups -- Scan through the dups ( possible duplicate file directories ) and index them for later processing.
  • 3 Explore Keeps -- Scan through the keeps ( keep file directories ) and check against the dups ( ) deleting ( or otherwise processing ) them if they test as duplicates.

The above buttons will become inactive during the operations. The next set of buttons are always active: