mirror of
https://github.com/hect0x7/JMComic-Crawler-Python.git
synced 2025-11-04 14:49:43 +08:00
126 lines
3.7 KiB
YAML
126 lines
3.7 KiB
YAML
name: 下载JM本子 (dispatch)
|
||
|
||
on:
|
||
workflow_dispatch:
|
||
inputs:
|
||
JM_ALBUM_IDS:
|
||
type: string
|
||
description: 本子id(多个id用-隔开,如 '123-456-789')
|
||
required: false
|
||
|
||
JM_PHOTO_IDS:
|
||
type: string
|
||
description: 章节id(单独下载章节,多个id同上)
|
||
required: false
|
||
|
||
CLIENT_IMPL:
|
||
type: string
|
||
description: 客户端类型(client.impl),下载失败时,你可以尝试填入此项重试。'api' 表示移动端,'html' 表示网页端。
|
||
default: ''
|
||
required: false
|
||
|
||
IMAGE_SUFFIX:
|
||
type: string
|
||
description: 图片后缀(download.cache.suffix),默认为空,表示不做图片格式转换。可填入例如 'png' 'jpg'
|
||
default: ''
|
||
required: false
|
||
|
||
DIR_RULE:
|
||
type: string
|
||
description: 下载文件夹规则(dir_rule.rule)。默认使用配置文件的 'Bd_Aauthor_Atitle_Pindex'。
|
||
default: ''
|
||
required: false
|
||
|
||
ZIP_NAME:
|
||
type: string
|
||
default: 本子.tar.gz
|
||
description: 压缩文件名称
|
||
required: false
|
||
|
||
UPLOAD_NAME:
|
||
type: string
|
||
default: Click me to download
|
||
description: 上传文件名称
|
||
required: false
|
||
|
||
# JM_USERNAME:
|
||
# type: string
|
||
# default: ''
|
||
# description: '禁漫帐号(不建议使用,用户名和密码会泄露在日志中。最好用secrets)'
|
||
# required: false
|
||
#
|
||
# JM_PASSWORD:
|
||
# type: string
|
||
# default: ''
|
||
# description: '禁漫密码(不建议使用,用户名和密码会泄露在日志中。最好用secrets)'
|
||
# required: false
|
||
|
||
|
||
jobs:
|
||
crawler:
|
||
runs-on: ubuntu-latest
|
||
env:
|
||
# 工作流输入
|
||
JM_ALBUM_IDS: ${{ github.event.inputs.JM_ALBUM_IDS }}
|
||
JM_PHOTO_IDS: ${{ github.event.inputs.JM_PHOTO_IDS }}
|
||
DIR_RULE: ${{ github.event.inputs.DIR_RULE }}
|
||
CLIENT_IMPL: ${{ github.event.inputs.CLIENT_IMPL }}
|
||
ZIP_NAME: ${{ github.event.inputs.ZIP_NAME }}
|
||
UPLOAD_NAME: ${{ github.event.inputs.UPLOAD_NAME }}
|
||
IMAGE_SUFFIX: ${{ github.event.inputs.IMAGE_SUFFIX }}
|
||
|
||
# 登录相关secrets
|
||
JM_USERNAME: ${{ secrets.JM_USERNAME }}
|
||
JM_PASSWORD: ${{ secrets.JM_PASSWORD }}
|
||
|
||
# 邮件相关secrets
|
||
EMAIL_FROM: ${{ secrets.EMAIL_FROM }}
|
||
EMAIL_TO: ${{ secrets.EMAIL_TO }}
|
||
EMAIL_PASS: ${{ secrets.EMAIL_PASS }}
|
||
EMAIL_TITLE: ${{ secrets.EMAIL_TITLE }}
|
||
EMAIL_CONTENT: ${{ secrets.EMAIL_CONTENT }}
|
||
|
||
# 固定值
|
||
JM_DOWNLOAD_DIR: /home/runner/work/jmcomic/download/
|
||
|
||
steps:
|
||
- uses: actions/checkout@v4
|
||
- name: Set up Python 3.11
|
||
uses: actions/setup-python@v5
|
||
with:
|
||
python-version: "3.11"
|
||
|
||
- name: Install Dependency
|
||
run: |
|
||
python -m pip install --upgrade pip
|
||
pip install -r requirements-dev.txt
|
||
|
||
- name: 安装jmcomic(pip)
|
||
if: ${{ github.ref != 'refs/heads/dev' }}
|
||
run: |
|
||
pip install jmcomic -i https://pypi.org/project --upgrade
|
||
|
||
- name: 安装jmcomic(local)
|
||
if: ${{ github.ref == 'refs/heads/dev' }}
|
||
run: |
|
||
pip install -e ./
|
||
|
||
- name: 运行下载脚本
|
||
run: |
|
||
cd ./usage/
|
||
python workflow_download.py
|
||
|
||
- name: 压缩文件
|
||
run: |
|
||
cd $JM_DOWNLOAD_DIR
|
||
tar -zcvf "../$ZIP_NAME" ./
|
||
mv "../$ZIP_NAME" .
|
||
|
||
- name: 上传结果
|
||
uses: actions/upload-artifact@v4
|
||
with:
|
||
name: ${{ env.UPLOAD_NAME }}
|
||
path: ${{ env.JM_DOWNLOAD_DIR }}/${{ env.ZIP_NAME }}
|
||
if-no-files-found: error
|
||
retention-days: 90
|