Re: [Shotwell] How to delete a photo from the shotwell databse
- From: Larry Bradley <shotwell stz9z ncf ca>
- To: Jens Georg <mail jensge org>
- Cc: Shotwell List <shotwell-list gnome org>
- Subject: Re: [Shotwell] How to delete a photo from the shotwell databse
- Date: Mon, 09 Apr 2018 10:28:49 -0400
My program doesn't do a lot more than recent versions of Shotwell do. It is just a bit more convenient for adding tags and titles.
The user sees the photo, and there is a window where he can add tags (it is actually a drop-down list with predefined tags for my purposes) and a window where he can enter a description.
The tags get added to the Shotwell tag table, and the description is used as the title.
However, there is also a SQLITE3 virtual table, containing the photoid, the description, and the tags. The SQLITE full-text search facility allows you to do sophisticated searches , for example find all the photos with the words "Larry " OR "Diane" AND NOT "Fred". It also allows proximity searches.
Since the description field gets stored in the phototable as the title, Shotwell can also perform full-text search (which works very well - I like the incremental search) but it is limited to an AND operation - find the photos whose title contains ALL the words.
I think it would be easy (!) in Shotwell to make the windows for editing tags and titles larger, which would be much more convenient.
The use of a virtual table that contains the title and the tags would allow a more sophisticated search facility:
Look for grandchildren (a tag) and "Harry OR Sally" to find all the photos with the tag "grandchildrer" with either Harry or Sally in the title.
On Mon, 2018-04-09 at 09:18 +0200, Jens Georg wrote:
Do you plan to remove the list of tags, and have one entry per tag?
Yes, something like that. Make proper normalized tables etc.
The problem for my app was given a photo id, find all the tag table
entries with this "thumb id" and then remove the thumb and write the
data back, rather than just finding all the records with the thumb and
deleting them.
I realize that not many people are going to want to process the data
outside of Shotwell, but having a good description of the various
tables and their relationships would be useful.
There is a little bit of information available here:
https://wiki.gnome.org/Apps/Shotwell/Architecture/Database
Many years ago I wrote a program to catalog photos (this was before I
heard about Shotwell. It used a database system with full-text search
abilities.
When I switched to Shotwell, I rewrote the program in Python, and
added a virtual table to the Shotwell database to make Boolean
searching easy. This I can use all the of the SQLITE3 full-text search
capabilities to find photos.
Would you care to explain a bit deeper what you are doing there?
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]