def get(self, zip_code=None):
parser = reqparse.RequestParser()
parser.add_argument('limit', type=int)
args = parser.parse_args(strict=True)
limit = args.get('limit')
if limit is not None:
zip_codes = Zipcode.limit(limit)
zip_codes_len = len(zip_codes)
if zip_codes_len < limit:
app.info_logger.info("Received option to list {limit}"
" zipcodes but only {quantity} were found".format(limit=limit,
quantity=zip_codes_len))
app.info_logger.info("Listing {quantity} zip_codes".format(quantity=zip_codes_len))
return [zip_code.to_dict() for zip_code in zip_codes], 200
elif zip_code is not None:
zip_code_document = Zipcode.get_or_404(zip_code=zip_code,
message="zip code {zip_code} not found.".format(zip_code=zip_code))
app.info_logger.info("Get zip_code: {zip_code}".format(zip_code=zip_code))
return zip_code_document.to_dict(), 200
app.error_logger.error("No limit or zip_code option were found in the request")
abort(400, message="You must provide the limit or zip_code.")
评论列表
文章目录