Jaisen Mathai
12c17c9cac
Add a plugin to upload photos to Google Photos ( #319 )
...
Fixes #315 .
This PR aims to address the [recent changes](https://www.blog.google/products/photos/simplifying-google-photos-and-google-drive/ ) in Google Photos + Google Drive where syncing between the two is no longer supported.
It works by uploading photos as part of the import process to add a copy of every photo in your library to Google Photos. Google Drive is not required for this plugin to work.
This plugin lets you have all your photos in Google Photos without relying on Google Drive. You can use another cloud storage service like iCloud or Dropbox or no cloud storage at all.
- [x] Add tests for `after()` plugin methods.
- [x] Add support for storage/async support.
- [x] Include plugins into code coverage.
- [x] Sweep code and clean up and add comments.
2019-07-12 01:44:57 -07:00
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
Matt Carey
2e2c103cfb
Fix issue #252 to not modify original source files on import ( #272 )
2019-02-04 14:20:39 -08:00
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
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
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
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
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
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
Jaisen Mathai
bf24f9689a
gh-154 Add command to regenerate the hash database
2016-12-13 00:08:08 -08:00
Jaisen Mathai
33cc0e17ca
gh-145 Add stats output block at the end of an update or import command.
2016-11-10 20:59:40 -08:00
Jaisen Mathai
a1d3cb35fc
Add log module and tests
2016-11-09 20:07:44 -08:00
Jaisen Mathai
92c3818720
gh-145 Check if destination is in source and skip import
2016-11-07 23:39:18 -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
852850d2e6
gh-145 Fix configparser unit test error for python 2 and 3
2016-11-07 20:47:16 -08:00
Jaisen Mathai
e4043a04b8
Add geolocation tests
2016-10-29 23:54:27 -07:00
Jaisen Mathai
69467e6433
Refactor geolocation module and tests
2016-10-25 22:20:16 -07:00
Jaisen Mathai
ea34ccbf6c
gh-139 Update logic to set file access/modify time
2016-10-21 20:16:25 -07:00