Artem Akymenko
|
953bef1e71
|
refactor: group ConversionRequest fields into config objects
Domain config types (domain/config_types.py):
- PronunciationConfig: pronunciation/heteronym/normalization overrides
- SubtitleConfig: mode, format, max_words
- CoverConfig: path, mime
Domain functions now accept config objects:
- build_tts_context(subtitle=, pronunciation=) instead of 9 individual params
- make_subtitle_writer(subtitle=) instead of 3 params
- process_and_write_subtitles(subtitle=) instead of 2 params
- embed_m4b_metadata(cover=) instead of 2 params
- build_epub3_package(cover=) instead of 2 params
ConversionRequest: 18 flat fields + 8 config objects
Application/config.py re-exports domain types
All tests updated to new API
|
2026-07-28 13:41:45 +03:00 |
|
Artem Akymenko
|
0b953d48e8
|
refactor: heading transforms + dedup moved to shared layer
- conversion_planner.py: caps normalization in _build_chapters()
- conversion_executor.py: heading dedup + state machine via headings_equivalent()
- Fixed seg_start_time → chapter_body_start bug in executor
- Removed getattr fallback defaults in both adapters
- Added 4 tests for caps normalization and heading dedup
- Updated ARCHITECTURE_REFACTOR_PLAN.md with deferred WebUI cleanup
|
2026-07-26 11:41:59 +03:00 |
|
Artem Akymenko
|
332934c0cf
|
test: tests for apply_overrides, LLM mode, usage_counter, chunk_groups
|
2026-07-24 19:17:38 +03:00 |
|
Artem Akymenko
|
a1241ee9ca
|
refactor: word substitution in planner, add planner tests
|
2026-07-24 19:17:37 +03:00 |
|
Artem Akymenko
|
0ee5bb0496
|
refactor: config objects for feature toggles in ConversionRequest
|
2026-07-24 19:17:36 +03:00 |
|
Artem Akymenko
|
680418fa1d
|
test: planner tests + domain regression tests
51 tests for the unified conversion planner:
- build_conversion_plan: direct text, voice markers, chunks, chapters, intro/outro, output layout
- Domain regression: chapter parsing, voice markers, TTSContext, voice resolution, intro/outro, output paths, subtitles
- All tests use domain functions only (no UI, no TTS, no audio I/O)
|
2026-07-21 11:16:41 +03:00 |
|
Artem Akymenko
|
e1e49e8a0f
|
test: regression tests for conversion flow unification
Three new test files describing expected behavior before refactoring:
- test_conversion_planner.py: chapter parsing, voice markers, TTSContext, intro/outro, output paths, subtitles (30 tests)
- test_conversion_request.py: settings, context building, chapter selection, cancellation/logging protocols (15 tests)
- test_conversion_executor.py: synthesize_text, process_and_write_subtitles, full pipeline with fake backend/sink (12 tests)
All 1310 tests pass (1253 existing + 57 new).
|
2026-07-21 11:16:40 +03:00 |
|