* Began refactoring for improving unicode handling
* Added platform and unicode modules
* Added tests for unicode utilities
* Added tests for unicode utilities
* Added tests for unicode utilities
* Added tests for unicode utilities
* Fixed unicode tests for linux
* Fixed unicode tests for linux
* Fixed duplicate alubm name with --add-to-album
* Fixed test for linux
* Fix for duplicate unicode kewyords, see #907, #1085
* Port to non-MacOS platforms
* Keep NFD normalization on macOS
* Update locale_util.py
Fix lint error from ruff (runs in CI)
* Update query.py
click.Option first arg needs to be a list (different than click.option)
* Dynamically normalize Unicode paths in test
* Fix missing import
---------
Co-authored-by: Rhet Turnbull <rturnbull@gmail.com>
* Working on making export threadsafe, #999
* Working on making export threadsafe, #999
* refactor for concurrent export, #999
* Fixed race condition in ExportRecord context manager
* Began refactoring verbose code for #931
* Fixed tests for timewarp due to verbose refactor
* Updated test data
* More refactoring for #931
* Refactored queryoptions.py
* Refactored queryoptions.py
* Refactored queryoptions.py
* Refactored echo_error
* Refactored debug
* Refactored debug
* Refactored use of verbose in export
* Refactored use of verbose in export
* Refactred --verbose in add-locations and debug-dump
* Refactored --verbose for
* Refactored --verbose for osxphotos exportdb
* Refactored --verbose for osxphotos import
* Refactored --verbose for osxphotos orphans
* Refactored --verbose for osxphotos snap-diff
* Refactored --verbose for osxphotos sync
* Refactored --verbose for osxphotos timewarp
* Added default verbose() function to verbose
* Added --not-edited option to query
Added --not-edited option to query (exclusive with --edited) to search for photos that have not been edited.
Added test scenarios for --edited and -.-not-edited
* Added --not-edited option to query
Added --not-edited option to query (exclusive with --edited) to search for photos that have not been edited.
Added query test scenarios for --edited and --not-edited
Added export test scenarios for --edited and --not-edited
* Added --not-edited option to query
Added --not-edited option to query (exclusive with --edited) to search for photos that have not been edited.
Added query test scenarios for --edited and --not-edited
Added export test scenarios for --edited and --not-edited
* Made edited/non-edited mutually exclusive in query() to match other filters
Co-authored-by: Rhet Turnbull <rturnbull@gmail.com>
* Working on tests for timewarp --parse-date
* Test working for --parse-date
* Refactored date utils out of timewarp.py
* Added timezone to --parse-date, updated tests
* Added cog to README
* Added person favorite for #940
* Added person.feature_less #940 (but not 100% sure it's right yet)
* Added tests for PersonInfo.favorite, PersonInfo.feature_less
* Initial implementation of add-locations command #929
* Updated help for add-locations
* Fixed handling of shared albums in sync
* Added test for add-locations