def default(request): url = request.GET.get("url", "").strip() if not url: return HttpResponseBadRequest("missing url parameter") # instantiate new API api = ImageAPI() try: api.open_from_internet(url) except urllib2.HTTPError as e: logger.debug("could not download image from %s reason: %s" % (url, e)) return HttpResponseBadRequest("invalid url") except ValueError as e: # unknown url type logger.debug("could not use image url %s reason: %s" % (url, e)) return HttpResponseBadRequest("invalid url") except IOError as e: logger.debug("could not process image from %s reason: %s" % (url, e)) return HttpResponseBadRequest("invalid url") padding_size = request.GET.get("bp", BORDER_PADDING) border_size = request.GET.get("bs", BORDER_SIZE) fill_color = request.GET.get("bfc", BORDER_FILL_COLOR) border_color = request.GET.get("bc", BORDER_COLOR) # apply border with default values api.apply_border(int(padding_size), int(border_size), fill_color, border_color) # write to response response = HttpResponse(mimetype="image/png") api.image.save(response, "PNG") return response