def admin_api_urls_create(): if "url" not in request.json: return jsonify(success=False) newurl = request.json["url"] if "dest" not in newurl: return jsonify(success=False) dest = newurl["dest"] custom = newurl["custom"] notes = newurl["notes"] short = Url.unique_short() u = Url.create(short, dest, g.user.username, custom=custom, notes=notes) return jsonify(success=True, short=u.short)
def urlcheck(short, short1=None, short2=None): if short1 is not None: short = short + "/" + short1 if short2 is not None: short = short + "/" + short2 match = Url.match(short.lower()) if match is None: return "No match found" match.hits_record(request.remote_addr) # finally redirect return redirect(match.dest, code=302)
def test_urlvalidNo(self): self.assertFalse(Url.url_valid("http//bb_/c.co.uk/"))
def test_urlvalidYes(self): self.assertTrue(Url.url_valid("http://bbc.co.uk/"))
def admin_api_urls(): urls = Url.get_all() return json.dumps([dict(url.__dict__) for url in urls])
def admin_urls_detail(short): url = Url(short) if url == None: return redirect(url_for('admin_urls_list')) return render_template('admin_urls_detail.html', url=url, hits=url.hits())