Here is a conventional commit message summarizing the refactoring work:

```
feat: Refactor calendar feature into blueprint

- Moved calendar logic from `features/calendar.py` and `app.py` into a new blueprint at `routes/calendar.py`.
- Removed the `Calendar` class and refactored logic into helper functions within the blueprint module for better organization and readability.
- Eliminated the `pandas` dependency for date range generation, using standard `datetime` operations instead.
- Resolved circular import issues between `db.py`, `extensions.py`, and `routes/calendar.py` by adjusting import locations.
- Corrected `url_for` calls in templates (`calendar.html`, `partials/people_link.html`) to reference the new blueprint endpoint (`calendar.get_calendar`).
- Fixed an `AttributeError` related to HTMX request checking in the calendar route.
- Corrected `AttributeError` related to `.date()` calls on `datetime.date` objects in view processing functions.
- Updated `templates/changelog/changelog.html` to document the refactoring and associated fixes.
```
This commit is contained in:
Peter Stockings
2025-03-30 22:20:48 +11:00
parent 4a822ea2ba
commit 6095e76f10
12 changed files with 244 additions and 175 deletions

View File

@@ -10,6 +10,16 @@
<div class="prose max-w-none">
<p>Updates and changes to the site will be documented here, with the most recent changes listed first.</p>
<!-- New Entry for Refactoring -->
<hr class="my-6">
<h2 class="text-xl font-semibold mb-2">March 30, 2025</h2>
<ul class="list-disc pl-5 space-y-1">
<li>Refactored the calendar view and logic into its own blueprint (`routes/calendar.py`).</li>
<li>Cleaned up calendar code, removing the `Calendar` class and `pandas` dependency.</li>
<li>Fixed various bugs related to the calendar refactoring (circular imports, HTMX checks, `url_for`
build errors, date comparisons).</li>
</ul>
<!-- Example Entry Structure -->
<hr class="my-6"> {# Increased margin for HR #}
<h2 class="text-xl font-semibold mb-2">March 30, 2025</h2> {# Reduced margin-bottom for H2 #}
@@ -17,6 +27,7 @@
<li>Added the initial changelog page.</li>
<li>Fixed a minor styling issue on the dashboard.</li>
<li>Improved visual styling of the changelog page itself.</li> {# Added an entry for this change #}
<li>Refactored the calendar view and logic into its own blueprint (`routes/calendar.py`).</li>
</ul>
{# Add more entries below, following the pattern above #}