MetaTagger
Create the file subset
The file subset is the basis for the following bulk actions:
- tagging
- exporting
- deletion
Initially the subset is empty, but files can be added (and removed) on the basis of
their tags or of their file system characteristics (i.e. path, name , extension).
Since the file subset is only
cleared when you press the
New list button then
it is possible to :
- Define the criteria for a file subset
- Create that file subset using Apply Filters
- Define another set of selection criteria, and implement it,
thus refining / extending the list.
In the upper half of the panels for
Power Tagging ,
Files to Folder and
Delete Files,
under the grey row ( Action Tag Group Filter Tag Name ) area there are 8 rows
each of which defines selection critera for the inclusion, or removal, of files in a subset of the database.
The
Action column defines the main part of the inclusion or removal activity.
The following actions cause files to be
added to the subset.
Action |
Add rows to the file sublist if: |
add only
|
has only got the specified tag in the specified group. (Tags in other groups are allowed.)
|
add == |
has atleast the specified group & tag |
add <> |
has not got the specified group & ta |
add any |
has any tag in the specified group |
add non |
has no tag in the specified group |
add == |
has any tag with the partial string (Filter column) in the specified group |
add <> |
has no tag with the partial string (Filter column) in the specified group |
tag == |
tags in specified group are identical with those of current file (blueish panel) |
tag <> |
tags in specified group are not identical with those of current file (blueish panel) |
tags == |
tags in all groups are identical with those of current file (blueish panel) |
tags <> |
tags in all groups are not identical with those of current file (blueish panel) |
duplicate |
has a non-unique hash value |
The following actions cause files to be
removed from the subset.
Action |
Remove rows from file sublist if: |
remove ==
|
has atleastthe specified group & tag |
remove <> |
has not got any tag in the specified group & tag |
remove any |
has any tag in the specified group |
remove non |
has no tag in the specified group |
remove ==? |
has any tag with the partial string (Filter column) in the specified group |
remove <>? |
has no tag with the partial string (Filter column) in the specified group
|
-unchanged |
remove rows that were unchanged in the last rescan |
-new |
remove rows that were added in the last rescan |
-changed |
remove rows that changed in the last rescan |
Rather than create an even larger set of filter actions I have implemented
two low level filters:
- Insert where
a wrapper for the SQLite statement:
insert into SubList select rowid, * from master where type like 'file' and (
XX )
- Delete where
a wrapper for the SQLite statement:
delete from SubList where type like 'file' and (
XX )
In each case the user provides the
XX.
The following table shows
examples of
XX which could be placed
in the edit fields of the
Insert where and
Delete where low level
filter options. But note: it is entirely possible to access tags using low level filters but since the
tag delimiter includes a non-printable character then the syntax is a bit complicated. Hopefully the tag related
requirements are covered in the two tables above.
Where clause |
what it selects |
path like '%fred%' |
path name of row contains the substring fred
>> |
name like '%fred%' |
file name of row contains the substring fred |
ext in ('jpg','bmp') |
ext must be either jpg or bmp. Warning in is case sensitive
>> |
ext like 'jpg' or ext like 'bmp' |
ext must be either jpg or bmp. Note: is case insensitive |
size = 0 |
file has no contents |
size < 1000 and ext like 'jpg' |
smallish jpg images |
To force the subset to be empty, click on the
New List button.
Filter actions will be
executed when the
Apply Filters button is pressed.