Skip to content

Commit b67ebcb

Browse files
author
codeEmpress1
authored
Replace snap recommendation calls with helpers (#5455)
* update explore page to use snap-recommendations helper * updated feeds to use snap-recommendations helper * --amend
1 parent b60de79 commit b67ebcb

3 files changed

Lines changed: 12 additions & 25 deletions

File tree

requirements.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ canonicalwebteam.discourse==7.0.0
66
canonicalwebteam.blog==6.6.0
77
canonicalwebteam.search==2.1.2
88
canonicalwebteam.image-template==1.9.0
9-
canonicalwebteam.store-api==7.3.6
9+
canonicalwebteam.store-api==7.3.7
1010
canonicalwebteam.launchpad==0.9.0
1111
django-openid-auth==0.17
1212
Flask-OpenID==1.3.0

webapp/feeds/feeds.py

Lines changed: 5 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -6,13 +6,15 @@
66
from requests import Session
77
from html import escape
88
from urllib.parse import urlparse
9+
from canonicalwebteam.snap_recommendations import SnapRecommendations
910

1011
feeds = flask.Blueprint(
1112
"feeds",
1213
__name__,
1314
)
1415

1516
session = Session()
17+
snap_recommendations = SnapRecommendations(session)
1618

1719

1820
def is_safe_url(url):
@@ -92,16 +94,11 @@ def recently_updated_feed():
9294
page = int(flask.request.args.get("page", "1"))
9395

9496
try:
95-
api_url = flask.current_app.config.get(
96-
"RECOMMENDATION_API_URL",
97-
"https://recommendations.snapcraft.io/api/recently-updated",
97+
response = snap_recommendations.get_recently_updated(
98+
page=page, size=size, timeout=10
9899
)
99-
params = {"size": size, "page": page}
100-
response = session.get(api_url, params=params, timeout=10)
101-
response.raise_for_status()
102100

103-
data = response.json()
104-
snaps = data.get("snaps", [])
101+
snaps = response.get("snaps", [])
105102

106103
except (requests.RequestException, ValueError) as e:
107104
flask.current_app.logger.error(f"Failed to fetch recommendations: {e}")

webapp/store/views.py

Lines changed: 6 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@
1212
from canonicalwebteam.store_api.dashboard import Dashboard
1313
from canonicalwebteam.store_api.publishergw import PublisherGW
1414
from canonicalwebteam.store_api.devicegw import DeviceGW
15+
from canonicalwebteam.snap_recommendations import SnapRecommendations
1516

1617
from webapp.api.exceptions import ApiError
1718
from webapp.store.snap_details_views import snap_details_views
@@ -29,6 +30,7 @@
2930
dashboard = Dashboard(api_session)
3031
publisher_gateway = PublisherGW("snap", api_publisher_session)
3132
device_gateway = DeviceGW("snap", api_session)
33+
snap_recommendations = SnapRecommendations(session)
3234

3335

3436
def store_blueprint(store_query=None):
@@ -125,35 +127,23 @@ def store_view():
125127

126128
@store.route("/explore")
127129
def explore_view():
128-
recommendations_api_url = (
129-
"https://recommendations.snapcraft.io/api/category"
130-
)
131-
132130
try:
133-
popular_snaps = api_requests.get(
134-
f"{recommendations_api_url}/popular"
135-
).json()
131+
popular_snaps = snap_recommendations.get_popular()
136132
except api_requests.exceptions.RequestException:
137133
popular_snaps = []
138134

139135
try:
140-
recent_snaps = api_requests.get(
141-
f"{recommendations_api_url}/recent"
142-
).json()
136+
recent_snaps = snap_recommendations.get_recent()
143137
except api_requests.exceptions.RequestException:
144138
recent_snaps = []
145139

146140
try:
147-
trending_snaps = api_requests.get(
148-
f"{recommendations_api_url}/trending"
149-
).json()
141+
trending_snaps = snap_recommendations.get_trending()
150142
except api_requests.exceptions.RequestException:
151143
trending_snaps = []
152144

153145
try:
154-
top_rated_snaps = api_requests.get(
155-
f"{recommendations_api_url}/top_rated"
156-
).json()
146+
top_rated_snaps = snap_recommendations.get_top_rated()
157147
except api_requests.exceptions.RequestException:
158148
top_rated_snaps = []
159149

0 commit comments

Comments
 (0)