Quick Tip: A Simple Python Script to Launch digiKam

I store all my photos on a Linux server and mount the remote directory containing all the photos on my local machine using sshfs (see Manage Photos from Multiple digiKam Installations). This way, I can access my photos from multiple digiKam installations. This setup works like a charm, except for one thing: when I inadvertently launch digiKam before I mount the remote directory, the application doesn’t show photos from remote albums. What’s worse, after I mount the remote directory and restart digiKam, it takes the application a long time to rescan all remote albums. To fix this annoyance, I wrote a simple Python script:

#!/usr/bin/env python
import os, wx
path = '/home/dmpop/photos/'
app = wx.PySimpleApp()
if not os.listdir(path):
    message = wx.MessageDialog(None, "The remote share is not mounted.", "Error", wx.OK)
    message.ShowModal()
    message.Destroy()
else:
    os.system("digikam")

The script checks whether the folder where the remote directory is mounted to (in this case, it’s /home/dmpop/photos/) is empty or not. If the directory is empty, the script displays an error message; otherwise it launches digiKam. For this script to work you need to install the python-wxversion package using the sudo apt-get install python-wxversion command on Ubuntu. Alternatively, you can modify the script to abort the operation instead of displaying an error message:

#!/usr/bin/env python
import os, wx
path = '/home/dmpop/photos/'
if not os.listdir(path):
    sys.exit()
else:
    os.system("digikam")

That’s all there is to it. Grab the script, make it executable using the chmod o+x digikam.py command, and assign a keyboard shortcut, and your custom digiKam launcher is ready to go.

Freelance tech writer covering Linux and open source software

Tagged with: , , ,
Posted in Open Source, Scribbles, Software
Follow

Get every new post delivered to your Inbox.

Join 184 other followers

%d bloggers like this: