Giter Site home page Giter Site logo

picdedupe's People

Contributors

superkoder avatar

Watchers

 avatar

picdedupe's Issues

Implement "Better File Type Version" steps

If a better file format of the same image is detected (e.g. an HEIC of an existing JPEG), it should take steps:

  1. Name the file appropriately, and move it to the same location as the original.
  2. Rename the original to reflect that it is a derivative (e.g. filename.heic.jpg).
  3. Locally, leave a {filename}.txt with info on what it did and where, for the User's verification.

As always, it is up to the User to verify this and to only do this when backups have been made.

Implement "Exact Dupe" steps

It can currently detect file dupes. But nothing is done yet, apart from printing that info.

It should probably:

  1. Double-check if it is indeed a dupe (rather than trusting MD5)
  2. Move the candidate file into a local ./_DUPES subfolder.
  3. Add a {filename}.txt with info on why it is considered a dupe.

It will be the User's task to check this folder and, eventually, remove it.

Implement "Live Photo" Steps

If a short movie of a picture (e.g. Apple's Live Photo) is detected, it should take the right steps:

  1. Name the file appropriately, and move it to the same location as the original.
  2. The picture should be (re)named filename.jpg (or similar)
  3. The short movie should be (re)named filename.jpg.mov (or similar)
  4. Locally, leave a {filename}.txt with info on what it did and where, for the User's verification.

As always, it is up to the User to verify this and to only do this when backups have been made.

Implement "Higher Resolution Version" Steps

If a higher quality version of the same image is found, it should take the right steps:

  1. Name the file appropriately, and move it to the same location as the original.
  2. Rename the original to reflect that it is a derivative (e.g. filename_lowres.jpg or filename_small.jpg).
  3. Locally, leave a {filename}.txt with info on what it did and where, for the User's verification.

As always, it is up to the User to verify this and to only do this when backups have been made.

Resilience Against Weak Metadata

In today's version, we find a lot of false positives for similar pictures. That is because we compare metadata, and for some pictures, there is hardly any metadata to work with. It could be that pictures from the same day, with the same resolution, all map to each other.

We should be resilient against this, by not trying to do anything when the metadata is simply too weak to be conclusive. We should add a {filename}.txt file to explain the problem, though. Just so that the User is aware and can take it into account.

Detect RAWs of pictures

We are currently only looking for the most popular picture & video formats. We should expand this to include RAW files.

If we are certain about a RAW, we should take the right steps:

  1. Name the file appropriately, e.g. filename.jpg.CR2 and move it to the same location as the original. Alternatively, we might want to put all raws into a ./_RAW subfolder??
  2. Locally, leave a {filename}.txt with info on what it did and where, for the User's verification.

As always, it is up to the User to verify this and to only do this when backups have been made.

Feature: Auto-Correct Wrong File Dates

When we have high-quality metadata that clearly indicates that an image was captured on a different date than what the filesystem says, we should be able to correct the filesystem's ctime/mtime.

We should still add a {filename}.txt so the User is aware of our change.

Resilience Against Not Running on Mac

This is made for macOS specifically (it uses the Spotlight commands). So it needs to check that it is, in fact, running on a macOS to avoid terrible things from happening.

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.