Skip to main content

Photo importer tool

Project description

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 apt install pip python3-exif python3-progressbar exiftran python3-psutil
sudo pip install PyExifTool
sudo dpkg -i ../photo-importer_1.2.5_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!

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

photo-importer-1.2.6.tar.gz (32.9 kB view details)

Uploaded Source

Built Distribution

photo_importer-1.2.6-py3-none-any.whl (35.7 kB view details)

Uploaded Python 3

File details

Details for the file photo-importer-1.2.6.tar.gz.

File metadata

  • Download URL: photo-importer-1.2.6.tar.gz
  • Upload date:
  • Size: 32.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.0.0 CPython/3.10.12

File hashes

Hashes for photo-importer-1.2.6.tar.gz
Algorithm Hash digest
SHA256 18ddd709192dd055aa061b23617be08a1e3a8a42dfb2bd2711da28f493328dd1
MD5 98d972a9f42c96e8f2170d0647db85f3
BLAKE2b-256 a37d6a72b3825a0a7866a5c7e559bc99ae6410b6ccb3ea5364a0ddcd0908783e

See more details on using hashes here.

File details

Details for the file photo_importer-1.2.6-py3-none-any.whl.

File metadata

File hashes

Hashes for photo_importer-1.2.6-py3-none-any.whl
Algorithm Hash digest
SHA256 d23cd6f1b92426b34617d4b6f9e9420767a86540d50c6761ca653bbd6a02d417
MD5 648f0dc8256bed620b2b8d955be084ce
BLAKE2b-256 89c2ff11b299f269c8be4878dce2eaebbeb01110d7e9a98ba71e593330b91943

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page