- [overview] implemented filtering and sorting by date taken, optionally
with null.
- [server] added `SORT_DESC_NULL_LAST` search token in `search/tokens.py`,
`search/base_search_config.py`
- [server] implemented `SORT_DESC_NULL_LAST` functionality in
`search/executor.py`
- [server] added date taken search aliases in
`search/configs/post_search_config.py`
- [server] added `NullCriterion` in `search/criteria.py`; it's literally
null
- [server] implemented filtering by null for date criterion in
`search/configs/util.py`
- [server] aliased `NullCriterion` to "null", "none", "unknown", or "?" in
`search/parser.py`
- [server][minor] added "posted" and "edited" aliases to creation_date
and last_edit_date
- [server] attempt to use DateTimeOriginal in `func/metadata.py` to
resolve date taken (compatibility issue originally found in photo
taken on LG Optimus L90)
- [server] created basic utility for resolving date taken @ `func/metadata.py`
- [server] utilize `func/metadata.py` in `func/posts.py`
- [server] created Alembic migration that adds `date_taken` column to `post`
- [server] updated `model/post.py:Post` to have new column
* `test_modify_saves_non_empty_diffs` needs non-transactional
db, so moved to seperate file
* Replaced incompatable usage of `db.session.rollback()`
with parametrerized function calls
* xfail conditionals for search removed, as we can no longer
get current driver with binds
* Also remove usage of deprecated `pytest.yield_fixture`
Furthermore, an update to Pillow has improved the floating-point
precision of the image hash algorithm, requiring minor updates to
the respective unit tests.
See https://github.com/python-pillow/Pillow/pull/4320