From d4514edba638ab6bafed85eff567d4b7c97640b3 Mon Sep 17 00:00:00 2001 From: jxxghp Date: Sun, 17 Mar 2024 09:09:21 +0800 Subject: [PATCH] v1.7.3 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - `捷径`新增消息中心功能 - 内建支持CookieCloud本地化服务器,Cookie数据加密后保存在用户配置目录中,可在`设定`-`站点`中选择开启 - 优化了推荐详情页面,豆瓣推荐详情直接展示豆瓣数据源 - 修复了`蜜柑`无法搜索的问题 --- README.md | 4 +-- app/helper/cookiecloud.py | 13 +++++---- config/app.env | 2 -- database/versions/5813aaa7cb3a_1_0_15.py | 34 ++++++++++++++++++++++++ database/versions/f94cd1217fd7_1_0_14.py | 2 +- version.py | 2 +- 6 files changed, 46 insertions(+), 11 deletions(-) create mode 100644 database/versions/5813aaa7cb3a_1_0_15.py diff --git a/README.md b/README.md index 50eb178d..d20b3630 100644 --- a/README.md +++ b/README.md @@ -23,8 +23,8 @@ 通过CookieCloud可以快速同步浏览器中保存的站点数据到MoviePilot,支持以下服务方式: -- 使用公共CookieCloud服务器(默认):服务器地址为:https://movie-pilot.org/cookiecloud -- 使用内建的本地Cookie服务:设置`COOKIECLOUD_ENABLE_LOCAL`为`true`时启用,服务地址为:`http://localhost:${NGINX_PORT}/cookiecloud/`, Cookie数据加密保存在配置文件目录下的`cookies`文件中 +- 使用公共CookieCloud远程服务器(默认):服务器地址为:https://movie-pilot.org/cookiecloud +- 使用内建的本地Cookie服务:在 `设定` - `站点` 中打开`启用本地CookieCloud服务器`后,将启用内建的CookieCloud提供服务,服务地址为:`http://localhost:${NGINX_PORT}/cookiecloud/`, Cookie数据加密保存在配置文件目录下的`cookies`文件中 - 自建服务CookieCloud服务器:参考 [CookieCloud](https://github.com/easychen/CookieCloud) 项目进行搭建,docker镜像请点击 [这里](https://hub.docker.com/r/easychen/cookiecloud) **声明:** 本项目不会收集用户敏感数据,Cookie同步也是基于CookieCloud项目实现,非本项目提供的能力。技术角度上CookieCloud采用端到端加密,在个人不泄露`用户KEY`和`端对端加密密码`的情况下第三方无法窃取任何用户信息(包括服务器持有者)。如果你不放心,可以不使用公共服务或者不使用本项目,但如果使用后发生了任何信息泄露与本项目无关! diff --git a/app/helper/cookiecloud.py b/app/helper/cookiecloud.py index e3698b6c..9a7d2acb 100644 --- a/app/helper/cookiecloud.py +++ b/app/helper/cookiecloud.py @@ -45,9 +45,12 @@ class CookieCloudHelper: req_url = "%s/get/%s" % (self._server, str(self._key).strip()) ret = self._req.get_res(url=req_url) if ret and ret.status_code == 200: - result = ret.json() - if not result: - return {}, f"未从{self._server}下载到cookie数据" + try: + result = ret.json() + if not result: + return {}, f"未从{self._server}下载到cookie数据" + except Exception as err: + return {}, f"从{self._server}下载cookie数据错误:{str(err)}" elif ret: return None, f"远程同步CookieCloud失败,错误码:{ret.status_code}" else: @@ -62,7 +65,7 @@ class CookieCloudHelper: decrypted_data = decrypt(encrypted, crypt_key).decode('utf-8') result = json.loads(decrypted_data) except Exception as e: - return {}, "cookie解密失败" + str(e) + return {}, "cookie解密失败:" + str(e) if not result: return {}, "cookie解密为空" @@ -115,7 +118,7 @@ class CookieCloudHelper: file_path = os.path.join(self._local_path, os.path.basename(uuid) + ".json") # 检查文件是否存在 if not os.path.exists(file_path): - return None + return {} # 读取文件 with open(file_path, encoding="utf-8", mode="r") as file: diff --git a/config/app.env b/config/app.env index 717f8488..d86a73a0 100644 --- a/config/app.env +++ b/config/app.env @@ -43,5 +43,3 @@ DOWNLOAD_SUBTITLE=true OCR_HOST=https://movie-pilot.org # 插件市场仓库地址,多个地址使用`,`分隔,保留最后的/ PLUGIN_MARKET=https://github.com/jxxghp/MoviePilot-Plugins -# 是否启动本地CookieCloud服务,启用后,即可通过 http://localhost:3000/cookiecloud/ 使用cookiecloud服务 -COOKIECLOUD_ENABLE_LOCAL=false diff --git a/database/versions/5813aaa7cb3a_1_0_15.py b/database/versions/5813aaa7cb3a_1_0_15.py new file mode 100644 index 00000000..35302687 --- /dev/null +++ b/database/versions/5813aaa7cb3a_1_0_15.py @@ -0,0 +1,34 @@ +"""1.0.15 + +Revision ID: 5813aaa7cb3a +Revises: f94cd1217fd7 +Create Date: 2024-03-17 09:04:51.785716 + +""" +import contextlib + +from alembic import op +import sqlalchemy as sa + + +# revision identifiers, used by Alembic. +revision = '5813aaa7cb3a' +down_revision = 'f94cd1217fd7' +branch_labels = None +depends_on = None + + +def upgrade() -> None: + # ### commands auto generated by Alembic - please adjust! ### + with contextlib.suppress(Exception): + with op.batch_alter_table("message") as batch_op: + batch_op.add_column(sa.Column('note', sa.String, nullable=True)) + try: + op.create_index('ix_message_reg_time', 'message', ['reg_time'], unique=False) + except Exception as err: + pass + # ### end Alembic commands ### + + +def downgrade() -> None: + pass diff --git a/database/versions/f94cd1217fd7_1_0_14.py b/database/versions/f94cd1217fd7_1_0_14.py index 71d98af7..28749801 100644 --- a/database/versions/f94cd1217fd7_1_0_14.py +++ b/database/versions/f94cd1217fd7_1_0_14.py @@ -28,4 +28,4 @@ def upgrade() -> None: def downgrade() -> None: # ### commands auto generated by Alembic - please adjust! ### - pass \ No newline at end of file + pass diff --git a/version.py b/version.py index 22eb5143..c02e957b 100644 --- a/version.py +++ b/version.py @@ -1 +1 @@ -APP_VERSION = 'v1.7.2' +APP_VERSION = 'v1.7.3'