|
@@ -15,7 +15,8 @@ from linkpreview import link_preview
|
|
from .validate import CLIP_SIZE_LIMIT, _validate, get_file_mimetype, get_file_size, get_filename, validate, validate_file, validate_parameter, validate_url
|
|
from .validate import CLIP_SIZE_LIMIT, _validate, get_file_mimetype, get_file_size, get_filename, validate, validate_file, validate_parameter, validate_url
|
|
from .hash_util import normalize_base32
|
|
from .hash_util import normalize_base32
|
|
from .save import save, save_upload
|
|
from .save import save, save_upload
|
|
-from json import dumps
|
|
|
|
|
|
+from .qr import get_qr_code
|
|
|
|
+from json import dumps, load
|
|
import bottle
|
|
import bottle
|
|
|
|
|
|
SCHEME = "https://"
|
|
SCHEME = "https://"
|
|
@@ -44,6 +45,10 @@ def validate_clip():
|
|
'err': ret[1:] if isinstance(ret, tuple) else None
|
|
'err': ret[1:] if isinstance(ret, tuple) else None
|
|
})
|
|
})
|
|
|
|
|
|
|
|
+@route('/qr', method=['POST'])
|
|
|
|
+def get_qr():
|
|
|
|
+ data = load(request.body)
|
|
|
|
+ return get_qr_code(**data).decode('utf-8')
|
|
|
|
|
|
@route('/static/<filename:path>')
|
|
@route('/static/<filename:path>')
|
|
def send_static(filename):
|
|
def send_static(filename):
|