0.0
No commit activity in last 3 years
No release in over 3 years
Utility that scans a given location for media files and, based on Exif information and a set of rules copies the files over to another location.
2005
2006
2007
2008
2009
2010
2011
2012
2013
2014
2015
2016
2017
2018
2019
2020
2021
2022
2023
2024
 Dependencies

Development

~> 9
~> 11

Runtime

 Project Readme

Gem Version

MediaArchiver

Utility that scans a given location for media files and, based on Exif information and a set of rules copies the files over to another location.

Installation

MAC OS X

You need exiftool to use this command. Simply do:

brew install exiftool

Then install the gem

gem install media_archiver

and you're done

Usage

run media_archiver from the command line

Commands:
media_archiver copy [DIR] [OUTPUT_DIR]  # Scans a folder and archives media files
media_archiver help [COMMAND]           # Describe available commands or one specific command

Configuration

Apart from the options you can set when running individual commands, the script will look for a .media_archiver_conf.yml file both in the current folder and on you home folder.

Configurations are prioritized like:

  1. CLI options
  2. Current folder configuration file
  3. Home folder configuration file
---
output_dir: ~/photos
recursive: true
output_template: :DateTimeOriginal/:Make/:Model

output_template

Anything that starts with a colon the script will replace with the corresponding EXIF tag (if set on the individual file), while anything thing else is taken as-is and is placed directly on the output path.

Not all media files have the same EXIF tags and not all are commonly used. You can check the list of possible tags and test around with your own files.

Also, any date/time values are currently transformed to a fixed date string.

Contributing

  1. Fork it ( https://github.com/[my-github-username]/media_archiver/fork )
  2. Create your feature branch (git checkout -b my-new-feature)
  3. Commit your changes (git commit -am 'Add some feature')
  4. Push to the branch (git push origin my-new-feature)
  5. Create a new Pull Request