Jo-Be-Co
417e654799
#1754 Conditional output on format templates
2026-04-20 23:15:54 +02:00
Jo-Be-Co
30809fb38d
fixed quoting errors in format-strings
2026-04-20 21:38:45 +02:00
Jo-Be-Co
ea33d8933a
test added with colons in tag comparison
2026-04-20 19:24:21 +02:00
Jo-Be-Co
962a5055b2
Fixed PR comments
2026-04-20 18:07:17 +02:00
Jo-Be-Co
dc353aa7e5
Merge branch 'master' into bifunctions
2026-04-17 08:50:53 +02:00
Jo-Be-Co
475f20b3cb
unit tests added for new list operations
2026-04-17 08:35:43 +02:00
Jo-Be-Co
a4bc39ee6b
switched from RegionInfo to AudibleApi.Locale
2026-04-15 00:45:55 +02:00
Jo-Be-Co
c72e5a3568
fixed matching of first property
2026-04-14 02:48:03 +02:00
Jo-Be-Co
56c15d3108
add checks on lists
2026-04-14 00:38:41 +02:00
Jo-Be-Co
810ea90770
introduce cmp tag as check with two operands
2026-04-14 00:30:34 +02:00
Jo-Be-Co
a010da5251
#1714 Convert the evaluation of the 'is' tag into two-parameter logic
2026-04-13 01:39:16 +02:00
Jo-Be-Co
f4e61d0445
hardend an commented unit tests for region output
2026-04-10 11:44:28 +02:00
Jo-Be-Co
54765fc181
Fixed cross-platform problems on region tests
2026-04-10 10:14:19 +02:00
Jo-Be-Co
b4f48cb54c
Extend <language> and <locale> tags to allow different outputs like ISO-codes or names in different languages
2026-04-10 09:43:11 +02:00
Jo-Be-Co
3e3da2298e
Add <first tag[...]>
2026-04-03 03:48:09 +02:00
Jo-Be-Co
2daf2da30a
Test fixes
2026-03-27 09:11:00 +01:00
Jo-Be-Co
1d1936734b
Test hardening.
...
Ensure tests check error and warning output to confirm assertions are correctly formulated.
2026-03-27 00:06:17 +01:00
Jo-Be-Co
fc92c633e1
No made up format for minutes as .NET already knows how to format them.
...
User documentation needs to follow.
2026-03-26 03:12:24 +01:00
Jo-Be-Co
3c71cb10b2
some minor fixes
2026-03-26 03:10:43 +01:00
Jo-Be-Co
6b26280aa8
Get formats for properties in given form to the formatters by no unescaping them in advance.
2026-03-25 14:23:03 +01:00
Jo-Be-Co
14d8bb2205
As stated in the "Naming Templates" documentation, support custom formatters on numbers.
...
Only trim spaces on tags where they are disruptive.
2026-03-25 02:34:32 +01:00
Jo-Be-Co
6d2b0b952d
- Inspect exception on regexp timeout
...
- special tests for checks with whitespace
- Escaping allows whitespace at the edges
2026-03-24 00:18:40 +01:00
Jo-Be-Co
fb277cff81
Faulty regex patterns will throw InvalidOperationException during evaluation.
2026-03-23 15:29:32 +01:00
Jo-Be-Co
02b9b4fa1c
QS updates:
...
- fixed documentation
- regexp-checks running with timeout and culture-invariant matching
- changed check-building in ConditionalTagCollection to use NonNull parameters. So no warnings occure.
- add tests for <!is ...> and escaped chars
2026-03-22 19:18:55 +01:00
Jo-Be-Co
7ecd571364
Corrections to documentation and comments.
2026-03-22 13:55:28 +01:00
Jo-Be-Co
32f3e6a886
Introduces the slice() format directive
2026-03-22 13:55:27 +01:00
Jo-Be-Co
e477c29890
New tags <minutes>, <tag> and <if abridged->...<-if abridged>
2026-03-22 13:55:27 +01:00
Jo-Be-Co
a8621699c1
Add numerical checks for conditional tag.
...
- numbers are compared with their value
- strings are compared by checking the length
- Collections are evaluated on cheking their size
2026-03-22 13:55:27 +01:00
Jo-Be-Co
cd9a070784
Allow two step formatting to get checkable values and not only single stringa
...
Introduce <is-> Tag. Like <has-> but with additional check on content.
Retrieve objects instead of string for conditions
Pass undefined formats as null instead of empty strings
2026-03-22 13:55:26 +01:00
Jo-Be-Co
508ea1032d
Tests are using empty values for various fields
2026-03-22 13:55:25 +01:00
Jo-Be-Co
10fc5837cb
Allow sorting in reverse order by specifying the sort key with lowercase
2026-03-22 13:55:25 +01:00
Jo-Be-Co
812e0c3b60
Format details on fields specified in format. Introduce by colon.
...
Use dictionaries for field access and sorting.
Added sorting to series lists.
2026-03-22 13:55:25 +01:00
Jo-Be-Co
d161bdfaeb
Introduce culture parameter for formatting.
2026-03-22 13:55:24 +01:00
Jo-Be-Co
7dd55a2545
Refactorings
2026-03-22 13:55:24 +01:00
Michael Bucari-Tovo
3ab1edc076
Code Cleanup
...
Make fields readonly
Remove unnecessary casts
Format document
Remove unnecessary usings
Sort usings
Use file-level namespaces
Order modifiers
2026-02-05 12:48:44 -07:00
Michael Bucari-Tovo
d67692355f
Enable project-wide nullable reference types
...
Added DB migration for nullable types.
2026-02-05 12:43:05 -07:00
MBucari
e850465ec1
Add more null safety
...
Enable project-wide nullable on LibationUiBase and LibationAvalonia
Explicitly parallelize unit tests
2025-12-30 13:17:11 -07:00
MBucari
e8c911e603
Improve management and validation of Libation settings
...
- Move all settings file logic into new LibationFiles class
- Configuration.LibationFiles is a singleton instance of the LibationFiles class.
- A LibationFiles instance is bound to a single appsettings.json path. All updates to LibationFiles location are updated in that appsettings.json file
- Unify initial setup and settings validation process
- Add LibationSetup which handles all startup validation of settings files and prompts users for setup if needed
- Added a new LibationUiBase.Tests test project with tests for various
2025-11-17 10:49:23 -07:00
Michael Bucari-Tovo
3b86fc405f
Add <has-> template tag
2025-08-19 18:41:31 -06:00
MBucari
4ea7f04921
Preserve space between series order numbers
2025-08-17 13:40:37 -06:00
Michael Bucari-Tovo
eda100b7ac
Remove FluentAssertions
2025-08-15 10:29:23 -06:00
Michael Bucari-Tovo
e1d789ccdc
Improve series order parsing and formatting
2025-08-14 15:37:53 -06:00
Michael Bucari-Tovo
ae012548bd
Smart handling of filename limitations cross platform
...
Automatically determine if filename lengths in the Books directory are limited to 255 UTF-16 characters (NTFS) or 255 UTF-8 bytes (pretty much every other file system) (#1260 )
In non-Windows environments, determine if the Books directory supports filenames containing characters which are illegal in Windows environments (<>|:*?). If it doesn't, then ensure those characters are included in the user's ReplacementCharacters settings (#1258 ).
2025-07-30 16:04:48 -06:00
Michael Bucari-Tovo
7024bbf823
Provide NTFS default characters for non-windows users ( #1258 )
2025-07-29 15:20:52 -06:00
Michael Bucari-Tovo
663f70b8bf
Use series Order string instead of parsed float in template tags ( #1056 )
2025-07-29 12:18:37 -06:00
MBucari
5b9bf2fbb0
Remove duplicate tests
2025-07-14 12:53:47 -06:00
Steven Wallace
7805a3ef11
Fixed broken single word name test
...
This expected the name duplication that the previous commit fixed to be the behavior, changed to expect the single word to be the last name.
2025-05-06 09:58:09 -05:00
Michael Bucari-Tovo
7d806e0f3e
Increase tag template options for contributor and series types
...
- Add template tag support for multiple series
- Add series ID and contributor ID to template tags
- <first author> and <first narrator> are now name types with name formatter support
- Properly import contributor IDs into database
- Updated docs
2025-03-25 09:34:57 -06:00
Robert McRackan
7b2c7e49e5
fix unit tests
2025-02-23 11:11:25 -05:00
Mbucari
83fa73cef5
Integrate new Title and Subtitle properties into Libation
2023-06-29 21:06:54 -06:00