コード例 #1
0
ファイル: views.py プロジェクト: demophoon/shrls
def render_code_snippet(url_id):
    redirect_obj = DBSession.query(Snippet).filter(Snippet.alias == url_id).first()
    if redirect_obj:
        redirect_obj.views += 1
        DBSession.add(redirect_obj)
        DBSession.commit()
        return render_template('snippet.html', code=redirect_obj)
    return not_found()
コード例 #2
0
ファイル: views.py プロジェクト: demophoon/shrls
def url_redirect(url_id):
    url_id = url_id.split('.')[0]
    redirect_obj = DBSession.query(Url).filter(Url.alias == url_id).all()
    redirect_obj = random.choice(redirect_obj)
    if redirect_obj:
        location = redirect_obj.location
        redirect_obj.views += 1
        DBSession.add(redirect_obj)
        DBSession.commit()
        return redirect(location, code=302)
    return not_found()
コード例 #3
0
ファイル: views.py プロジェクト: demophoon/shrls
def create_url(longurl, shorturl=None, creator=None, overwrite=None):
    shrl = Url(longurl)
    if shorturl:
        if overwrite:
            obj = DBSession.query(Url).filter(Url.alias == shorturl).first()
            if obj:
                DBSession.delete(obj)
                DBSession.commit()
        shrl.alias = shorturl
    if creator:
        shrl.alias = "{}/{}".format(creator, shrl.alias)
    DBSession.add(shrl)
    DBSession.commit()
    return '{}/{}'.format(app.config['shrls_base_url'], shrl.alias)
コード例 #4
0
ファイル: views.py プロジェクト: demophoon/shrls
def create_snippet():
    print request.args
    content = request.form.get('c')
    title = request.form.get('t')
    shortid = request.form.get('s')
    if not content:
        return "Error"
    shrl = Snippet(content, title=title)
    if shortid:
        obj = DBSession.query(Snippet).filter(Snippet.alias == shortid).first()
        if obj:
            DBSession.delete(obj)
            DBSession.commit()
        shrl.alias = shortid
    DBSession.add(shrl)
    DBSession.commit()
    alias = '{}/c/{}'.format(app.config['shrls_base_url'], shrl.alias)
    alias = create_url(alias)
    return alias