Skip to content

Commit edc09c7

Browse files
authored
draft (#1023)
* format * snaps * You've hit your limit · resets 11am (America/New_York)
1 parent 9c11a76 commit edc09c7

File tree

3 files changed

+5
-37
lines changed

3 files changed

+5
-37
lines changed

booklog/exports/reading_entries.py

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99

1010

1111
class JsonReadingEntry(TypedDict):
12-
readingEntrySequence: int
12+
readingEntrySequence: str
1313
slug: str
1414
edition: str
1515
readingEntryDate: datetime.date
@@ -37,11 +37,8 @@ def _build_json_reading_entry(
3737
work = reading.work(repository_data.works)
3838
reviewed = bool(work.review(repository_data.reviews))
3939

40-
# Create the key tuple for looking up the sequence number
41-
entry_key = (str(reading_entry.date), str(reading.timeline[-1].date), str(reading.sequence))
42-
4340
return JsonReadingEntry(
44-
readingEntrySequence=repository_data.reading_entry_sequence_map.get(entry_key, 0),
41+
readingEntrySequence=f"{reading_entry.date}-{reading.timeline[-1].date}-{reading.sequence:02d}",
4542
slug=work.slug,
4643
edition=reading.edition,
4744
kind=work.kind,

booklog/exports/repository_data.py

Lines changed: 0 additions & 29 deletions
Original file line numberDiff line numberDiff line change
@@ -11,15 +11,11 @@ class RepositoryData:
1111
readings: list[repository_api.Reading]
1212
reviews: list[repository_api.Review]
1313
review_sequence_map: dict[str, str] = field(default_factory=dict, init=False)
14-
reading_entry_sequence_map: dict[tuple[str, str, str], int] = field(
15-
default_factory=dict, init=False
16-
)
1714
reading_sequence_map: dict[tuple[str, int], int] = field(default_factory=dict, init=False)
1815

1916
def __post_init__(self) -> None:
2017
"""Calculate sequence maps after initialization."""
2118
self.review_sequence_map = self._build_review_sequence_map()
22-
self.reading_entry_sequence_map = self._build_reading_entry_sequence_map()
2319
self.reading_sequence_map = self._build_reading_sequence_map()
2420

2521
def _build_review_sequence_map(self) -> dict[str, str]:
@@ -41,31 +37,6 @@ def _build_review_sequence_map(self) -> dict[str, str]:
4137

4238
return review_sequences
4339

44-
def _build_reading_entry_sequence_map(self) -> dict[tuple[str, str, str], int]:
45-
"""Build a mapping of timeline entries to their sequence number.
46-
47-
Returns a dictionary where keys are tuples of
48-
(timeline_date, last_timeline_date, reading_sequence)
49-
and values are their 1-based position in the sorted order.
50-
"""
51-
timeline_entries: list[tuple[tuple[str, str, str], str]] = []
52-
53-
for reading in self.readings:
54-
for timeline_entry in reading.timeline:
55-
# Key is a tuple for unique identification
56-
key = (
57-
str(timeline_entry.date),
58-
str(reading.timeline[-1].date),
59-
str(reading.sequence),
60-
)
61-
# Sort key matches the original string format for ordering
62-
sort_key = f"{timeline_entry.date}-{reading.timeline[-1].date}-{reading.sequence}"
63-
timeline_entries.append((key, sort_key))
64-
65-
# Sort by the sort_key in chronological order
66-
sorted_entries = sorted(timeline_entries, key=lambda x: x[1])
67-
return {key: idx + 1 for idx, (key, _) in enumerate(sorted_entries)}
68-
6940
def _build_reading_sequence_map(self) -> dict[tuple[str, int], int]:
7041
"""Build a mapping of reading (last_timeline_date, sequence) to their sort position.
7142

tests/exports/__snapshots__/test_api/test_exports_reading_entries.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
"kind": "Nonfiction",
1313
"progress": "Finished",
1414
"readingEntryDate": "2016-03-12",
15-
"readingEntrySequence": 3,
15+
"readingEntrySequence": "2016-03-12-2016-03-12-01",
1616
"reviewed": true,
1717
"slug": "on-writing-by-stephen-king",
1818
"title": "On Writing",
@@ -31,7 +31,7 @@
3131
"kind": "Nonfiction",
3232
"progress": "50%",
3333
"readingEntryDate": "2016-03-11",
34-
"readingEntrySequence": 2,
34+
"readingEntrySequence": "2016-03-11-2016-03-12-01",
3535
"reviewed": true,
3636
"slug": "on-writing-by-stephen-king",
3737
"title": "On Writing",
@@ -50,7 +50,7 @@
5050
"kind": "Nonfiction",
5151
"progress": "15%",
5252
"readingEntryDate": "2016-03-10",
53-
"readingEntrySequence": 1,
53+
"readingEntrySequence": "2016-03-10-2016-03-12-01",
5454
"reviewed": true,
5555
"slug": "on-writing-by-stephen-king",
5656
"title": "On Writing",

0 commit comments

Comments
 (0)