diff --git a/capture-image.py b/capture-image.py new file mode 100755 index 0000000..06dd883 --- /dev/null +++ b/capture-image.py @@ -0,0 +1,48 @@ +#!/usr/bin/env python + +# python-gphoto2 - Python interface to libgphoto2 +# http://github.com/jim-easterbrook/python-gphoto2 +# Copyright (C) 2015-22 Jim Easterbrook jim@jim-easterbrook.me.uk +# +# This program is free software: you can redistribute it and/or modify +# it under the terms of the GNU General Public License as published by +# the Free Software Foundation, either version 3 of the License, or +# (at your option) any later version. +# +# This program is distributed in the hope that it will be useful, +# but WITHOUT ANY WARRANTY; without even the implied warranty of +# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the +# GNU General Public License for more details. +# +# You should have received a copy of the GNU General Public License +# along with this program. If not, see . + +import logging +import locale +import os +import subprocess +import sys + +import gphoto2 as gp + +def main(): + locale.setlocale(locale.LC_ALL, '') + logging.basicConfig( + format='%(levelname)s: %(name)s: %(message)s', level=logging.WARNING) + callback_obj = gp.check_result(gp.use_python_logging()) + camera = gp.Camera() + camera.init() + print('Capturing image') + file_path = camera.capture(gp.GP_CAPTURE_IMAGE) + print('Camera file path: {0}/{1}'.format(file_path.folder, file_path.name)) + target = os.path.join('/tmp', file_path.name) + print('Copying image to', target) + camera_file = camera.file_get( + file_path.folder, file_path.name, gp.GP_FILE_TYPE_NORMAL) + camera_file.save(target) + subprocess.call(['xdg-open', target]) + camera.exit() + return 0 + +if __name__ == "__main__": + sys.exit(main()) diff --git a/requirements.txt b/requirements.txt index 1ab6f84..3793a48 100644 --- a/requirements.txt +++ b/requirements.txt @@ -1,3 +1,4 @@ astropy +gphoto2 opencv-python zwoasi