Kodi Community Forum
Pictures database and library mode; scan EXIF and IPTC metadata tags into a SQL db - Printable Version

+- Kodi Community Forum (http://forum.kodi.tv)
+-- Forum: Development (/forumdisplay.php?fid=32)
+--- Forum: Python Add-on Development (/forumdisplay.php?fid=26)
+--- Thread: Pictures database and library mode; scan EXIF and IPTC metadata tags into a SQL db (/showthread.php?tid=80845)

Pages: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27


RE: Pictures database and library mode; scan EXIF and IPTC metadata tags into a SQL db - mhdebokx - 2012-03-12 18:45

(2012-03-12 17:47)LoL Wrote:  which programs do you guys use for tagging?

http://www.geosetter.de/en/


RE: Branch is not a release - fiveisalive - 2012-03-12 20:57

(2012-03-12 16:38)Xycl Wrote:  No, I won't do it because as already told I don't get enough time and fixing the unicode errors was a time-consuming task. Each corrected error produced several successive errors

Fair enough. That was why I suggested perhaps importing the code to github, so we could co-ordinate your changes and I could try and restore the additional code that wasn't in the last stable Dharma version of the add-on. As I said, I'm very interested in helping co-maintain the addon in the future as I'll have to switch to Eden soon, so my Dharma version of the addon will need to be updated.

Hopefully alexsolex can chime and either rejoin the development, or he could declare it orphaned so that the community can pick it up.

Quote:I don't know why alexsolex decided to branch plugin's code without taking care of addons.xml version number and the changelog. Perhaps it was just a mistake. Perhaps because it was just a branch and never meant to go productive?

Although it was technically a "branch" in SVN, it was the only place development took place (trunk wasn't used after the initial import AFAICT).

Quote:But I took the latest available stable (and highest) version from official xbmc dharma plugin repository.
That was my working basis.

Got it, that definitely missed out some major features (which work just fine).


RE: Pictures database and library mode; scan EXIF and IPTC metadata tags into a SQL db - Xycl - 2012-03-12 21:18

(2012-03-12 17:34)mhdebokx Wrote:  In the Alex version I was able to scan my NAS, but I can not acces the NAS from the this addon. I tried several rootpaths

\\ username : password @ localipnumber\photo\1901 Michel\

smb:\\ username : password @ localipnumber\photo\1901 Michel\

smb:// username : password @ localipnumber /photo/1901 Michel/

In the beginning the Alex addon has the same problem, but is solved. Or is it an Eden bug conserning SMB access ?
Or is this also an difference between the official repo en the 1.80 version on GoogleCode ?
Windows: Assign a drive letter to the share
Linux / Mac: Mount the share into a local directory
Then add the path as a local picture path.

Not sophisticated but works.


Beta Testers needed - Xycl - 2012-03-14 03:04

I corrected the last Dharma version found in alexsolex google svn branch.
If you use Eden then please install plugin.image.mypicsdb-0.6.0.zip. It's not part of my repository. Therefore it won't automatically update.
I didn't test categories, suplement categories, geolocations & videos. Please test these categories with non latin characters.
If you find a bug please supply an example picture, the tag and the expected string.

Update
plugin.image.mypicsdb-0.6.1.zip should now work.


RE: Pictures database and library mode; scan EXIF and IPTC metadata tags into a SQL db - nozomi - 2012-03-21 14:36

Great that this plugin is alive again! Smile

I have a question about using a separate profile in xbmc (not master user):

I can't get access to my home picture folder when adding a path to the database.
The only folder I get to scan is the "Picture Add-ons one" Sad
Any idea how to fix this?

I'm using OSX by the way.

//thanks


RE: Pictures database and library mode; scan EXIF and IPTC metadata tags into a SQL db - Xycl - 2012-03-21 19:45

(2012-03-21 14:36)nozomi Wrote:  I can't get access to my home picture folder when adding a path to the database.
The only folder I get to scan is the "Picture Add-ons one" Sad

I think that you don't even see pictures without using this plugin because you forgot to add picture/video/music sources to the new profile


RE: Beta Testers needed - fiveisalive - 2012-03-22 21:08

(2012-03-14 03:04)Xycl Wrote:  I corrected the last Dharma version found in alexsolex google svn branch.
If you use Eden then please install plugin.image.mypicsdb-0.6.0.zip. It's not part of my repository. Therefore it won't automatically update.
I didn't test categories, suplement categories, geolocations & videos. Please test these categories with non latin characters.
If you find a bug please supply an example picture, the tag and the expected string.

Update
plugin.image.mypicsdb-0.6.1.zip should now work.

Thanks, I'll give it a try. By the way, has anybody tried to contact alexsolex directly to see if he's interested in formally handing over this project? If not, I'll try to contact him. I'm willing to migrate the Google code SVN repo, add the new changesdone by Xycl and put this on github.


RE: Pictures database and library mode; scan EXIF and IPTC metadata tags into a SQL db - Xycl - 2012-03-26 21:41

+1 for a github repo.
Please try to contact alexsolex.

Version 0.6.2 available (now part of my repo). I hope that I've fixed all possible combinations of unicode errors.


RE: Pictures database and library mode; scan EXIF and IPTC metadata tags into a SQL db - Xycl - 2012-03-26 22:16

Suggestion for further development:

1)
There are two tables e.g. Cities & CitiesInFiles for each supported exif, iptc or xmp tag.
Therefore adding new kinds of tags is quite time consuming.
2 tables, 3 database class methods and the menu handling must be added.

Instead of using a table like Cities (key, content) or Categories (key, content) a meta table (key, tag-type, content) would be better because then adding new tags types is only done in file parser. Selecting the tag types from meta table and adding menu items can be done programmatically.
There would be only one menu item "keyword" or "tag" which opens a sub menu displaying all available tag types from meta table.

2)
There should be a mapping table. Then we can join e.g. iptc keyword tag with exif xpkeyword tag. The user would only see one menu item called keyword.

3)
An advanced filter. Perhaps a wizard.
Select pictures from country abc with keyword xyz containing person def. Needs 1) otherwise it's not maintainable.

Any opinions?


RE: Pictures database and library mode; scan EXIF and IPTC metadata tags into a SQL db - fungify - 2012-03-27 00:41

And from a user perspective:

The ability to disable automatic rescanning of all images each time the plugin is started. Maybe even the possibility to scan at specified times (as a service) daily or when called from a script.

Really glad that someone has picked up the development of this plugin.

FFY


RE: Pictures database and library mode; scan EXIF and IPTC metadata tags into a SQL db - Xycl - 2012-03-27 12:06

(2012-03-27 00:41)fungify Wrote:  The ability to disable automatic rescanning of all images each time the plugin is started.

You can disable the automatic scanning in the plugin settings. Click Pictures->Add ons then select MyPicsDB and open with right mouse click or "C" the plugin settings.


RE: Pictures database and library mode; scan EXIF and IPTC metadata tags into a SQL db - fmronan - 2012-03-27 18:00

the 0.6.2 don't work for me (ubuntu 11.10 and xbmc eden final)

Code:
17:57:27 T:2913991536   DEBUG: StartScript - calling plugin My Pictures Database('plugin://plugin.image.mypicsdb/','0','')
17:57:27 T:2913991536    INFO: initializing python engine.
17:57:27 T:2913991536   DEBUG: new python thread created. id=11
17:57:27 T:2913991536   DEBUG: WaitOnScriptResult - waiting on the My Pictures Database plugin...
17:57:27 T:2951736176   DEBUG: Thread XBPyThread start, auto delete: 0
17:57:27 T:2951736176   DEBUG: Python thread: start processing
17:57:27 T:2951736176  NOTICE: -->Python Interpreter Initialized<--
17:57:27 T:2951736176   DEBUG: Process - The source file to load is /home/guevel/.xbmc/addons/plugin.image.mypicsdb/default.py
17:57:27 T:2951736176   DEBUG: Process - Setting the Python path to /home/guevel/.xbmc/addons/plugin.image.mypicsdb:/home/guevel/.xbmc/addons/script.module.dialogaddonscan/lib:/usr/share/xbmc/addons/script.module.simplejson/lib:/home/guevel/.xbmc/addons/script.module.beautifulsoup/lib:/usr/share/xbmc/addons/script.module.pil/lib:/home/guevel/.xbmc/addons/script.common.plugin.cache/lib:/home/guevel/.xbmc/addons/script.module.elementtree/lib:/usr/share/xbmc/addons/script.module.pysqlite/lib:/usr/lib/python2.7:/usr/lib/python2.7/plat-linux2:/usr/lib/python2.7/lib-tk:/usr/lib/python2.7/lib-old:/usr/lib/python2.7/lib-dynload:/usr/local/lib/python2.7/dist-packages:/usr/lib/python2.7/dist-packages:/usr/lib/python2.7/dist-packages/PIL:/usr/lib/python2.7/dist-packages/gst-0.10:/usr/lib/python2.7/dist-packages/gtk-2.0:/usr/lib/pymodules/python2.7:/usr/lib/python2.7/dist-packages/ubuntu-sso-client:/usr/lib/python2.7/dist-packages/ubuntuone-client:/usr/lib/python2.7/dist-packages/ubuntuone-control-panel:/usr/lib/python2.7/dist-packages/ubuntuone-couch:/usr/lib/python2.7/dist-packages/ubuntuone-installer:/usr/lib/python2.7/dist-packages/ubuntuone-storage-protocol:
17:57:27 T:2951736176   DEBUG: Process - Entering source directory /home/guevel/.xbmc/addons/plugin.image.mypicsdb
17:57:27 T:2951736176   DEBUG: Instantiating addon using automatically obtained id of "plugin.image.mypicsdb" dependent on version 2.0 of the xbmc.python api
17:57:27 T:2951736176  NOTICE: MyPicturesDB plugin called :
17:57:27 T:2951736176  NOTICE: plugin://plugin.image.mypicsdb/
17:57:27 T:2951736176  NOTICE: --------------------
17:57:27 T:2951736176  NOTICE: Previous line repeats 1 times.
17:57:27 T:2951736176  NOTICE: 3
17:57:27 T:2951736176    INFO: -->Python script returned the following error<--
17:57:27 T:2951736176   ERROR: Error Type: <type 'exceptions.TypeError'>
17:57:27 T:2951736176   ERROR: Error Contents: not all arguments converted during string formatting
17:57:27 T:2951736176   ERROR: Traceback (most recent call last):
                                              File "/home/guevel/.xbmc/addons/plugin.image.mypicsdb/default.py", line 1367, in <module>
                                                m.show_home()
                                              File "/home/guevel/.xbmc/addons/plugin.image.mypicsdb/default.py", line 225, in show_home
                                                self.addDir(unescape(__language__(30209))%Addon.getSetting("recentnbdays"),[("method","recentpicsdb"),("period",""),("value",""),("page","1"),("viewmode","view")],
                                            TypeError: not all arguments converted during string formatting
17:57:27 T:2951736176    INFO: -->End of Python script error report<--
17:57:27 T:2951736176    INFO: Python script stopped
17:57:27 T:2951736176   DEBUG: Thread XBPyThread 2951736176 terminating
17:57:27 T:2913991536   DEBUG:  WaitOnScriptResult - plugin exited prematurely - terminating
17:57:27 T:9032880   ERROR: GetDirectory - Error getting plugin://plugin.image.mypicsdb
17:57:27 T:9032880   ERROR: CGUIMediaWindow::GetDirectory(plugin://plugin.image.mypicsdb) failed
17:57:27 T:9032880   DEBUG: CGUIMediaWindow::GetDirectory (addons://sources/image/)
17:57:27 T:9032880   DEBUG:   ParentPath = []



RE: Pictures database and library mode; scan EXIF and IPTC metadata tags into a SQL db - Xycl - 2012-03-27 19:28

(2012-03-27 18:00)fmronan Wrote:  the 0.6.2 don't work for me (ubuntu 11.10 and xbmc eden final)

Problem is the dutch & french translation.
I change id 30201 till 30213 in both string.xml files to english and tested them in dutch & french.
Please translate them and post your translation.

Update to version 0.6.3 is available.


RE: Pictures database and library mode; scan EXIF and IPTC metadata tags into a SQL db - fiveisalive - 2012-03-27 19:33

(2012-03-26 21:41)Xycl Wrote:  +1 for a github repo.
Please try to contact alexsolex.

Version 0.6.2 available (now part of my repo). I hope that I've fixed all possible combinations of unicode errors.

I wonder if you'd consider putting up your repo:

http://www.xycl.de/xbmc/repository.xycl.abandoned.dharma.zip

on the list at:

http://wiki.xbmc.org/index.php?title=Unofficial_add-on_repositories

that way the Repositories Installer Add-on can more easily install it. I had to manually search for the link to the zip file from your site, manually download it, then install it within XBMC. Thanks.
Just updated to 0.6.3. When I try to add a path, e.g. /home/foo/Pictures, it generates an error, and no path is added. Here's the log:

Code:
13:37:18 T:140208971437824  NOTICE: Previous line repeats 1 times.
13:37:18 T:140208971437824  NOTICE: 0
13:37:31 T:140208971437824  NOTICE: MyPicsDB >> SQL > SELECT DISTINCT strPath FROM files
13:37:31 T:140208971437824  NOTICE: MyPicsDB >> ERROR : DB_cleanup_keywords ...
13:37:31 T:140208971437824  NOTICE: MyPicsDB >> <type 'exceptions.Exception'> - no such table: TagsInFiles
13:37:31 T:140208971437824   ERROR: Error Type: <class 'sqlite3.OperationalError'>
13:37:31 T:140208971437824   ERROR: Error Contents: no such table: TagsInFiles
13:37:31 T:140208971437824   ERROR: Traceback (most recent call last):
                                              File "/home/foo/.xbmc/addons/plugin.image.mypicsdb/default.py", line 1422, in <module>
                                                m.show_roots()
                                              File "/home/foo/.xbmc/addons/plugin.image.mypicsdb/default.py", line 746, in show_roots
                                                MPDB.AddRoot(newroot,recursive,update,0)#TODO : traiter le exclude (=0 pour le moment) pour gérer les chemins à exclure
                                              File "/home/foo/.xbmc/addons/plugin.image.mypicsdb/resources/lib/MypicsDB.py", line 932, in AddRoot
                                                DB_cleanup_keywords()
                                              File "/home/foo/.xbmc/addons/plugin.image.mypicsdb/resources/lib/MypicsDB.py", line 430, in DB_cleanup_keywords
                                                cn.execute( "delete from TagsInFiles where idFile not in(select idFile from Files )")
                                            OperationalError: no such table: TagsInFiles
13:37:31 T:140210039982144   ERROR: GetDirectory - Error getting plugin://plugin.image.mypicsdb/?do='addroot'&viewmode='view'&exclude='0'&action='rootfolders'&name='%5BB%5DAdd%5B%2FB%5D+a+path+to+database'
13:37:31 T:140210039982144   ERROR: CGUIMediaWindow::GetDirectory(plugin://plugin.image.mypicsdb/?do='addroot'&viewmode='view'&exclude='0'&action='rootfolders'&name='%5BB%5DAdd%5B%2FB%5D+a+path+to+database') failed
13:37:31 T:140208971437824  NOTICE: -->Python Interpreter Initialized<--
13:37:31 T:140208971437824  NOTICE: MyPicturesDB plugin called :
13:37:31 T:140208971437824  NOTICE: plugin://plugin.image.mypicsdb/?do='showroots'&viewmode='view'&action='rootfolders'&name='Paths+of+pictures+folders'
13:37:31 T:140208971437824  NOTICE: --------------------
13:37:31 T:140208971437824  NOTICE: Previous line repeats 1 times.
13:37:31 T:140208971437824  NOTICE: 0
13:37:31 T:140208971437824  NOTICE: MyPicsDB >> SQL > SELECT path,recursive,remove,exclude FROM Rootpaths ORDER BY path



RE: Pictures database and library mode; scan EXIF and IPTC metadata tags into a SQL db - Xycl - 2012-03-27 20:29

Please try version 0.6.4