def location_creator(response): file_input = response.get_file("picture") filename_hash = hashlib.sha1(file_input[2]).hexdigest() file_output = open("./static/place-images/{}".format(filename_hash), "wb") file_output.write(file_input[2]) file_output.close() context = {"error": None} name = response.get_field("name") description = response.get_field("description") address = response.get_field("address") username = get_login(response) user = User.find(username) try: lat = float(response.get_field("lat")) long = float(response.get_field("long")) except ValueError: context["error"] = "Invalid latitude or longitude" render_page("create_location.html", response, context) return if Location.find_name(name): context["error"] = "Place already exists" render_page("create_location.html", response, context) else: Location.create(name, description, filename_hash, user.id, address, lat, long) response.redirect("/location/{}".format(Location.find_name(name).id)) tags = response.get_field("tags").split(",") if tags == [""]: tags = [] for tag in tags: Tag.create_tag(tag, Location.find_name(name).id) return