@@ -132,8 +132,8 @@ def get_catalog(arch, build, major, language, beta):
132
132
133
133
# Step 4: Construct response with "packages"
134
134
packages = []
135
- for b in latest_build . all () :
136
- packages .append (build_package_entry (b , language ))
135
+ for b in latest_build :
136
+ packages .append (build_package_entry (b , language , arch , build ))
137
137
138
138
# DSM 5.1
139
139
if build >= 5004 :
@@ -152,7 +152,7 @@ def get_catalog(arch, build, major, language, beta):
152
152
return packages
153
153
154
154
155
- def build_package_entry (b , language ):
155
+ def build_package_entry (b , language , arch , build ):
156
156
entry = {
157
157
"package" : b .version .package .name ,
158
158
"version" : b .version .version_string ,
@@ -163,11 +163,7 @@ def build_package_entry(b, language):
163
163
language , b .version .descriptions ["enu" ]
164
164
).description ,
165
165
"link" : url_for (
166
- ".data" ,
167
- path = b .path ,
168
- arch = b .architectures [0 ].code ,
169
- build = b .firmware .build ,
170
- _external = True ,
166
+ ".data" , path = b .path , arch = arch , build = build , _external = True ,
171
167
),
172
168
"thumbnail" : [
173
169
url_for (".data" , path = icon .path , _external = True )
@@ -247,7 +243,7 @@ def catalog():
247
243
if build < 40000 :
248
244
beta = request .values .get ("package_update_channel" ) == "beta"
249
245
else :
250
- beta = False
246
+ beta = False # Ensure no beta packages are returned for DSM 7+
251
247
# Check if "major" is provided
252
248
if "major" in request .values :
253
249
try :
0 commit comments