Git Product home page Git Product logo

autoimagerenamer's Introduction

AutoImageRenamer

Motivation and Principle

Have you ever moved images from multiple sources (devices, people, ...) into the same folder? Usually, this is a terrible mess in terms of filenames. If you open one file in most image viewers, navigating through the images drives me crazy.

The AutoImageRenamer solves this issue by reading all image and video file and tries to automatically extract the date and time where it has been taken. It parses the filename for date and time patterns as well as reading embedded EXIF metadata. As a last resort it could also take the filesystems creation date. It then takes the oldest datetime found and renames the files in a computer-sortable manner, i.e. YYYY-MM-DD_HH-mm-ss and unifies extensions to lowercase. If files have the same detected time, it adds a number to each filename. Additionally, if not only the time is the same but also the content, it marks all duplicates with a DUPLICATE prefix.

An interactive mode allows checking the proposed changes before any actions are taken.

Continuous Integration

Unittests

Installation

Requires Python installation, version 3.9 is tested. Python must be in $PATH. Installation with PowerShell (clones git repository, goes to repository, installs poetry, installs autoImageRenamer):

$ git clone https://github.com/rmk-ch/autoImageRenamer.git
$ Set-Location autoImageRenamer.git
$ (Invoke-WebRequest -Uri https://raw.githubusercontent.com/python-poetry/poetry/master/get-poetry.py -UseBasicParsing).Content | python -
$ poetry install

Set environment variable AUTO_IMAGE_RENAMER_PATH to the path where the repository is checked out. Copy autoImageRenamer.ps1 to where you need it and adapt any calls as you like.

Usage

In PowerShell:

$ Set-Location $env:AUTO_IMAGE_RENAMER_PATH
$ poetry run autoImageRenamer --help

Author

Roman Koller, https://roman-koller.ch

autoimagerenamer's People

Contributors

rmk-ch avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.