1
0
mirror of https://github.com/sashacmc/photo-importer.git synced 2024-11-16 10:08:40 +02:00
Command line and web tools for photo importing/renaming/rotating
Go to file
sashacmc 3e37cb28d4 Version 1.2.4
Add time_shift options
Lower case file ext during renaming
2024-05-22 23:27:02 +02:00
.github/workflows Disable ruff 2024-04-23 23:46:08 +02:00
debian Version 1.2.4 2024-05-22 23:27:02 +02:00
photo_importer Version 1.2.4 2024-05-22 23:27:02 +02: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 Version 1.2.4 2024-05-22 23:27:02 +02:00
photo-importer.service Python/Debian packages and systemd service added. 2019-11-27 23:52:37 +01:00
README.md Update README.md 2024-04-23 23:48:40 +02:00
requirements.txt Add python workflow and dependencies file 2023-05-25 21:27:10 +02:00
setup.py Version 1.2.4 2024-05-22 23:27:02 +02: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!

Show your support

Give a ️ if this project helped you!