Merge branch 'master' into prod
This commit is contained in:
commit
c98617a1cb
Binary file not shown.
|
@ -61,31 +61,31 @@ msgstr "游客"
|
||||||
|
|
||||||
#: cps/web.py:734
|
#: cps/web.py:734
|
||||||
msgid "Requesting update package"
|
msgid "Requesting update package"
|
||||||
msgstr ""
|
msgstr "正在请求更新包"
|
||||||
|
|
||||||
#: cps/web.py:735
|
#: cps/web.py:735
|
||||||
msgid "Downloading update package"
|
msgid "Downloading update package"
|
||||||
msgstr ""
|
msgstr "正在下载更新包"
|
||||||
|
|
||||||
#: cps/web.py:736
|
#: cps/web.py:736
|
||||||
msgid "Unzipping update package"
|
msgid "Unzipping update package"
|
||||||
msgstr ""
|
msgstr "正在解压更新包"
|
||||||
|
|
||||||
#: cps/web.py:737
|
#: cps/web.py:737
|
||||||
msgid "Files are replaced"
|
msgid "Files are replaced"
|
||||||
msgstr ""
|
msgstr "文件已替换"
|
||||||
|
|
||||||
#: cps/web.py:738
|
#: cps/web.py:738
|
||||||
msgid "Database connections are closed"
|
msgid "Database connections are closed"
|
||||||
msgstr ""
|
msgstr "数据库连接已关闭"
|
||||||
|
|
||||||
#: cps/web.py:739
|
#: cps/web.py:739
|
||||||
msgid "Server is stopped"
|
msgid "Server is stopped"
|
||||||
msgstr ""
|
msgstr "服务器已停止"
|
||||||
|
|
||||||
#: cps/web.py:740
|
#: cps/web.py:740
|
||||||
msgid "Update finished, please press okay and reload page"
|
msgid "Update finished, please press okay and reload page"
|
||||||
msgstr ""
|
msgstr "更新完成,请按确定并刷新页面"
|
||||||
|
|
||||||
#: cps/web.py:810
|
#: cps/web.py:810
|
||||||
msgid "Latest Books"
|
msgid "Latest Books"
|
||||||
|
@ -97,7 +97,7 @@ msgstr "热门书籍(最多下载)"
|
||||||
|
|
||||||
#: cps/web.py:845
|
#: cps/web.py:845
|
||||||
msgid "Best rated books"
|
msgid "Best rated books"
|
||||||
msgstr ""
|
msgstr "最高评分书籍"
|
||||||
|
|
||||||
#: cps/templates/index.xml:36 cps/web.py:854
|
#: cps/templates/index.xml:36 cps/web.py:854
|
||||||
msgid "Random Books"
|
msgid "Random Books"
|
||||||
|
@ -108,9 +108,9 @@ msgid "Author list"
|
||||||
msgstr "作者列表"
|
msgstr "作者列表"
|
||||||
|
|
||||||
#: cps/web.py:878
|
#: cps/web.py:878
|
||||||
#, python-format
|
#, python-forma
|
||||||
msgid "Author: %(name)s"
|
msgid "Author: %(name)s"
|
||||||
msgstr ""
|
msgstr "作者: %(name)s"
|
||||||
|
|
||||||
#: cps/web.py:880 cps/web.py:908 cps/web.py:1007 cps/web.py:1235
|
#: cps/web.py:880 cps/web.py:908 cps/web.py:1007 cps/web.py:1235
|
||||||
#: cps/web.py:2115
|
#: cps/web.py:2115
|
||||||
|
@ -150,7 +150,7 @@ msgstr "统计"
|
||||||
|
|
||||||
#: cps/web.py:1061
|
#: cps/web.py:1061
|
||||||
msgid "Server restarted, please reload page"
|
msgid "Server restarted, please reload page"
|
||||||
msgstr ""
|
msgstr "服务器已重启,请刷新页面"
|
||||||
|
|
||||||
#: cps/web.py:1063
|
#: cps/web.py:1063
|
||||||
msgid "Performing shutdown of server, please close window"
|
msgid "Performing shutdown of server, please close window"
|
||||||
|
@ -158,7 +158,7 @@ msgstr "正在关闭服务器,请关闭窗口"
|
||||||
|
|
||||||
#: cps/web.py:1073
|
#: cps/web.py:1073
|
||||||
msgid "Update done"
|
msgid "Update done"
|
||||||
msgstr ""
|
msgstr "更新完成"
|
||||||
|
|
||||||
#: cps/web.py:1147 cps/web.py:1160
|
#: cps/web.py:1147 cps/web.py:1160
|
||||||
msgid "search"
|
msgid "search"
|
||||||
|
@ -475,11 +475,11 @@ msgstr "管理"
|
||||||
|
|
||||||
#: cps/templates/admin.html:80
|
#: cps/templates/admin.html:80
|
||||||
msgid "Current commit timestamp"
|
msgid "Current commit timestamp"
|
||||||
msgstr ""
|
msgstr "当前提交时间戳"
|
||||||
|
|
||||||
#: cps/templates/admin.html:81
|
#: cps/templates/admin.html:81
|
||||||
msgid "Newest commit timestamp"
|
msgid "Newest commit timestamp"
|
||||||
msgstr ""
|
msgstr "最新提交时间戳"
|
||||||
|
|
||||||
#: cps/templates/admin.html:83
|
#: cps/templates/admin.html:83
|
||||||
msgid "Restart Calibre-web"
|
msgid "Restart Calibre-web"
|
||||||
|
@ -491,11 +491,11 @@ msgstr "停止 Calibre-web"
|
||||||
|
|
||||||
#: cps/templates/admin.html:85
|
#: cps/templates/admin.html:85
|
||||||
msgid "Check for update"
|
msgid "Check for update"
|
||||||
msgstr ""
|
msgstr "检查更新"
|
||||||
|
|
||||||
#: cps/templates/admin.html:86
|
#: cps/templates/admin.html:86
|
||||||
msgid "Perform Update"
|
msgid "Perform Update"
|
||||||
msgstr ""
|
msgstr "执行更新"
|
||||||
|
|
||||||
#: cps/templates/admin.html:96
|
#: cps/templates/admin.html:96
|
||||||
msgid "Do you really want to restart Calibre-web?"
|
msgid "Do you really want to restart Calibre-web?"
|
||||||
|
@ -519,7 +519,7 @@ msgstr "您确定要关闭 Calibre-web 吗?"
|
||||||
|
|
||||||
#: cps/templates/admin.html:127
|
#: cps/templates/admin.html:127
|
||||||
msgid "Updating, please do not reload page"
|
msgid "Updating, please do not reload page"
|
||||||
msgstr ""
|
msgstr "正在更新,请不要刷新页面"
|
||||||
|
|
||||||
#: cps/templates/book_edit.html:16 cps/templates/search_form.html:6
|
#: cps/templates/book_edit.html:16 cps/templates/search_form.html:6
|
||||||
msgid "Book Title"
|
msgid "Book Title"
|
||||||
|
@ -610,7 +610,7 @@ msgstr "启用注册"
|
||||||
|
|
||||||
#: cps/templates/config_edit.html:52
|
#: cps/templates/config_edit.html:52
|
||||||
msgid "Default Settings for new users"
|
msgid "Default Settings for new users"
|
||||||
msgstr ""
|
msgstr "新用户默认设置"
|
||||||
|
|
||||||
#: cps/templates/config_edit.html:55 cps/templates/user_edit.html:80
|
#: cps/templates/config_edit.html:55 cps/templates/user_edit.html:80
|
||||||
msgid "Admin user"
|
msgid "Admin user"
|
||||||
|
@ -651,7 +651,7 @@ msgstr "语言"
|
||||||
|
|
||||||
#: cps/templates/detail.html:74
|
#: cps/templates/detail.html:74
|
||||||
msgid "Publishing date"
|
msgid "Publishing date"
|
||||||
msgstr ""
|
msgstr "出版日期"
|
||||||
|
|
||||||
#: cps/templates/detail.html:106
|
#: cps/templates/detail.html:106
|
||||||
msgid "Description:"
|
msgid "Description:"
|
||||||
|
@ -723,11 +723,11 @@ msgstr "热门书籍"
|
||||||
|
|
||||||
#: cps/templates/index.xml:19
|
#: cps/templates/index.xml:19
|
||||||
msgid "Popular publications from this catalog based on Downloads."
|
msgid "Popular publications from this catalog based on Downloads."
|
||||||
msgstr ""
|
msgstr "基于下载数的热门书籍"
|
||||||
|
|
||||||
#: cps/templates/index.xml:22 cps/templates/layout.html:129
|
#: cps/templates/index.xml:22 cps/templates/layout.html:129
|
||||||
msgid "Best rated Books"
|
msgid "Best rated Books"
|
||||||
msgstr ""
|
msgstr "最高评分书籍"
|
||||||
|
|
||||||
#: cps/templates/index.xml:26
|
#: cps/templates/index.xml:26
|
||||||
msgid "Popular publications from this catalog based on Rating."
|
msgid "Popular publications from this catalog based on Rating."
|
||||||
|
@ -933,11 +933,11 @@ msgstr "个作者在此书库"
|
||||||
|
|
||||||
#: cps/templates/stats.html:45
|
#: cps/templates/stats.html:45
|
||||||
msgid "Categories in this Library"
|
msgid "Categories in this Library"
|
||||||
msgstr ""
|
msgstr "个分类在此书库"
|
||||||
|
|
||||||
#: cps/templates/stats.html:49
|
#: cps/templates/stats.html:49
|
||||||
msgid "Series in this Library"
|
msgid "Series in this Library"
|
||||||
msgstr ""
|
msgstr "个丛书在此书库"
|
||||||
|
|
||||||
#: cps/templates/user_edit.html:23
|
#: cps/templates/user_edit.html:23
|
||||||
msgid "Kindle E-Mail"
|
msgid "Kindle E-Mail"
|
||||||
|
@ -961,7 +961,7 @@ msgstr "显示热门书籍"
|
||||||
|
|
||||||
#: cps/templates/user_edit.html:53
|
#: cps/templates/user_edit.html:53
|
||||||
msgid "Show best rated books"
|
msgid "Show best rated books"
|
||||||
msgstr ""
|
msgstr "显示最高评分书籍"
|
||||||
|
|
||||||
#: cps/templates/user_edit.html:57
|
#: cps/templates/user_edit.html:57
|
||||||
msgid "Show language selection"
|
msgid "Show language selection"
|
||||||
|
|
14
cps/web.py
14
cps/web.py
|
@ -51,6 +51,7 @@ except ImportError, e:
|
||||||
use_generic_pdf_cover = True
|
use_generic_pdf_cover = True
|
||||||
from cgi import escape
|
from cgi import escape
|
||||||
|
|
||||||
|
ALLOWED_EXTENSIONS = set(['txt', 'pdf', 'epub', 'mobi', 'azw', 'azw3', 'cbr', 'cbz', 'cbt', 'djvu', 'prc', 'doc', 'docx', 'fb2'])
|
||||||
|
|
||||||
# Proxy Helper class
|
# Proxy Helper class
|
||||||
class ReverseProxied(object):
|
class ReverseProxied(object):
|
||||||
|
@ -2136,6 +2137,19 @@ def upload():
|
||||||
db.session.connection().connection.connection.create_function('uuid4', 0, lambda: str(uuid4()))
|
db.session.connection().connection.connection.create_function('uuid4', 0, lambda: str(uuid4()))
|
||||||
if request.method == 'POST' and 'btn-upload' in request.files:
|
if request.method == 'POST' and 'btn-upload' in request.files:
|
||||||
file = request.files['btn-upload']
|
file = request.files['btn-upload']
|
||||||
|
file = request.files['btn-upload']
|
||||||
|
if '.' in file.filename:
|
||||||
|
file_ext = file.filename.rsplit('.', 1)[-1].lower()
|
||||||
|
if file_ext not in ALLOWED_EXTENSIONS:
|
||||||
|
flash(
|
||||||
|
_('File extension "%s" is not allowed to be uploaded to this server' %
|
||||||
|
file_ext),
|
||||||
|
category="error"
|
||||||
|
)
|
||||||
|
return redirect(url_for('index'))
|
||||||
|
else:
|
||||||
|
flash(_('File to be uploaded must have an extension'), category="error")
|
||||||
|
return redirect(url_for('index'))
|
||||||
meta = uploader.upload(file)
|
meta = uploader.upload(file)
|
||||||
|
|
||||||
title = meta.title
|
title = meta.title
|
||||||
|
|
Loading…
Reference in New Issue
Block a user