Commit Graph

189 Commits

Author SHA1 Message Date
Jaisen Mathai 9e42edfa76
Create a test runner script in python to run unit tests (#321) 2019-07-11 01:51:34 -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 7c3ea1e1d7
Create an extendable plugin framework #315 #316 (#318)
This commit introduces the initial version of a plugin framework with tests and sample plugins. This helps address #315 and closes #316.
2019-07-04 02:57:10 -07:00
Andrew DeMaria 92605764f8 Add configuration to optionally capitalize file names (#313)
This commit adds a `capitalization` field under `[File]` in `config.ini` which allows file names to be capitalized.
2019-06-12 14:27:03 -07:00
Jaisen Mathai 19be12b0bb
Make MapQuest parameters configurable #258 (#308) 2019-04-01 00:56:37 -07:00
Jaisen Mathai 7fc5b5ffe0
Make application directory where data files are stored configurable #6 (#307) 2019-03-31 22:10:38 -07:00
Jaisen Mathai 9ddb094ec7
Specify fully qualified path for exiftool program (#304) 2019-03-09 23:01:28 -08:00
Denis 283611a21e Implement unicode-safe print function as part of the log module (#298) 2019-02-12 21:23:52 -08:00
Matt Carey 2e2c103cfb Fix issue #252 to not modify original source files on import (#272) 2019-02-04 14:20:39 -08:00
Vladimir Kuptsov 086c26c198 Add support for mts video files with H264:DateTimeOriginal create date field support (#295) 2019-01-24 07:34:02 +05:30
Jaisen Mathai 5b07386e2c
Add support for customizing file name via config file. #107 #110 #111 (#225) 2019-01-23 01:06:48 +05:30
Denis e5af0dfb4e Implements prefer english names setting for MapQuest API in config.ini (#290)
Implements prefer english names setting in config.ini which adds English as accepted header to MapQuest requests and results in the response location names being mostly in English not their native country language
2019-01-21 20:27:38 -08:00
Jaisen Mathai 69937ca1a3
Add support for a %custom placeholder for more complex folder names than %location or %date provide #279 (#283) 2019-01-18 16:48:32 -08:00
Jaisen Mathai 91bf181575 Include path separator and absolute path when checking if destination is a child of the source. Fixes gh-287 2018-12-03 22:32:35 -08:00
Qasim K 716dbf67e6 Start using HTTPS MapQuest API (stop HTTP) (#280) 2018-09-03 10:19:03 -07:00
Jaisen Mathai aa12ffb13b
Fixes proper handling of location.json after failed test runs. #264 2018-02-09 00:01:10 -08:00
Jaisen Mathai 8950f756fe
Make reset_dbs() / restore_dbs() more robust #260 (#263)
* Make reset_dbs() / restore_dbs() more robust

If reset_dbs() is called and the test errors restore_dbs() is not called. On Windows this leads to an error the next time they're called because ~/hash.json-test and ~/location.json-test still exist.

* Add rename function to compatability module for 2.7 support
2017-12-06 15:46:00 -08: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 362b1b1363
Add tests to reproduce error when source path has folder component of numbers #239 (#241) 2017-10-31 23:22:03 -07:00
Ove Stavnås f23894d426 fix problem when no geolocation key is provided and invalid dict is cached #214 (#233)
* fix problem when no geolocation key is provided #214
2017-09-07 16:59:16 -07:00
Adam Candy fbc7b04ef2 Fix bug so process_file will set access time on destination instead of source. Closes #237 (#238) 2017-08-06 14:29:34 -07:00
Ove Stavnås e5e811b215 Fix bug with fallback values in full_path variables in config.ini (#234)
* Add test for gh-234

* Force flush of cached configs in test
2017-08-06 14:26:28 -07:00
Jaisen Mathai 00ba7e2604 Add tests to verify unicode checkmark in file name is handled correctly. #226 (#227) 2017-07-11 21:11:51 -07:00
Jaisen Mathai 1535db5aa4 Temporarily disable tests for send2trash until new pip package is released #230. (#231)
See hsoft/send2trash/pull/11 for details
2017-07-11 21:04:28 -07:00
Jaisen Mathai bb2b0496f7 Add --debug option for command line to override value in constants.py. #153 (#217) 2017-05-11 23:43:16 -07:00
Jaisen Mathai 9be5ab13fc Skip copying file if source is identical to destination. #210 (#211)
This prevents a zero byte file from being written
2017-04-12 23:42:44 -07:00
Jaisen Mathai e3123872c4 Add fallback folder support when configuring folder hierarchy. #199 (#209)
* add test
2017-04-12 23:33:18 -07:00
Jaisen Mathai 6777c32588 Do not store "Unknown Location" in the location.json database. #203 (#208) 2017-04-08 02:10:55 +05:30
Jaisen Mathai 8082b739af Fix bug where code makes assumption of 2 levels of folders in the update command. #206 (#207) 2017-04-01 16:26:29 +05:30
Jaisen Mathai 74d8675b20 Add support for multiple levels of folders. #199 (#205)
* Use original name from EXIF instead of parsing assumed file name format. #107
* Updates to docs and code
2017-03-30 19:43:34 +05:30
Jaisen Mathai f7be8f323f Use original name from EXIF instead of parsing assumed file name format. #107 (#202) 2017-03-16 23:43:47 -07:00
Jaisen Mathai 31db4e661a Return dictionary with "Unknown Location" instead of string when location is not found #106 (#201) 2017-03-15 22:43:21 -07:00
Jaisen Mathai 56f0b1e170 Fix unicode decoding bug in compatability.py and add_original_name.py (#194) 2017-01-24 00:25:52 -08:00
Jaisen Mathai ed1dbc6c9a Normalize title before updating EXIF #017 (#193) 2017-01-23 00:23:49 -08:00
Jaisen Mathai ce98e89c65 Change source to path and check if media is None #107 (#192) 2017-01-22 23:54:28 -08:00
Jaisen Mathai 84251d276e Fix bug in tool and add __init__.py #107 (#191) 2017-01-22 23:42:31 -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 4a7df2d57d Add improved copy method for large files #173 (#189) 2017-01-21 21:21:03 -08:00
Jaisen Mathai 18b5c1336e Add exit codes to all public commands #157 (#184)
* Add exit codes to update and import command
* Add tests for _import and _update exit codes
2017-01-21 20:52:32 -08:00
Jaisen Mathai 2e0a59b7d8 Check if string is unicode before encoding (#180) 2017-01-08 14:43:01 -08:00
Jaisen Mathai 78880a6020 Add support for directories as argument to update command #178 (#182) 2017-01-07 21:49:00 -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
Jaisen Mathai 9fd03f0729 Fix tests for reset/restore dbs function moved to helper module (#175) 2017-01-02 21:14:21 -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
misterpipine 328aed6dfd Fix test which checks for unicode characters in file path strings #162 (#166)
fix issue encountered when importing from a UTF-8 encoded filesystem with non-breaking spaces.
2016-12-26 08:20:12 -08:00
Jaisen Mathai 0c1aa2954e gh-121 Add test to check --trash argument (#165) 2016-12-22 21:35:15 -08:00
misterpipine 5dc31cf46f Fix encoding issue with unicode characters in file and path #162
fix issue encountered when importing from a UTF-8 encoded filesystem with non-breaking spaces.
* skip test because failure case cannot be established
2016-12-22 01:53:08 -08:00
Jaisen Mathai 64773655d2 Convert FileSystem.get_all_files to be a generator function 2016-12-19 21:59:58 -08:00
Jaisen Mathai 7c3f323c44 Closes gh-159 Remove RESULT as global variable in elodie.py 2016-12-15 01:24:04 -08:00