Skip to content

下载JM本子 (dispatch) #43

下载JM本子 (dispatch)

下载JM本子 (dispatch) #43

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