Bug 244713 - Ability to execute a script when importing from camera
Summary: Ability to execute a script when importing from camera
Status: RESOLVED FIXED
Alias: None
Product: digikam
Classification: Applications
Component: Import-Gphoto2 (show other bugs)
Version: 2.8.0
Platform: Mandriva RPMs Linux
: NOR wishlist
Target Milestone: ---
Assignee: Digikam Developers
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-07-15 10:39 UTC by Philippe ROUBACH
Modified: 2017-08-16 06:14 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed In: 2.8.0


Attachments
Feature patch (15.77 KB, patch)
2012-07-20 09:16 UTC, Petri Damstén
Details
Screenshot for the patch (66.80 KB, image/png)
2012-07-20 09:17 UTC, Petri Damstén
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Philippe ROUBACH 2010-07-15 10:39:55 UTC
Version:           1.3.0 (using KDE 4.4.3) 
OS:                Linux

i want to synchronize xmp with iptc and exif automaticaly
then
i want to execute these 2 commands when importing photos

~/bin/exiftool/exiftool -@ exif2xmp.args -overwrite_original -ext <photo name> <album pathname>

it woul be a good thing if we can call a script like this

<path>xmpsynchronize %photo %album

thanks

~/bin/exiftool/exiftool -@ iptc2xmp.args -overwrite_original <photo name> <album pathname>

where <photo name> and <album pathname> are the current names used by digikam import procedure



Reproducible: Didn't try




OS: Linux (i686) release 2.6.33.5-desktop-2mnb
Compiler: gcc
Comment 1 Petri Damstén 2012-07-20 09:16:19 UTC
Created attachment 72643 [details]
Feature patch
Comment 2 Petri Damstén 2012-07-20 09:17:24 UTC
Created attachment 72644 [details]
Screenshot for the patch
Comment 3 Philippe ROUBACH 2012-07-20 10:21:14 UTC
thank you very much
Comment 4 caulier.gilles 2012-07-21 09:45:26 UTC
Islam,

 I CC you here because patch from Petri touch certainly your implementation in 3.0.0 branch. So to include this patch to trunk, you need to review it and after to patch current implementtion for next 2.8.0 release, you need to backport it in 3.0.0 branch.

Fine for you ?

Gilles Caulier
Comment 5 Islam Wazery 2012-07-22 02:22:52 UTC
Git commit f6f58142b7923f112da5ec93231ef358ddd9211f by Islam Wazery.
Committed on 22/07/2012 at 04:14.
Pushed by wazery into branch 'master'.

Apply patch from Petri Damstén to add the ability to execute scripts in import tool

M  +1    -0    utilities/cameragui/CMakeLists.txt
M  +42   -5    utilities/cameragui/controller/cameracontroller.cpp
M  +3    -2    utilities/cameragui/controller/cameracontroller.h
M  +3    -0    utilities/cameragui/controller/downloadsettings.h
M  +11   -1    utilities/cameragui/main/cameraui.cpp
M  +2    -0    utilities/cameragui/main/cameraui_p.h

http://commits.kde.org/digikam/f6f58142b7923f112da5ec93231ef358ddd9211f
Comment 6 Islam Wazery 2012-07-22 02:40:46 UTC
I just want to say thanks Petri for your patch.
Comment 7 Kristian Karl 2012-07-22 09:18:44 UTC
When I run CMake, I get following problem:
CMake Error at /usr/share/kde4/apps/cmake/modules/KDE4Macros.cmake:1032 (add_library):
  Cannot find source file:

    /home/krikar/dev/digikam/core/utilities/cameragui/widgets/scriptingsettings.cpp

  Tried extensions .c .C .c++ .cc .cpp .cxx .m .M .mm .h .hh .h++ .hm .hpp
  .hxx .in .txx
Call Stack (most recent call first):
  core/utilities/cameragui/CMakeLists.txt:34 (KDE4_ADD_LIBRARY)

Full CMake output:

[krikar@krikar-desktop build]$ rm -rf * && cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo -DCMAKE_INSTALL_PREFIX=`kde4-config --prefix` .. 
-- The C compiler identification is GNU 4.6.3
-- The CXX compiler identification is GNU 4.6.3
-- Check for working C compiler: /usr/lib64/ccache/gcc
-- Check for working C compiler: /usr/lib64/ccache/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working CXX compiler: /usr/lib64/ccache/c++
-- Check for working CXX compiler: /usr/lib64/ccache/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Looking for Q_WS_X11
-- Looking for Q_WS_X11 - found
-- Looking for Q_WS_WIN
-- Looking for Q_WS_WIN - not found.
-- Looking for Q_WS_QWS
-- Looking for Q_WS_QWS - not found.
-- Looking for Q_WS_MAC
-- Looking for Q_WS_MAC - not found.
-- Found Qt-Version 4.8.2 (using /usr/bin/qmake-qt4)
-- Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so;/usr/lib64/libXft.so;/usr/lib64/libXau.so;/usr/lib64/libXpm.so
-- Looking for XOpenDisplay in /usr/lib64/libX11.so;/usr/lib64/libXext.so;/usr/lib64/libXft.so;/usr/lib64/libXau.so;/usr/lib64/libXpm.so - found
-- Looking for gethostbyname
-- Looking for gethostbyname - found
-- Looking for connect
-- Looking for connect - found
-- Looking for remove
-- Looking for remove - found
-- Looking for shmat
-- Looking for shmat - found
-- Looking for IceConnectionNumber in ICE
-- Looking for IceConnectionNumber in ICE - found
-- Found X11: /usr/lib64/libX11.so
-- Looking for include file pthread.h
-- Looking for include file pthread.h - found
-- Looking for pthread_create
-- Looking for pthread_create - not found.
-- Looking for pthread_create in pthreads
-- Looking for pthread_create in pthreads - not found
-- Looking for pthread_create in pthread
-- Looking for pthread_create in pthread - found
-- Found Threads: TRUE  
-- Found OpenSSL: /usr/lib64/libssl.so
-- Looking for _POSIX_TIMERS
-- Looking for _POSIX_TIMERS - found
-- Found Automoc4: /usr/bin/automoc4 
-- Found Perl: /usr/bin/perl (found version "5.14.2") 
-- Found Phonon: /usr/include 
-- Performing Test _OFFT_IS_64BIT
-- Performing Test _OFFT_IS_64BIT - Success
-- Performing Test HAVE_FPIE_SUPPORT
-- Performing Test HAVE_FPIE_SUPPORT - Success
-- Performing Test __KDE_HAVE_W_OVERLOADED_VIRTUAL
-- Performing Test __KDE_HAVE_W_OVERLOADED_VIRTUAL - Success
-- Performing Test __KDE_HAVE_GCC_VISIBILITY
-- Performing Test __KDE_HAVE_GCC_VISIBILITY - Success
-- Found KDE 4.8 include dir: /usr/include/kde4
-- Found KDE 4.8 library dir: /usr/lib64/kde4/devel
-- Found the KDE4 kconfig_compiler4 preprocessor: /usr/bin/kconfig_compiler4
-- Found automoc4: /usr/bin/automoc4
-- /home/krikar/dev/digikam/po/ dir do not exists. Translations compilation disabled...
-- You can use DIGIKAMSC_CHECKOUT_PO option to extract po files from KDE repositories.
-- Local kdegraphics libraries will be compiled... NO
-- Handbooks will be compiled..................... YES
-- Extract translations files..................... NO
-- Translations will be compiled.................. NO
-- ----------------------------------------------------------------------------------
-- Starting CMake configuration for: libmediawiki
-- checking for module 'QJson>=0.7'
--   found QJson, version 0.7.1
-- Found QJSON: /usr/lib64/libqjson.so  (found version "0.7.1", required is "0.7")

-----------------------------------------------------------------------------
-- The following external packages were located on your system.
-- This installation will have the extra features provided by these packages.
-----------------------------------------------------------------------------
   * QJSON - Qt library for handling JSON data

-----------------------------------------------------------------------------
-- Congratulations! All external packages have been found.
-----------------------------------------------------------------------------

-- ----------------------------------------------------------------------------------
-- Starting CMake configuration for: libkgeomap
-- Found Qt-Version 4.8.2 (using /usr/bin/qmake-qt4)
-- Found X11: /usr/lib64/libX11.so
-- Found marble: /usr/include 
-- Check Kexiv2 library in local sub-folder...
-- Check Kexiv2 library using pkg-config...
-- WARNING: you are using the obsolete 'PKGCONFIG' macro, use FindPkgConfig
-- Found libkexiv2 release >= 1.0.0
-- Found libkexiv2: /usr/lib64/libkexiv2.so
-- kexiv2 found, the demo application will be compiled.
-- Looking for valgrind/valgrind.h
-- Looking for valgrind/valgrind.h - found
-- ----------------------------------------------------------------------------------
-- Starting CMake configuration for: libkface
-- Found Qt-Version 4.8.2 (using /usr/bin/qmake-qt4)
-- Found X11: /usr/lib64/libX11.so
-- First try at finding OpenCV...
-- Great, found OpenCV on the first try.
-- OpenCV Root directory is /usr/lib64/cmake/opencv
-- External libface was not found, use internal version instead...
-- ----------------------------------------------------------------------------------
-- Starting CMake configuration for: kipi-plugins
-- Check Kexiv2 library in local sub-folder...
-- Check Kexiv2 library using pkg-config...
-- WARNING: you are using the obsolete 'PKGCONFIG' macro, use FindPkgConfig
-- Found libkexiv2 release >= 1.0.0
-- Found libkexiv2: /usr/lib64/libkexiv2.so
-- Check Kdcraw library in local sub-folder...
-- Check Kdcraw library using pkg-config...
-- WARNING: you are using the obsolete 'PKGCONFIG' macro, use FindPkgConfig
-- Found libkdcraw release >= 0.2.0
-- Found libkdcraw: /usr/lib64/libkdcraw.so
-- Check Kipi library in local sub-folder...
-- Check Kipi library using pkg-config...
-- WARNING: you are using the obsolete 'PKGCONFIG' macro, use FindPkgConfig
-- Found libkipi release >= 1.0.0
-- Found libkipi: /usr/lib64/libkipi.so
-- Found JPEG: /usr/lib64/libjpeg.so  
-- Found ZLIB: /usr/lib64/libz.so (found version "1.2.5") 
-- Found PNG: /usr/lib64/libpng.so (found version "1.2.49") 
-- Found TIFF: /usr/lib64/libtiff.so (found version "3.9.6") 
CMake Warning at extra/kipi-plugins/CMakeLists.txt:139 (MESSAGE):
  libkdcraw: Version information not found, your version is probably too old.


-- Found EXPAT: /usr/lib64/libexpat.so (found version "2.1.0") 
-- Found LibXml2: /usr/lib64/libxml2.so 
-- Found LibXslt: /usr/lib64/libxslt.so
-- Found OpenGL: /usr/lib64/libGL.so  
-- checking for one of the modules 'libgpod-1.0'
-- libgpod dir: 
-- libgpod lib: 
-- libgpod def: 
-- libgpod ver: 
-- checking for module 'gdk-pixbuf-2.0'
--   found gdk-pixbuf-2.0, version 2.24.1
-- Found Gdk: /usr/include/gdk-pixbuf-2.0 
-- Found GLIB2: /usr/lib64/libglib-2.0.so 
-- checking for module 'gobject-2.0'
--   found gobject-2.0, version 2.30.3
-- Found GOBJECT: /usr/lib64/libgobject-2.0.so;/usr/lib64/libgmodule-2.0.so;/usr/lib64/libgthread-2.0.so;/usr/lib64/libglib-2.0.so 
-- Found KdepimLibs: /usr/lib64/cmake/KdepimLibs/KdepimLibsConfig.cmake 
-- Found QCA2: /usr/lib64/libqca.so 
-- Check for Ksane library in local sub-folder...
-- Check Ksane library using pkg-config...
-- checking for one of the modules 'libksane'
-- Found libksane release 0.3.0
-- Found libksane: /usr/lib64/libksane.so
-- Check for KGeoMap library in local sub-folder...
-- Found KGeoMap library in local sub-folder: /home/krikar/dev/digikam/extra/libkgeomap
-- Check Mediawiki library in local sub-folder...
-- Found Mediawiki library in local sub-folder: /home/krikar/dev/digikam/extra/libmediawiki
-- Check Vkontakte library in local sub-folder...
-- Found Vkontakte library in local sub-folder: /home/krikar/dev/digikam/extra/libkvkontakte
-- Boost version: 1.47.0
-- libkgeomap: Found version 2.0.0
-- Found X11: /usr/lib64/libX11.so
-- CMake version: cmake version 2.8.8

-- CMake version (cleaned): cmake version 2.8.8

-- Try OpenMP C flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Try OpenMP CXX flag = [-fopenmp]
-- Performing Test OpenMP_FLAG_DETECTED
-- Performing Test OpenMP_FLAG_DETECTED - Success
-- Found OpenMP: -fopenmp  
-- 
-- ----------------------------------------------------------------------------------
--  kipi-plugins 2.8.0 dependencies results   <http://www.digikam.org>
-- 
--  libjpeg library found.................... YES
--  libtiff library found.................... YES
--  libpng library found..................... YES
--  libkipi library found.................... YES
--  libkexiv2 library found.................. YES
--  libkdcraw library found.................. YES
--  libxml2 library found.................... YES (optional)
--  libxslt library found.................... YES (optional)
--  libexpat library found................... YES (optional)
--  native threads support library found..... YES (optional)
--  libopengl library found.................. YES (optional)
--  Qt4 OpenGL module found.................. YES
--  libopencv library found.................. YES (optional)
--  QJson library found...................... YES (optional)
--  libgpod library found.................... NO  (optional)
--  Gdk library found........................ YES (optional)
--  libkdepim library found.................. YES (optional)
--  qca2 library found....................... YES (optional)
--  libkgeomap library found................. YES (optional)
--  libmediawiki library found............... YES (optional)
--  libkvkontakte library found.............. YES (optional)
--  boost library found...................... YES (optional)
--  OpenMP library found..................... YES (optional)
--  libX11 library found..................... YES (optional)
--  libksane library found................... YES (optional)
-- 
--  kipi-plugins will be compiled............ YES
--  Shwup will be compiled................... YES (optional)
--  YandexFotki will be compiled............. YES (optional)
--  HtmlExport will be compiled.............. YES (optional)
--  AdvancedSlideshow will be compiled....... YES (optional)
--  ImageViewer will be compiled............. YES (optional)
--  AcquireImages will be compiled........... YES (optional)
--  DNGConverter will be compiled............ YES (optional)
--  RemoveRedEyes will be compiled........... YES (optional)
--  Debian Screenshots will be compiled...... YES (optional)
--  Facebook will be compiled................ YES (optional)
--  Imgur will be compiled................... YES (optional)
--  VKontakte will be compiled............... YES (optional)
--  IpodExport will be compiled.............. NO  (optional - Look README file for more details about dependencies)
--  Calendar will be compiled................ YES (optional)
--  GPSSync will be compiled................. YES (optional)
--  Mediawiki will be compiled............... YES (optional)
--  Panorama will be compiled................ YES (optional)
-- ----------------------------------------------------------------------------------
-- 
-- Check if the system is big endian
-- Searching 16 bit integer
-- Looking for sys/types.h
-- Looking for sys/types.h - found
-- Looking for stdint.h
-- Looking for stdint.h - found
-- Looking for stddef.h
-- Looking for stddef.h - found
-- Check size of unsigned short
-- Check size of unsigned short - done
-- Using unsigned short
-- Check if the system is big endian - little endian
-- ----------------------------------------------------------------------------------
-- Starting CMake configuration for: digiKam
-- Found Jasper: /usr/lib64/libjasper.so (found version "1.900.1") 
-- Check Kdcraw library in local sub-folder...
-- Check Kdcraw library using pkg-config...
-- WARNING: you are using the obsolete 'PKGCONFIG' macro, use FindPkgConfig
-- Found libkdcraw release >= 0.2.0
-- Found libkdcraw: /usr/lib64/libkdcraw.so
-- Check Kexiv2 library in local sub-folder...
-- Check Kexiv2 library using pkg-config...
-- WARNING: you are using the obsolete 'PKGCONFIG' macro, use FindPkgConfig
-- Found libkexiv2 release >= 1.0.0
-- Found libkexiv2: /usr/lib64/libkexiv2.so
-- Check Kipi library in local sub-folder...
-- Check Kipi library using pkg-config...
-- WARNING: you are using the obsolete 'PKGCONFIG' macro, use FindPkgConfig
-- Found libkipi release >= 1.0.0
-- Found libkipi: /usr/lib64/libkipi.so
-- Check Kface library in local sub-folder...
-- Found Kface library in local sub-folder: /home/krikar/dev/digikam/extra/libkface
-- Check for KGeoMap library in local sub-folder...
-- Found KGeoMap library in local sub-folder: /home/krikar/dev/digikam/extra/libkgeomap
-- checking for module 'libpgf'
--   found libpgf, version 6.11.42
-- PGF_INCLUDE_DIRS     = /usr/include/libpgf
-- PGF_INCLUDEDIR       = /usr/include/libpgf
-- PGF_LIBRARIES        = pgf
-- PGF_LDFLAGS          = -lpgf
-- PGF_CFLAGS           = -I/usr/include/libpgf
-- PGF_VERSION          = 6.11.42
-- PGF_CODEC_VERSION_ID = 61142
-- Could NOT find any working clapack installation
-- Check for LCMS1 availability...
-- checking for module 'lcms'
--   found lcms, version 1.19
-- Found LCMS: /usr/lib64/liblcms.so 
-- Found LCMS1: /usr/lib64/liblcms.so /usr/include
-- Paralelized PGF codec disabled...
-- Identified libjpeg version: 62
-- Found MySQL server executable at: /usr/libexec/mysqld
-- Found MySQL install_db executable at: /usr/bin/mysql_install_db
CMake Warning at core/CMakeLists.txt:310 (MESSAGE):
  libkdcraw: Version information not found, your version is probably too old.


-- libkgeomap: Found version 2.0.0
-- Found gphoto2: -L/lib64 -lgphoto2_port -lm -lusb;-L/lib64 -lgphoto2 -lgphoto2_port -lm -lexif -lusb
-- Found LIBUSB: /lib64/libusb.so 
-- WARNING: you are using the obsolete 'PKGCONFIG' macro, use FindPkgConfig
-- Found LensFun: /usr/include 
-- WARNING: you are using the obsolete 'PKGCONFIG' macro, use FindPkgConfig
-- Performing Test HAVE_LQR_0_4
-- Performing Test HAVE_LQR_0_4 - Success
-- Found Lqr-1: /usr/include/lqr-1 
-- Found Soprano: /usr/include 
-- Found SharedDesktopOntologies: /usr/share/ontology 
-- Found Nepomuk: /usr/lib64/kde4/devel/libnepomuk.so;/usr/lib64/libsoprano.so 
-- Found SharedDesktopOntologies: /usr/share/ontology  (found version "0.8.1", required is "0.2")
-- Found Doxygen: /usr/bin/doxygen (found version "1.7.5") 
-- 
-- ----------------------------------------------------------------------------------
--  digiKam 2.8.0 dependencies results   <http://www.digikam.org>
-- 
--  Qt4 SQL module found..................... YES
--  MySQL Server found....................... YES
--  MySQL install_db tool found.............. YES
--  libtiff library found.................... YES
--  libpng library found..................... YES
--  libjasper library found.................. YES
--  liblcms library found.................... YES
--  Boost Graph library found................ YES
--  libkipi library found.................... YES
--  libkexiv2 library found.................. YES
--  libkdcraw library found.................. YES
--  libkface library found................... YES
--  libkgeomap library found................. YES
--  libpgf library found..................... YES (optional)
--  libclapack library found................. NO  (optional - internal version used instead)
--  libgphoto2 and libusb libraries found.... YES (optional)
--  libkdepimlibs library found.............. YES (optional)
--  Nepomuk libraries found.................. YES (optional)
--  libglib2 library found................... YES (optional)
--  liblqr-1 library found................... YES (optional)
--  liblensfun library found................. YES (optional)
--  Doxygen found............................ YES (optional)
--  digiKam can be compiled.................. YES
-- ----------------------------------------------------------------------------------
-- 
-- Adjusting compilation flags for GCC version ( 4.6.3 )
-- Configuring done
CMake Error at /usr/share/kde4/apps/cmake/modules/KDE4Macros.cmake:1032 (add_library):
  Cannot find source file:

    /home/krikar/dev/digikam/core/utilities/cameragui/widgets/scriptingsettings.cpp

  Tried extensions .c .C .c++ .cc .cpp .cxx .m .M .mm .h .hh .h++ .hm .hpp
  .hxx .in .txx
Call Stack (most recent call first):
  core/utilities/cameragui/CMakeLists.txt:34 (KDE4_ADD_LIBRARY)


-- Build files have been written to: /home/krikar/dev/digikam/build
Comment 8 Kristian Karl 2012-07-22 09:59:16 UTC
^ I forgot to tell that I'm building from latest on master.
Comment 9 caulier.gilles 2012-07-22 14:52:38 UTC
Right... 

Islam, you forget to add files to git. patch command line use file in you computer but don't ask to git to add new files. You need to do it by hand... Only already existing files which are changed have been committed to repository.

Gilles
Comment 10 Islam Wazery 2012-07-22 16:11:05 UTC
Git commit 7ea4ed29996bb114f9b2c5c93b530ac99a40b022 by Islam Wazery.
Committed on 22/07/2012 at 18:09.
Pushed by wazery into branch 'master'.

Some forgotten files from Petri's patch

A  +132  -0    utilities/cameragui/widgets/scriptingsettings.cpp     [License: GPL (v2+)]
A  +69   -0    utilities/cameragui/widgets/scriptingsettings.h     [License: GPL (v2+)]

http://commits.kde.org/digikam/7ea4ed29996bb114f9b2c5c93b530ac99a40b022