origin:comment,yyets

separate comment to higher level

update fe and dockerfile
This commit is contained in:
BennyThink
2021-10-30 14:44:28 +08:00
parent 120c797acb
commit 10eab46dad
6 changed files with 58 additions and 136 deletions

110
API.md
View File

@@ -49,9 +49,9 @@
## 搜索
同时搜索资源和评论会以type字段区分评论会额外返回 `comment_id`能根据这个ID过滤评论最好了
同时搜索资源和评论会以type字段区分评论会额外返回 `comment_id`
* GET `/api/resource?keyword=逃避`
* GET `/api/resource?keyword=权力的游戏`
```json
{
@@ -66,105 +66,27 @@
"area": "美国",
"show_type": "",
"expire": "1610372082",
"views": 34,
"views": 8691,
"year": [
2011
],
"type": "🎦"
},
{
"id": 35844,
"cnname": "权力的游戏:征服与反抗",
"enname": "Game of Thrones: Conquest and Rebellion",
"aliasname": "",
"channel": "movie",
"channel_cn": "电影",
"area": "美国",
"show_type": "",
"expire": "1610399882",
"views": 1,
"year": [
2017
],
"type": "🎦"
},
{
"cnname": "我用阿里云盘分享了「权力的游戏.1-8季无删减版.1080P......",
"enname": "👉︎👉︎👉︎ happy69",
"aliasname": "我用阿里云盘分享了「权力的游戏.1-8季无删减版.1080P」,你可以不限速下载🚀\n复制这段内容打开「阿里云盘」App 即可获取\n链接https://www.aliyundrive.com/s/zf3WotW6oiC",
"channel_cn": "happy69",
"type": "💬",
"id": 233,
"comment_id": "614bfc698510b2408c1926b5"
},
{
"cnname": "我用阿里云盘分享了「权力的游戏人人影视版」,你可以不限速下载......",
"enname": "👉︎👉︎👉︎ jadydou",
"aliasname": "我用阿里云盘分享了「权力的游戏人人影视版」,你可以不限速下载🚀\n复制这段内容打开「阿里云盘」App 即可获取\n链接https://www.aliyundrive.com/s/WDsKgqyxGps",
"channel_cn": "jadydou",
"type": "💬",
"id": 10733,
"comment_id": "6147fa307af3626caa5523a1"
},
{
"cnname": "我用阿里云盘分享了「权力的游戏.1-8季无删减版.1080P......",
"enname": "👉︎👉︎👉︎ 18103421965",
"aliasname": "我用阿里云盘分享了「权力的游戏.1-8季无删减版.1080P」,你可以不限速下载🚀\n复制这段内容打开「阿里云盘」App 即可获取\n链接https://www.aliyundrive.com/s/A5qPZoP2Jrt",
"channel_cn": "18103421965",
"type": "💬",
"id": 10733,
"comment_id": "614798052afd8de53754bedb"
},
{
"cnname": "我用阿里云盘分享了「权力的游戏.1-8季无删减版.1080P......",
"enname": "👉︎👉︎👉︎ 18103421965",
"aliasname": "我用阿里云盘分享了「权力的游戏.1-8季无删减版.1080P」,你可以不限速下载🚀\n复制这段内容打开「阿里云盘」App 即可获取\n链接https://www.aliyundrive.com/s/A5qPZoP2Jrt",
"channel_cn": "18103421965",
"type": "💬",
"id": 10914,
"comment_id": "614797cd7af3626caa54cf47"
},
{
"cnname": "我用阿里云盘分享了「权力的游戏.1-8季无删减版.1080P......",
"enname": "👉︎👉︎👉︎ kevinluo",
"aliasname": "我用阿里云盘分享了「权力的游戏.1-8季无删减版.1080P」,你可以不限速下载🚀\n复制这段内容打开「阿里云盘」App 即可获取\n链接https://www.aliyundrive.com/s/o58i7s3dcYJ",
"channel_cn": "kevinluo",
"type": "💬",
"id": 10733,
"comment_id": "6146458e2afd8de537529caa"
},
{
"cnname": "网盘目录 Game.of.Thrones.权力的游戏.txt......",
"enname": "👉︎👉︎👉︎ zzzyusa",
"aliasname": "网盘目录 Game.of.Thrones.权力的游戏.txt: https://url90.ctfile.com/f/2536190-513324961-96c675 访问密码5413",
"channel_cn": "zzzyusa",
"type": "💬",
"id": 10733,
"comment_id": "613cbca484bab96c4fa32aef"
},
{
"cnname": "我用阿里云盘分享了「权力的游戏.1-8季无删减版.1080P......",
"enname": "👉︎👉︎👉︎ 牛啊牛啊",
"aliasname": "我用阿里云盘分享了「权力的游戏.1-8季无删减版.1080P」你可以不限速下载https://www.aliyundrive.com/s/NPqweJ6GL6c",
"channel_cn": "牛啊牛啊",
"type": "💬",
"id": 10733,
"comment_id": "61363b5d2f17def162a66c26"
},
{
"cnname": "<reply value=\"60ef0913898cc061......",
"enname": "👉︎👉︎👉︎ Benny",
"aliasname": "<reply value=\"60ef0913898cc06157c5847c\">@408188289@qq.com</reply>目前Resilio Sync 只有黑寡妇这个有,别的我都没做种……😂权力的游戏的话,我硬盘里有,等哪天我有空更新下吧",
"channel_cn": "Benny",
"type": "💬",
"id": 233,
"comment_id": "60efb14c898cc06157c617a7"
"origin": "yyets"
}
],
"extra": []
"extra": [],
"comment": [
{
"username": "Liyixin",
"date": "2021-10-30 10:06:44",
"comment": "我用阿里云盘分享了「权力的游戏.1-8季无删减版(1).1080P」,你可以不限速下载🚀\n复制这段内容打开「阿里云盘」App 即可获取\n链接https://www.aliyundrive.com/s/hcUfFYnkhN5",
"commentID": "617ca8b470a52cc3ef2b0dff",
"resourceID": 10733,
"resourceName": "权力的游戏",
"origin": "comment"
}
]
}
```
当数据库搜索不到资源时会尝试从字幕侠、new字幕组和追新番搜索返回如下
```json

View File

@@ -1,5 +1,4 @@
FROM python:3.9-alpine3.13 as pybuilder
RUN apk update && apk add --no-cache tzdata ca-certificates alpine-sdk libressl-dev libffi-dev cargo && \
apk add tiff-dev jpeg-dev openjpeg-dev zlib-dev freetype-dev lcms2-dev \
libwebp-dev tcl-dev tk-dev harfbuzz-dev fribidi-dev libimagequant-dev libxcb-dev libpng-dev
@@ -12,15 +11,15 @@ FROM python:3.9-alpine3.13 as runner
RUN apk update && apk add --no-cache libressl jpeg-dev openjpeg-dev libimagequant-dev tiff-dev freetype-dev libxcb-dev
FROM node:alpine as nodebuilder
FROM node:lts-alpine as nodebuilder
WORKDIR /build
ARG env
WORKDIR /YYeTsBot/YYeTsFE/
RUN apk add git
COPY YYeTsFE/package.json /YYeTsBot/YYeTsFE/
COPY YYeTsFE/yarn.lock /YYeTsBot/YYeTsFE/
RUN yarn --network-timeout 1000000
COPY YYeTsFE /YYeTsBot/YYeTsFE/
COPY YYeTsFE/package.json /build/
COPY YYeTsFE/yarn.lock /build/
COPY scripts/dev_robots.sh /tmp/
RUN yarn --network-timeout 1000000
COPY YYeTsFE /build/
RUN if [ "$env" = "dev" ]; then echo "dev build"; yarn build; sh /tmp/dev_robots.sh; else echo "prod build"; yarn run release; fi
@@ -29,8 +28,7 @@ COPY . /YYeTsBot
COPY --from=pybuilder /root/.local /usr/local
COPY --from=pybuilder /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/
COPY --from=pybuilder /usr/share/zoneinfo /usr/share/zoneinfo
RUN true
COPY --from=nodebuilder /YYeTsBot/YYeTsFE/build /YYeTsBot/yyetsweb/templates/
COPY --from=nodebuilder /build/build /YYeTsBot/yyetsweb/templates/
ENV TZ=Asia/Shanghai
WORKDIR /YYeTsBot/yyetsbot

Submodule YYeTsFE updated: d96a4610aa...9064c4923a

View File

@@ -1,4 +1,4 @@
cat << EOF > /YYeTsBot/YYeTsFE/build/robots.txt
cat << EOF > /build/build/robots.txt
User-agent: *
Disallow: /
EOF

View File

@@ -511,25 +511,26 @@ class ResourceMongoResource(ResourceResource, Mongo):
)
for item in resource_data:
item["data"]["info"]["type"] = "🎦"
item["data"]["info"]["origin"] = "yyets"
final.append(item["data"]["info"])
# get comment
r = CommentSearchMongoResource().get_comment(1, 100, keyword)
r = CommentSearchMongoResource().get_comment(1, 2 ** 10, keyword)
c_search = []
for c in r.get("data", []):
cnname = c["content"][:30] + "......"
enname = f'👉︎👉︎👉︎ {c["username"]}'
channel_cn = c["username"]
aliasname = c["content"]
resource_id = c["resource_id"]
comment_rid = c["resource_id"]
d = self.db["yyets"].find_one({"data.info.id": comment_rid}, projection={"data.info": True})
c_search.append(
dict(
cnname=cnname, enname=enname, aliasname=aliasname, channel_cn=channel_cn,
type="💬", id=resource_id, comment_id=c["id"]
{
"username": c["username"],
"date": c["date"],
"comment": c["content"],
"commentID": c["id"],
"resourceID": comment_rid,
"resourceName": d["data"]["info"]["cnname"],
"origin": "comment"
}
)
)
final.extend(c_search)
if final:
returned = dict(data=final)
@@ -543,7 +544,8 @@ class ResourceMongoResource(ResourceResource, Mongo):
returned["data"] = []
returned["extra"] = extra
# add comment data here
returned["comment"] = c_search
return returned
def patch_resource(self, new_data: dict):
@@ -1015,7 +1017,7 @@ class ResourceLatestMongoResource(ResourceLatestResource, Mongo):
projection = {"_id": False, "status": False, "info": False}
episode_data = {}
for res in tqdm(col.find(projection=projection), total=col.count()):
for season in res["data"].get("list",[]):
for season in res["data"].get("list", []):
for item in season["items"].values():
for single in item:
ts = single["dateline"]

View File

@@ -100,7 +100,7 @@ if __name__ == "__main__":
scheduler = BackgroundScheduler(timezone=timez)
scheduler.add_job(OtherMongoResource().reset_top, 'cron', hour=0, minute=0, day=1)
scheduler.add_job(sync_douban, 'cron', hour=0, minute=0, day=1)
# scheduler.add_job(ResourceLatestMongoResource().refresh_latest_resource, 'cron', hour=1)
scheduler.add_job(ResourceLatestMongoResource().refresh_latest_resource, 'cron', hour=1)
scheduler.start()
options.define("p", default=8888, help="running port", type=int)
options.define("h", default='127.0.0.1', help="listen address", type=str)