diff --git a/main.py b/main.py index fa5bb9a..2a6d238 100755 --- a/main.py +++ b/main.py @@ -491,7 +491,7 @@ def is_valid_flickr_image_url(url: str) -> bool: def search_flickr(search_term: str, page: int = 1) -> SearchResult: """Search Flickr for photos matching the search term.""" - encoded_term = quote(f'"{search_term}"') + encoded_term = quote(search_term) url = f"https://flickr.com/search/?view_all=1&text={encoded_term}&page={page}" response = requests.get(url, headers=BROWSER_HEADERS) @@ -711,20 +711,24 @@ def start() -> str: # Get category param if coming from category search cat = flask.request.args.get("cat") + # Allow overriding the Flickr search term (default includes quotes for phrase search) + flickr_search = flask.request.args.get("flickr_search") or f'"{name}"' + flickr_url = flask.request.args.get("flickr") if not flickr_url: # Search Flickr for photos page = flask.request.args.get("page", 1, type=int) page = max(1, page) # Ensure page is at least 1 if page == 1: - log_interaction("search_article", query=name, wikipedia_url=wikipedia_url) - search_result = search_flickr(name, page) + log_interaction("search_article", query=flickr_search, wikipedia_url=wikipedia_url) + search_result = search_flickr(flickr_search, page) return flask.render_template( "combined.html", name=name, enwp=enwp, search_result=search_result, cat=cat, + flickr_search=flickr_search, ) if "/in/" in flickr_url: @@ -778,6 +782,7 @@ def start() -> str: flickr_user_url=flickr_user_url, cat=cat, previous_messages=previous_messages, + flickr_search=flickr_search, ) log_interaction( @@ -818,6 +823,7 @@ def start() -> str: flickr_user_url=flickr_user_url, cat=cat, previous_messages=previous_messages, + flickr_search=flickr_search, ) diff --git a/templates/combined.html b/templates/combined.html index 55f96e4..394327b 100644 --- a/templates/combined.html +++ b/templates/combined.html @@ -63,13 +63,20 @@

← Back to category

{% endif %}

Wikipedia article: {{ name }}

+
+ + {% if cat %}{% endif %} + + + +

Select a photo to compose a message ({{ search_result.total_photos | default(0) }} results):

{% for photo in search_result.photos %}
- + {{ photo.title }}
@@ -86,7 +93,7 @@
{% endif %}

- ← Back to search results + ← Back to search results