Cédric Leporcq
98f4947917
Add --filter-by-ext option
2021-07-31 22:06:54 +02:00
Cédric Leporcq
2e84888c59
Add day_begins config option
2021-07-31 22:06:54 +02:00
Cédric Leporcq
fc1f4343b0
Add sort command
2021-07-31 22:06:33 +02:00
Cédric Leporcq
de1dacc837
Various fix
2021-07-31 08:09:10 +02:00
Cédric Leporcq
3af848a162
Change get_all_files behaviour
2021-07-31 08:09:10 +02:00
Cédric Leporcq
cb8a4cd24e
Refactoring media class
2021-07-31 08:09:10 +02:00
Cédric Leporcq
6b2d2b31c3
Add dry-run action
2021-07-31 08:09:10 +02:00
Cédric Leporcq
04f2ac6738
Change hash_db and location_db storage location to target directory
2021-07-31 08:09:10 +02:00
Cédric Leporcq
21ed551a54
Discard python 2.7 compatibility
2021-07-31 08:09:10 +02:00
Cédric Leporcq
0363fd4302
Add %folder tag
2021-07-18 13:44:58 +02:00
Cédric Leporcq
f181c618b3
Metadata changes are made in dest files instead of source files
2021-07-18 13:44:58 +02:00
Cédric Leporcq
df0bf3c28e
Fix tests
2021-07-18 13:44:58 +02:00
Cédric Leporcq
da764e94e6
Change date taken behaviour and use datetime format
2021-07-18 13:44:57 +02:00
Cédric Leporcq
42b1f4ecd4
load config as global variable
2021-06-18 06:51:30 +02:00
Arian Maleki
afacb969e8
Enhance filesystem.process_file get_metadata cache performance. ( #353 )
...
Reduce exiftool calls by using a metadata object cache.
Enable single exiftool subprocess to elimate spawing exiftool for each image.
2020-02-24 15:46:02 -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
Michael Wong
75e65901a9
Add --exclude-regex parameter to exclude directories on import #340 ( #342 )
...
The `--exclude-regex` parameter and `[Exclusions]` config section lets you pass in a regular expression to match against file source file paths and ignore.
2019-10-27 20:19:51 -07:00
Jaisen Mathai
3ad6c0db35
Fix issue where photos without EXIF were not using the correct date for folder or file names #330 ( #331 )
...
Fixes #330
Fixes a bug in the code where media.set_original_name() would set the mtime of a photo and then use the newly set mtime for generating the folder and file name.
2019-07-29 23:51:10 -07:00
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
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
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
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
4cd91e9f2d
Add support for camera make and model in directory path #254 ( #255 )
2017-11-14 23:14:26 -08: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
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
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
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
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
64773655d2
Convert FileSystem.get_all_files to be a generator function
2016-12-19 21:59:58 -08:00
Jaisen Mathai
a1d3cb35fc
Add log module and tests
2016-11-09 20:07:44 -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
ea34ccbf6c
gh-139 Update logic to set file access/modify time
2016-10-21 20:16:25 -07:00
Daniel Dräs
f00d8b8744
gh-139 added change requests
2016-10-21 17:17:00 -07:00
Daniel Dräs
56847511b9
gh-139 Add files via upload
...
added hours, minutes and seconds
2016-10-21 17:16:36 -07:00
Daniel Dräs
54f3fac155
gh-139 Target Directory on NAS
2016-10-21 17:16:22 -07:00
zserg
af36de091e
Python 3 compartibility added
2016-08-21 17:58:13 +03:00
Aaron Barnes
63ead49bcb
gh-84 Do not attempt to process an invalid file
2016-02-14 21:28:13 +13:00
zserg
91e886163e
core and photo_tests fixed
2016-01-26 22:01:05 +03:00
Nathan Ostgard
cfe82012b0
gh-70 Adding Sphinx docs
2016-01-09 09:44:39 -08:00
Fabrice Laporte
b01b611d26
fix pyflakes warnings reported in non-test files
2016-01-02 18:34:43 +01:00
Jaisen Mathai
60c4acc1b3
gh-58 Fix all pep8 issues reported in non-test files
2016-01-01 23:25:59 -08:00
Jaisen Mathai
3a916aa589
Closes gh-21 Add all tests for FileSystem class and test photo files
2015-12-01 01:03:00 -08:00
Jaisen Mathai
0a72ef481e
gh-21 Initial unit tests for FileSystem.create_directory method
2015-12-01 01:03:00 -08:00
Jaisen Mathai
f67314f6bc
gh-2 Write to EXIF from earlier of modified or access time if no date is found in EXIF
2015-11-29 22:01:27 -08:00