From 3dcfebca603f0af2ac0c1ac877dead49aaec710c Mon Sep 17 00:00:00 2001 From: idalin Date: Thu, 23 Feb 2017 13:52:58 +0800 Subject: [PATCH] update translations --- .../zh_Hans_CN/LC_MESSAGES/messages.mo | Bin 299763 -> 299688 bytes .../zh_Hans_CN/LC_MESSAGES/messages.po | 48 +++++++++--------- cps/web.py | 14 +++++ 3 files changed, 38 insertions(+), 24 deletions(-) diff --git a/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.mo b/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.mo index d3a83c0d80ac570bd5c1f7c520dd36b82a507115..5cb1b1c9580c0ed255440e3f96a16083481e0c4c 100644 GIT binary patch delta 60604 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 OHqFof$AIi&=lv5?O2rxg delta 60214 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 F{|6pjiWdL? diff --git a/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.po b/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.po index 5356f3b2..c68904f6 100644 --- a/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.po +++ b/cps/translations/zh_Hans_CN/LC_MESSAGES/messages.po @@ -61,31 +61,31 @@ msgstr "游客" #: cps/web.py:734 msgid "Requesting update package" -msgstr "" +msgstr "正在请求更新包" #: cps/web.py:735 msgid "Downloading update package" -msgstr "" +msgstr "正在下载更新包" #: cps/web.py:736 msgid "Unzipping update package" -msgstr "" +msgstr "正在解压更新包" #: cps/web.py:737 msgid "Files are replaced" -msgstr "" +msgstr "文件已替换" #: cps/web.py:738 msgid "Database connections are closed" -msgstr "" +msgstr "数据库连接已关闭" #: cps/web.py:739 msgid "Server is stopped" -msgstr "" +msgstr "服务器已停止" #: cps/web.py:740 msgid "Update finished, please press okay and reload page" -msgstr "" +msgstr "更新完成,请按确定并刷新页面" #: cps/web.py:810 msgid "Latest Books" @@ -97,7 +97,7 @@ msgstr "热门书籍(最多下载)" #: cps/web.py:845 msgid "Best rated books" -msgstr "" +msgstr "最高评分书籍" #: cps/templates/index.xml:36 cps/web.py:854 msgid "Random Books" @@ -108,9 +108,9 @@ msgid "Author list" msgstr "作者列表" #: cps/web.py:878 -#, python-format +#, python-forma 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:2115 @@ -150,7 +150,7 @@ msgstr "统计" #: cps/web.py:1061 msgid "Server restarted, please reload page" -msgstr "" +msgstr "服务器已重启,请刷新页面" #: cps/web.py:1063 msgid "Performing shutdown of server, please close window" @@ -158,7 +158,7 @@ msgstr "正在关闭服务器,请关闭窗口" #: cps/web.py:1073 msgid "Update done" -msgstr "" +msgstr "更新完成" #: cps/web.py:1147 cps/web.py:1160 msgid "search" @@ -475,11 +475,11 @@ msgstr "管理" #: cps/templates/admin.html:80 msgid "Current commit timestamp" -msgstr "" +msgstr "当前提交时间戳" #: cps/templates/admin.html:81 msgid "Newest commit timestamp" -msgstr "" +msgstr "最新提交时间戳" #: cps/templates/admin.html:83 msgid "Restart Calibre-web" @@ -491,11 +491,11 @@ msgstr "停止 Calibre-web" #: cps/templates/admin.html:85 msgid "Check for update" -msgstr "" +msgstr "检查更新" #: cps/templates/admin.html:86 msgid "Perform Update" -msgstr "" +msgstr "执行更新" #: cps/templates/admin.html:96 msgid "Do you really want to restart Calibre-web?" @@ -519,7 +519,7 @@ msgstr "您确定要关闭 Calibre-web 吗?" #: cps/templates/admin.html:127 msgid "Updating, please do not reload page" -msgstr "" +msgstr "正在更新,请不要刷新页面" #: cps/templates/book_edit.html:16 cps/templates/search_form.html:6 msgid "Book Title" @@ -610,7 +610,7 @@ msgstr "启用注册" #: cps/templates/config_edit.html:52 msgid "Default Settings for new users" -msgstr "" +msgstr "新用户默认设置" #: cps/templates/config_edit.html:55 cps/templates/user_edit.html:80 msgid "Admin user" @@ -651,7 +651,7 @@ msgstr "语言" #: cps/templates/detail.html:74 msgid "Publishing date" -msgstr "" +msgstr "出版日期" #: cps/templates/detail.html:106 msgid "Description:" @@ -723,11 +723,11 @@ msgstr "热门书籍" #: cps/templates/index.xml:19 msgid "Popular publications from this catalog based on Downloads." -msgstr "" +msgstr "基于下载数的热门书籍" #: cps/templates/index.xml:22 cps/templates/layout.html:129 msgid "Best rated Books" -msgstr "" +msgstr "最高评分书籍" #: cps/templates/index.xml:26 msgid "Popular publications from this catalog based on Rating." @@ -933,11 +933,11 @@ msgstr "个作者在此书库" #: cps/templates/stats.html:45 msgid "Categories in this Library" -msgstr "" +msgstr "个分类在此书库" #: cps/templates/stats.html:49 msgid "Series in this Library" -msgstr "" +msgstr "个丛书在此书库" #: cps/templates/user_edit.html:23 msgid "Kindle E-Mail" @@ -961,7 +961,7 @@ msgstr "显示热门书籍" #: cps/templates/user_edit.html:53 msgid "Show best rated books" -msgstr "" +msgstr "显示最高评分书籍" #: cps/templates/user_edit.html:57 msgid "Show language selection" diff --git a/cps/web.py b/cps/web.py index a33748e0..69cefe1a 100755 --- a/cps/web.py +++ b/cps/web.py @@ -51,6 +51,7 @@ except ImportError, e: use_generic_pdf_cover = True from cgi import escape +ALLOWED_EXTENSIONS = set(['txt', 'pdf', 'epub', 'mobi', 'azw', 'azw3', 'cbr', 'cbz', 'cbt', 'djvu', 'prc', 'doc', 'docx', 'fb2']) # Proxy Helper class class ReverseProxied(object): @@ -2136,6 +2137,19 @@ def upload(): db.session.connection().connection.connection.create_function('uuid4', 0, lambda: str(uuid4())) if request.method == 'POST' and 'btn-upload' in request.files: 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) title = meta.title