I'm very new to QGIS and Python (although years ago had some programming experience with C++), but have been muddling through with a fairly large project cataloging cemetery plots at the moment.
I currently have a custom form used for taking photos and cross referencing existing data, taking a photo and linking with physically surveyed plots.
What I'm hoping to do is take a few steps out of taking a photo and linking it with an existing record. What currently happens is, the user switches to the camera app, takes the photo, and then comes back into QGIS to search for the file and link to the record in the custom form.
What I would like to do is have a button in my custom form that when selected launces the camera app, and once closed automatically looks for the newest file in the camera directory. I have managed to achieve this to a certain extent in the python console with the following:
import os import subprocess subprocess.call(['notepad.exe']) path="C:\\temp\\" file_list=os.listdir(path) dated_files = [(os.path.getctime(path + fn), os.path.basename(path + fn)) for fn in file_list] dated_files.sort() dated_files.reverse() newest = dated_files return_string= path + newest
Obviously the notepad.exe call and path variable will be updated once on the data collection computer, but this seems to work for testing so far...
I am now struggling with how this would be put into the script for "Python Init Function" in QGIS so that it runs when a button box is pressed and then modifies the value within the form.