Commit Graph

53 Commits

Author SHA1 Message Date
Evan Thomas b07d26c389 Fix issue that breaks elodie if coordinate from exiftool is empty #354 (#355) 2020-01-18 09:03:40 -08:00
Arian Maleki d8cee15f32 Optimize exiftool calls by adding an ExifTool singleton in pyexiftool library (#352)
This fix results in a 10x performance improvement [1] enabling a single exiftool subprocess to elimate spawing exiftool for each image.

Closes #350 #347 

[1] https://github.com/jmathai/elodie/issues/350#issuecomment-573412006
2020-01-13 23:04:33 -08:00
Jaisen Mathai 87e0420fba
Make Pillow optional due to external dependencies (#326)
Fixes #325.

`Pillow` has a number of external dependencies needed for installation. Since most media files are detected correctly with `imghdr` and `Pillow` is used as a fallback we can make it optional.

`Pillow` support was added in #320 to fix #281.
2019-07-14 17:36:09 -07:00
Jaisen Mathai 032e24b204 Use PIL(pillow) as a fallback mechanism image format identification and add HEIC support (#320)
Fixes #281 and #269

When elodie imports images, imghdr.what is used to determine the image
type. imghdr implementation won't support all JPEG variants. Because
of this, even for a valid JPEG file, imghdr.what returns None causing
elodie to skip the image during import.

This commit adds a fallback mechanism which uses PIL(pillow) library to
identify image formats. When imghdr fails, elodie uses pillow to
identify image format. When pillow is unavailable, it will be treated as
an invalid media file. Pillow is imported only when imghdr fails.
2019-07-10 04:05:32 -07:00
Jaisen Mathai 4cd91e9f2d
Add support for camera make and model in directory path #254 (#255) 2017-11-14 23:14:26 -08:00
Jaisen Mathai 15cfe61e03 Add tool to retroactively add OriginalFileName to all files in library #107 (#190) 2017-01-22 23:18:28 -08:00
Jaisen Mathai 0864f58a12 Add original file name methods to text and media class #186 (#187) 2017-01-22 00:19:44 -08:00
Jaisen Mathai a48a2edb62 Fix bug where zero value for latitude/longitude causes error gh-171 (#176) 2017-01-03 00:49:56 -08:00
Terence Eden cd5ba92b0b Support user defined folder structure (#5) (#160)
* Custom date directories
* Add config module to parse ini files
* Add method/tests to get a customizable folder path
* Cache path definition
* Initial working version of custom paths
* Add Directory values in sample config
* Refactoring location parsing logic and adding tests
* Remove unused functions
* Add documentation to parse_mask_for_location
* Remove commented out code
* Add tests for migrating old location db to new
2017-01-02 20:58:52 -08:00
Jaisen Mathai bf24f9689a gh-154 Add command to regenerate the hash database 2016-12-13 00:08:08 -08:00
Jaisen Mathai 1bc13675da gh-27 Enable non-ascii tests for audio and video 2016-11-07 23:31:36 -08:00
Jaisen Mathai cb52210077 gh-61 Enable tests for audio files 2016-11-07 23:27:32 -08:00
Jaisen Mathai 10b45cba78 gh-40 Increase test coverage for media and geolocation modules 2016-09-13 20:10:29 -07:00
Jaisen Mathai ab77938408 Merge branch 'master' into improve-tests 2016-09-04 21:45:41 -07:00
Jaisen Mathai 5f5ba73934 gh-40 Create test generator for testing various RAW formats 2016-09-04 21:40:56 -07:00
Jaisen Mathai fe6121e43b Merge pull request #125 from jmathai/cr2-support-gh-124
gh-124 Add support for cr2 files
2016-09-04 16:20:39 -07:00
Jaisen Mathai 10e078baa5 gh-124 Add support for cr2 files 2016-09-04 16:15:11 -07:00
ZSerg ad1cbefb15 PEP8 fix 2016-08-22 09:10:45 +03:00
zserg af36de091e Python 3 compartibility added 2016-08-21 17:58:13 +03:00
Jaisen Mathai 0e9237366a gh-94 Enable test to write to RW2 files 2016-06-24 01:02:15 -04:00
Jaisen Mathai ea8a13b5af gh-61 gh-108 Enable audio/video EXIF writing tests on Travis 2016-06-24 00:53:27 -04:00
Jaisen Mathai 6114328f32 gh-62 [WIP] Remove pyexiv2 and avmetareadwrite dependency 2016-06-22 15:45:30 -04:00
Jaisen Mathai bd32c87b37
gh-113 Check for a file extension before doing a string in tuple conditional 2016-04-19 21:33:08 -07:00
Jaisen Mathai 479452b31c
gh-98 Check parsed metadata header in text file for type of dict 2016-04-19 21:09:27 -07:00
Jaisen Mathai e27fb951bc gh-98 Update calls to metadata to check that type is dict 2016-04-15 14:54:15 -07:00
Jaisen Mathai 1a1a50e656 gh-98 Check that metadata is dictionary before accessing it 2016-04-14 22:15:46 -07:00
Jaisen Mathai a0f744c082
gh-99 Add support for Sony ARW format 2016-04-12 23:47:41 -07:00
Jaisen Mathai ca04d3ca48
gh-32 Add `Creation Date (und-US)` to list of exif fields to read to support older versions of exiftool 2016-04-12 01:51:25 -07:00
Jaisen Mathai 5a82de0da0
gh-100 Add support for text files and associated tests 2016-04-12 00:06:22 -07:00
Jaisen Mathai 1c0372141f gh-93 Add tests for RW2 files
gh-94 Skip test for writing to RW2 files because they are not supported
2016-03-23 11:29:02 -07:00
Jaisen Mathai a66fc7ca41 gh-31 Remove raise SkipTest for geolocation tests due to precision loss 2016-03-23 09:35:32 -07:00
Jaisen Mathai f234cb989d gh-93 Update media module to test for string before calling string functions 2016-03-23 00:25:27 -07:00
Jaisen Mathai ed127aa402 gh-93 Add tests for dng and nef files 2016-03-23 00:09:25 -07:00
Jaisen Mathai e35e0ce471 gh-84 Added tests for invalid files with valid file extensions 2016-02-14 01:03:18 -08:00
zserg b686e7c228 LatLon removed 2016-02-12 22:22:26 +03:00
ZSerg 0d154d67c9 Accepted-Language is moved to constants. TZ fix functions is moved to helper 2016-01-28 21:30:13 +03:00
zserg 91e886163e core and photo_tests fixed 2016-01-26 22:01:05 +03:00
Jaisen Mathai c55b14e6c4 gh-74 Check for existing EXIF field before writing and create if needed. Add test case. 2016-01-12 20:48:58 -08:00
Nathan Ostgard c536a088e4 gh-27 Fix unicode title test 2016-01-11 08:59:46 -08:00
Nathan Ostgard fa217e933b Added friendly errors when dependencies are not installed 2016-01-07 22:19:22 -08:00
Nathan Ostgard e56bc9722b gh-65 Fix files with empty extensions being detected as audio files 2016-01-07 17:10:55 -08:00
Jaisen Mathai 4b90d322d9 gh-61 Mark geolocation test for audio as "skip" because they fail on TravisCI 2016-01-03 23:26:01 -08:00
Jaisen Mathai 58f0fadc07 gh-61 Add support for audio (m4a) files and accompanying tests 2016-01-03 22:10:56 -08:00
zserg d089b05cf0 tests added for inverted lattitude/logitude 2015-12-27 23:40:20 -08:00
Jaisen Mathai d4dde66375 Closes gh-36 Fix bug with old references to `Media.photo_extensions` and `Media.video_extensions` 2015-12-18 20:08:12 -08:00
Jaisen Mathai a7f17b8983 gh-32 Skip test while we figure out why it fails on TravisCi 2015-12-01 01:03:00 -08:00
Jaisen Mathai 232ebb10db Closes gh-30 Add unit tests for Video module 2015-12-01 01:03:00 -08:00
Jaisen Mathai fe160bb175 gh-28 Add no-exif file for tests and add test cases 2015-12-01 01:03:00 -08:00
Jaisen Mathai 752697fca8 gh-31 Skip test that fails due to loss of precision when converting from decimal to dms 2015-12-01 01:03:00 -08:00
Jaisen Mathai 3c4362e709 gh-22 Add __init__.py files so nosetests -w recursively runs tests 2015-12-01 01:03:00 -08:00