def main(request, **kwargs): if request.method == "POST": form = UrlForm(request.POST) if form.is_valid(): url = Url() url.original_url = form.cleaned_data['url'] url.save() c = { "form": form, "url": url, } return render_to_response("main.html", c, context_instance=RequestContext(request)) else: c = { "form": form, } return render_to_response("main.html", c, context_instance=RequestContext(request)) else: form = UrlForm() c = { "form": form, } return render_to_response("main.html", c, context_instance=RequestContext(request))
def shorten(): from models import Url Url.create_table() try: url = request.json user_url = url['url'].encode('utf-8') existing_url = Url.query.filter_by(original_url=user_url).first() if existing_url: return "http://127.0.0.1:5000/{}".format(existing_url.short_url) else: encoded_url = hashlib.sha1(user_url).hexdigest() record = Url() record.original_url = user_url record.short_url = encoded_url record.save_to_db() return "http://127.0.0.1:5000/{}".format(encoded_url) except Exception as e: raise e return "Error Occured. Try Later"