1
0
mirror of https://github.com/sashacmc/photo-importer.git synced 2024-11-24 08:02:14 +02:00
Command line and web tools for photo importing/renaming/rotating
Go to file
2022-12-20 01:42:59 +01:00
.github/workflows Create codeql.yml 2022-11-30 22:40:06 +01:00
debian Add add_orig_name option 2022-12-20 01:05:10 +01:00
photo_importer Add add_orig_name option 2022-12-20 01:05:10 +01:00
web Handle server pmount errors 2022-12-08 23:58:40 +01:00
.gitignore Update setup scripts 2022-11-28 00:25:35 +01:00
LICENSE Initial commit 2018-05-05 18:36:38 +02:00
photo-importer Python/Debian packages and systemd service added. 2019-11-27 23:52:37 +01:00
photo-importer-server Python/Debian packages and systemd service added. 2019-11-27 23:52:37 +01:00
photo-importer-server.bat Add Windows support 2022-01-31 00:12:34 +01:00
photo-importer-win.cfg Add add_orig_name option 2022-12-20 01:05:10 +01:00
photo-importer.cfg Add add_orig_name option 2022-12-20 01:05:10 +01:00
photo-importer.service Python/Debian packages and systemd service added. 2019-11-27 23:52:37 +01:00
README.md Update README.md 2022-12-20 01:42:59 +01:00
setup.py Add add_orig_name option 2022-12-20 01:05:10 +01:00

Photo Importer

CodeQL PyPI - Version PyPI - Downloads Code style: black

Command line tools for photo importing/renaming/rotating

Features:

  • Media files scan
  • Time when picture was taken detection (by EXIF, by file name, by file attributes)
  • Media files moving/copying to configurable hierarchy
  • Lossless rotations (via exiftran or jpegtran)

Photo Importer Server

Standalone web server for fast media import for headless computer

Features:

  • Mounted storages detection (by path mask)
  • Storages mount/unmount (via pmount)
  • The same as photo-importer but without console

Installation

Requirements:

  • Python 3.3+

Supported OS:

  • Debian based Linux (other Linux versions not officially supported, but might work)
  • Windows 7 and above
  • MacOS X and above (with brew installed, only console version)

Dependencies:

Installation Options:

Installing via PyPi

sudo apt install exiftran exiftool pmount pip
sudo pip install photo-importer

Installing as debian package

debuild -b
sudo dpkg -i ../photo-importer_1.2.0_all.deb

Installing via setup.py

sudo apt install exiftran exiftool pmount pip
sudo pip install PyExifTool progressbar psutil
sudo python3 ./setup.py install

Installing for Windows

Download and install python3 for you Windows distributive https://www.python.org/downloads/windows/

Download and install exiftool https://exiftool.org/

Download and extract jpegtran to photo_importer folder http://sylvana.net/jpegcrop/jpegtran/

Install with python dependencies

python -m pip install pypiwin32 photo-importer

Usage

Command-Line Interface

photo-importer /path/to/media/files

Will process files (reanaming/rotating) in-place. In place example

photo-importer /path/to/media/files /output/path

Will import (by default move, but it can be changed in config) files from /path/to/media/files to /output/path with date hierarchy creation and reanaming/rotating

Move example

Web Interface

  • attach usb-drive / usert memory card
  • open http://servername:8080
  • click "Mount"
  • click "Import"
  • click "Unmount"

Web interface example

Windows command line

cd photo_importer
run.py -c ..\photo-importer-win.cfg path\to\media\files \output\path

Windows web

photo-importer-server.bat

Configuration

The server config file located in /etc/photo-importer.cfg

Command line tool config file located in ~/.photo-importer.cfg

Also config file can be specified by mean of -c command line option.

For options details see comments in the config file.

Acknowledgements

Thanks to everyone who tested and gave advice.

Bug reports, suggestions and pull request are welcome!