Commit 51e71f0c authored by Aron Gergely's avatar Aron Gergely

Tidy up parsing and JSONifying data for API '/shelters' response

parent d9497249
......@@ -164,6 +164,7 @@ def allshelters(shelter_id=None):
.join(Category, Category.id == ShelterPicture.category_id)
catquery = db.session.query(Category.name).filter(Category.section_id != None)
##queries if no request arguments
shelter_properties = querybase
shelter_pictures = picquerybase
......@@ -171,7 +172,7 @@ def allshelters(shelter_id=None):
if shelter_id:
shelter_properties = shelter_properties.filter(Property.shelter_id==shelter_id)
shelter_pictures = shelter_pictures.filter(ShelterPicture.shelter_id==shelter_id)
if request.args.getlist('attribute'):
attribute = request.args.getlist('attribute')
......@@ -182,7 +183,7 @@ def allshelters(shelter_id=None):
shelter_properties = shelter_properties.filter(subquery.subquery().c.shelter_id==Property.shelter_id)
shelter_pictures = shelter_pictures.filter(subquery.subquery().c.shelter_id==ShelterPicture.shelter_id)
if request.args.getlist('value'):
value = request.args.getlist('value')
if not request.args.getlist('attribute'):
......@@ -204,33 +205,28 @@ def allshelters(shelter_id=None):
#print(shelter_properties)
#print(shelter_pictures)
print(catquery)
if request.args.get('format') == 'prettytext':
for shelter_property in shelter_properties:
if not result[shelter_property.shelter_id]:
for category in catquery:
if category.name == "Identification":
result[shelter_property.shelter_id][category.name]["Cover"]
result[shelter_property.shelter_id][category.name]["Attributes"]
result[shelter_property.shelter_id][category.name]["Pictures"]
result[shelter_property.shelter_id][shelter_property.supercategory_name]["Attributes"][shelter_property.name] = shelter_property.value
for shelter_property in shelter_properties:
if not result[shelter_property.shelter_id]:
for category in catquery:
if category.name == "Identification":
result[shelter_property.shelter_id][category.name]["Cover"]
result[shelter_property.shelter_id][category.name]["Attributes"]
result[shelter_property.shelter_id][category.name]["Pictures"]
else:
for shelter_property in shelter_properties:
if not result[shelter_property.shelter_id]:
for category in catquery:
if category.name == "Identification":
result[shelter_property.shelter_id][category.name]["Cover"]
result[shelter_property.shelter_id][category.name]["Attributes"]
result[shelter_property.shelter_id][category.name]["Pictures"]
if request.args.get('format') == 'prettytext':
result[shelter_property.shelter_id][shelter_property.supercategory_name]["Attributes"][shelter_property.name] = shelter_property.value
else:
result[shelter_property.shelter_id][shelter_property.supercategory_name]["Attributes"][shelter_property.uniqueid] = shelter_property.value
for picture in shelter_pictures:
if picture.is_main_picture == True:
result[picture.shelter_id]["Identification"]["Cover"] = ["{}/{}/{}".format(picpath, picture.shelter_id, picture.filename)]
elif not result[picture.shelter_id][picture.name]["Pictures"]:
result[picture.shelter_id][picture.name]["Pictures"] = ["{}/{}/{}".format(picpath, picture.shelter_id, picture.filename)]
else:
result[picture.shelter_id][picture.name]["Pictures"].append("{}/{}/{}".format(picpath, picture.shelter_id, picture.filename))
for picture in shelter_pictures:
if picture.is_main_picture == True:
result[picture.shelter_id]["Identification"]["Cover"] = ["{}/{}/{}".format(picpath, picture.shelter_id, picture.filename)]
elif not result[picture.shelter_id][picture.name]["Pictures"]:
result[picture.shelter_id][picture.name]["Pictures"] = ["{}/{}/{}".format(picpath, picture.shelter_id, picture.filename)]
else:
result[picture.shelter_id][picture.name]["Pictures"].append("{}/{}/{}".format(picpath, picture.shelter_id, picture.filename))
return jsonify(result)
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment