https://github.com/deckarep/gotdoops
gotdoops - a quick and dirty script that detects duplicate image files and generates an html report with the list of duplicates.
https://github.com/deckarep/gotdoops
Last synced: 8 months ago
JSON representation
gotdoops - a quick and dirty script that detects duplicate image files and generates an html report with the list of duplicates.
- Host: GitHub
- URL: https://github.com/deckarep/gotdoops
- Owner: deckarep
- License: mit
- Created: 2013-12-26T22:03:41.000Z (over 12 years ago)
- Default Branch: master
- Last Pushed: 2016-12-14T17:14:04.000Z (over 9 years ago)
- Last Synced: 2025-01-24T16:35:33.918Z (over 1 year ago)
- Language: Go
- Size: 1010 KB
- Stars: 0
- Watchers: 4
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
gotdoops
========
quick and dirty script that detects duplicate image files and generates an html report with a list of duplicates.
intentions
==========
I built this for my wife who wanted a way to easily identify duplicate images on our growing collection of pictures. Plus, it was an excuse to write something new in Go. =)
how it works
============
Running this utility on a directory of images will do the following:
* Recursively scan the directory looking for image files (currently only jpegs)
* Add each image file path to a map of slices with the filesize as the key looking for potential duplicates
* MD5 hash all files that have the same filesize looking for true duplicates
* Generate thumbnails of all found duplicates
* Generate an HTML report allowing for filtering on particular folder
* Other than scanning for files and generating a report this command line app *DOES NOT* attempt to delete, rename or move files around. It is purely designed to yield a report for further analysis currently.
future improvements
===================
* Enhance to run in parallell with Go's awesome goroutine/channels
* Enhance to work on additional image types or even any file type
* Modify to use Go's template library (should have started with this, but was lazy)
* Enhance with command line options as necessary
* Add unit-tests
usage
=====
```Go
//To install
go get github.com/deckarep/gotdoops
//Then open up a command line and run the following:
go run gotdoops.go [folder/with/images]
```
imports
=======
* github.com/deckarep/golang-set
* github.com/nfnt/resize
contributions
=============
Are absolutely welcome and encouraged!