allow span pointers to be used as URLs
This commit is contained in:
parent
5cdc4202e9
commit
9cfe7cd06b
|
@ -1,5 +1,5 @@
|
|||
from flask import (Blueprint, render_template, request, redirect, flash,
|
||||
url_for, abort, jsonify)
|
||||
url_for, abort, jsonify, Response)
|
||||
from flask_login import (login_user, current_user, logout_user,
|
||||
login_required, LoginManager)
|
||||
from .forms import (LoginForm, SignupForm, AccountSettingsForm,
|
||||
|
@ -18,6 +18,7 @@ import re
|
|||
login_manager = LoginManager()
|
||||
login_manager.login_view = '.login'
|
||||
re_paragraph = re.compile(r'(?:\r\n|\r|\n){2,}')
|
||||
re_spanpointer = re.compile(r'([A-Za-z0-9]+),start=(\d+),length=(\d+)')
|
||||
bp = Blueprint('view', __name__)
|
||||
|
||||
def init_app(app):
|
||||
|
@ -55,7 +56,6 @@ def show_errors(f):
|
|||
|
||||
@bp.route('/')
|
||||
def home():
|
||||
titles = XanaLink.get_all_titles()
|
||||
docs = Item.query.order_by(Item.created)
|
||||
return render_template('home.html', docs=docs)
|
||||
|
||||
|
@ -139,6 +139,12 @@ def view_edl(username, hashid):
|
|||
|
||||
@bp.route('/<username>/<hashid>')
|
||||
def view_item(username, hashid):
|
||||
if ',' in hashid:
|
||||
m = re_spanpointer.match(hashid)
|
||||
hashid, start, length = m.group(1), int(m.group(2)), int(m.group(3))
|
||||
item = get_item(username, hashid)
|
||||
return Response(item.text[start:length + start], mimetype='text/plain')
|
||||
|
||||
item = get_item(username, hashid)
|
||||
if item.type == 'xanadoc':
|
||||
return view_xanadoc(item)
|
||||
|
|
Loading…
Reference in a new issue