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
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