Add pagination for search results
- Add SearchResult dataclass with pagination metadata - Update search_flickr() to accept page parameter - Parse total results count from Flickr response - Add Bootstrap pagination controls to template - Display total result count in UI - Update documentation Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
parent
c3bc6895c4
commit
0062de8ede
4 changed files with 118 additions and 25 deletions
17
AGENTS.md
17
AGENTS.md
|
|
@ -26,7 +26,16 @@ in a `modelExport` JavaScript variable which contains photo metadata.
|
|||
|
||||
- Uses browser-like headers (`BROWSER_HEADERS`) to avoid blocks
|
||||
- Parses embedded JSON by counting braces (not regex) to handle nested structures
|
||||
- Returns `FlickrPhoto` dataclass instances with id, title, username, license, URLs
|
||||
- Accepts optional `page` parameter for pagination (25 photos per page)
|
||||
- Returns `SearchResult` dataclass containing photos and pagination metadata
|
||||
|
||||
### SearchResult Dataclass
|
||||
|
||||
Contains search results with pagination info:
|
||||
- `photos`: List of `FlickrPhoto` instances
|
||||
- `total_photos`: Total number of matching photos
|
||||
- `current_page`: Current page number (1-indexed)
|
||||
- `total_pages`: Total number of pages (capped at 160 due to Flickr's 4000 result limit)
|
||||
|
||||
### FlickrPhoto Dataclass
|
||||
|
||||
|
|
@ -78,13 +87,13 @@ Then visit http://localhost:5000/
|
|||
Test search functionality:
|
||||
```python
|
||||
from main import search_flickr
|
||||
photos = search_flickr("Big Ben")
|
||||
print(len(photos), photos[0].title, photos[0].license_name)
|
||||
result = search_flickr("Big Ben", page=1)
|
||||
print(f"{len(result.photos)} photos, {result.total_pages} pages")
|
||||
print(result.photos[0].title, result.photos[0].license_name)
|
||||
```
|
||||
|
||||
## Potential Improvements
|
||||
|
||||
- Add pagination for search results (currently shows ~25 photos)
|
||||
- Cache search results to reduce Flickr requests
|
||||
- Add filtering by license type
|
||||
- Handle Flickr rate limiting/blocks more gracefully
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue