Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/sashacmc/photo-importer
Command line and web tools for photo importing/renaming/rotating
https://github.com/sashacmc/photo-importer
debian photo photo-manager python3 tools video
Last synced: 24 days ago
JSON representation
Command line and web tools for photo importing/renaming/rotating
- Host: GitHub
- URL: https://github.com/sashacmc/photo-importer
- Owner: sashacmc
- License: gpl-3.0
- Created: 2018-05-05T16:36:37.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2024-05-22T21:27:58.000Z (6 months ago)
- Last Synced: 2024-05-22T21:33:17.752Z (6 months ago)
- Topics: debian, photo, photo-manager, python3, tools, video
- Language: Python
- Homepage:
- Size: 126 KB
- Stars: 40
- Watchers: 8
- Forks: 8
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Photo Importer
![CodeQL](https://github.com/sashacmc/photo-importer/workflows/CodeQL/badge.svg)
[![PyPI - Version](https://img.shields.io/pypi/v/photo-importer.svg)](https://pypi.org/project/photo-importer)
[![PyPI - Downloads](https://pepy.tech/badge/photo-importer)](https://pepy.tech/project/photo-importer)
[![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/psf/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:
* [PyExifTool](https://pypi.org/project/PyExifTool/)
* [progressbar](https://pypi.org/project/progressbar/)
* [psutil](https://pypi.org/project/psutil/)
* [exiftran](https://linux.die.net/man/1/exiftran) or [jpegtran](https://linux.die.net/man/1/jpegtran)
* [pmount](https://linux.die.net/man/1/pmount) (only for server)
* [pypiwin32](https://pypi.org/project/pypiwin32/) (only for windows)### Installation Options:
#### Installing via PyPi
```bash
sudo apt install exiftran exiftool pmount pip
sudo pip install photo-importer
```
#### Installing as debian package
```bash
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
```bash
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
```bash
python -m pip install pypiwin32 photo-importer
```## Usage
### Command-Line Interface```bash
photo-importer /path/to/media/files
```
Will process files (reanaming/rotating) in-place.
![In place example](https://user-images.githubusercontent.com/28735879/76139947-bd249780-6055-11ea-85c0-0985b6bde93f.png)```bash
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](https://user-images.githubusercontent.com/28735879/76139964-eba27280-6055-11ea-988f-aa71cda7ba36.png)
### Web Interface
* attach usb-drive / usert memory card
* open http://servername:8080
* click "Mount"
* click "Import"
* click "Unmount"![Web interface example](https://user-images.githubusercontent.com/28735879/76140174-f1995300-6057-11ea-8718-19c38650c786.png)
### Windows command line
```bash
cd photo_importer
run.py -c ..\photo-importer-win.cfg path\to\media\files \output\path
```
### Windows web
```bash
photo-importer-server.bat
```## Configuration
The server config file located in /etc/photo-importer.cfgCommand 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!