Fix Last Changed updates during ePub rebuilds
Update Last Changed only when Bindery stores a new chapter or adds a new chapter revision. Manual ePub generation, rebuilds, metadata edits and rule changes leave it unchanged. Save the timestamp in the same transaction as the chapter or revision. This preserves the date if a later build fails and prevents retries from moving it forward without another chapter change. Add regression tests for new chapters, revisions, forced rebuilds, failed builds, retries and transaction rollback. Adjust OPDS test data setup and document what Last Changed records.
This commit is contained in:
+1
-1
@@ -48,10 +48,10 @@ def add_book(title="A book", author="Writer", changed=None, url=None, included=T
|
||||
store = orchestrator.store
|
||||
url = url or f"https://example.com/books/{len(store.list_stories()) + 1}"
|
||||
sid = store.create_story(url, "example.com", title, author, [])
|
||||
store.update_story(sid, last_changed=changed, site_values=meta or {})
|
||||
if included:
|
||||
html = "<p>Stored text.</p>"
|
||||
store.add_chapter(sid, url + "/1", "One", html, diffing.text_hash(html), "site", 0)
|
||||
store.update_story(sid, last_changed=changed, site_values=meta or {})
|
||||
return sid
|
||||
|
||||
|
||||
|
||||
Reference in New Issue
Block a user