* reading caption and title from several tags with several tests added
minor bugfix for date conversion to MS
optimization: break sidecar loop, when first sidecar is found
This unifies logging across the backend to always use the Logger class,
always only logs to stdout (rather than an inconsistent mix of stdout
and stderr, depending on whether console.error was used), and removes
logging where two log events happened for the same message
For example, this pattern:
```js
Logger.error("Whoops, something went wrong:")
console.error(err)
```
That causes two separate log events, and depending on the log transport
used, could cause relevant log messages to get split across multiple
events and therefore be harder (usually just more tedious) to connect
and debug in production environments.
This unifies logging across the backend to always use the Logger class,
always only logs to stdout (rather than an inconsistent mix of stdout
and stderr, depending on whether console.error was used), and removes
logging where two log events happened for the same message
For example, this pattern:
```js
Logger.error("Whoops, something went wrong:")
console.error(err)
```
That causes two separate log events, and depending on the log transport
used, could cause relevant log messages to get split across multiple
events and therefore be harder (usually just more tedious) to connect
and debug in production environments.
* Removed the SideCar Type to make reading sidecar data just as generic as reading the embedded exif data
* Moved metadata-mapping into separate function to prepare for reuse
* Most sidecar metadata is now read with the same function as embedded metadata (for photos). Fixed a bug with rating: 0 being ignored
* added new test for special chars and timezone
* merge incoming changes
* xmp rating fix - 0 is a value. prep for xmp timestamp handling
* refactored mapping of metadata into smaller functions
* consolidated GPS coordinate mapping
* simplification of sidecar date reading logic
* Moved date mapping code into one function - fixed testdata - did not yet resolve offset bug
* CreationDateOffset is now mapped from Sidecar timestamps. Tests updated accordingly.
Total: changed sidecar reading for video to shared reader and fixed tests accordingly (more data is read now)
* Show comma-separated city, state and country in infobox and in gallery mode. All of the values that are non-empty will be shown.
* methodcall to isPhoto
* Unit test and bugfix for CreationDate (#8)
* fixed the DiskManagerWorker test
* s (#10)
* Unit test and bugfix for CreationDate (#8)
* fixed the DiskManagerWorker test
---------
Co-authored-by: Patrik J. Braun <bpatrik@users.noreply.github.com>
* s (#11)
* Unit test and bugfix for CreationDate (#8)
* fixed the DiskManagerWorker test
---------
Co-authored-by: Patrik J. Braun <bpatrik@users.noreply.github.com>
* 9ij (#12)
* Unit test and bugfix for CreationDate (#8)
* fixed the DiskManagerWorker test
---------
Co-authored-by: Patrik J. Braun <bpatrik@users.noreply.github.com>
---------
Co-authored-by: Patrik J. Braun <bpatrik@users.noreply.github.com>
Without this, the mechanism to exclude a directory from indexing is a
bit strange. I had to use the `scanDirectory.after` hook, then remove
elements from the `output.directories` array.
In order to make the extension hook a bit more developer-friendly,
I also changed the arguments to the `excludeDir` function to be a
dictionary instead of just an array (or tuple?) of strings.
Allow for anonymous functions in logging calls.
The function is only called if the message is logged.
(e.g. if the verbosity is turned up high enough.)
This allows for expensive operations to be avoided
in cases where the logging won't happen.
The idea is that this provides a performance benefit.
I don't know how "expensive" an operation must be
to actually realize a performance benefit, though.
I added an example in server.ts...
It's probably "expensive" to dump the configuration
to JSON, then stringify that JSON for logging.
Added recognition of the offset value in the UI. It will be displayed if available.
Caveat: Search will not take offset into account. A new year's picture taken in Sydney the 1st of January 2019 00:15:00 GMT+11, is technically taken in 31st of December 2018 in UTC. Therefore this picture won't show of in seaches where the after: parameter is set to 1st of january 2019.
This is both correct and wrong at the same time.
UTC-wise it is correct, local time it is not correct. I guess most people would find local time most untuitive, so there is room for improvement of the search. :)
* exifr is used for most tags now
* New timestamp handling, removed exif-parser, date supported for png
* Removed offset from testhelper. It's optional
* explanations
* Feature/timestamps (#3)
* preparing for further timestamp test
* Added more test and fixed offset calculation bug
* Revered old dimension test, added new timestamp tests, some bug fixes
* Renamed png-test because faces overrule keywords