Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up

Movie metadata scraper

License

NotificationsYou must be signed in to change notification settings

sqzw-x/mdcx

Repository files navigation

python

上游项目

  • yoshiko2/Movie_Data_Capture: CLI 工具,开源版本现已不活跃, 新版本已闭源商业化.
  • moyy996/AVDC: 上述项目早期的一个 Fork, 使用 PyQt 实现了图形界面, 已停止维护
  • @Hermit/MDCx: AVDC 的 Fork, 一度在anyabc/something 分发源代码及可执行文件.
  • 2023-11-3 @anyabc 因未知原因销号删库, 其分发的最后一个版本号为 20231014.

向相关开发者表示敬意.

关于本项目

  • 本项目基于 @Hermit/MDCx, 对代码进行了大幅的重构与拆分, 以提高可维护性
  • MacOS 版本为自动构建, 不保证可用性
  • 尽管重构了大部分代码, 但由于代码耦合度仍然很高, 可维护性很差, 因此仅修复 bug, 不考虑加入新功能
  • 当然如果直接 PR 也可以

构建

一般情况请勿自行构建, 至Release 下载最新版

Windows 7

Windows 7 上需使用 Python 3.8 构建, 代码及依赖均兼容, 可在本地自行构建. 也可使用 GitHub Actions 构建:

  1. fork 本仓库, 在仓库设置中启用 Actions
  2. 参考为存储库创建配置变量, 设置BUILD_FOR_WINDOWS_LEGACY 变量, 值非空即可
  3. 在 Actions 中手动运行Build and Release

macOS

低版本 macOS: 需注意 opencv 兼容性问题, 参考issue #82.也可使用 GitHub Actions 构建, 步骤同上, 需设置BUILD_FOR_MACOS_LEGACY 变量, 值非空即可;以及MACOS_LEGACY_CV_VERSION 变量, 值为兼容的opencv-contrib-python-headless 版本

ARM64(AArch64) 架构: 可本地构建. 若欲使用 GitHub Actions 构建, 需添加自托管的运行器,并设置SELF_HOSTED_MACOS_ARM64_RUNNER 变量

开发

环境准备

  • python 3.9
  • Windows 10/11
  • macOS 10.15.7+

准备源码

  • 方式1: 下载仓库源码Release源码,下载后解压
  • 方式2: git克隆项目
    git clone https://github.com/sqzw-x/mdcx.git

运行

Windows

  • cmd
cd /d D:\dev\mdcxpython -m venv venvvenv\Scripts\activatepip install -r requirements.txtsetPYTHONPATH=.\src;%PYTHONPATH%python main.py
  • powershell
cd D:\dev\mdcxpython-m venv venvvenv\Scripts\Activate.ps1pip install-r requirements.txt$env:PYTHONPATH="./src;$env:PYTHONPATH"python main.py

macOS

cd /path/to/mdcxpython -m venv venvsource venv/bin/activatepip install -r requirements-mac.txtexport PYTHONPATH=./src:$PYTHONPATHpython main.py

如何添加新配置项

  1. config.ini.default 中添加配置项及其默认值, 值类型可以是字符串, 整数, 浮点数
  2. 如果此值非字符串, 在src/models/config/config_manual.py 中将配置键加入INT_KEYFLOAT_KEY
  3. 修改src/models/config/config_generator.py 中的CONFIG_STR, 这用于生成默认配置文件
  4. 修改src.models.config.config.MDCxConfig.save_config 方法, 将新配置项加入模板字符串中, 这用于保存配置文件
  5. 运行src/models/config/config_generator.py, 这将更新src/models/config/config_generated.py
  6. 现在可以通过from models.config.config import config 导入配置, 并通过config.<key> 获取对应值, 且支持 IDE 补全
  7. 按下一节所述在设置界面中添加对应的控件
  8. 修改src/controllers/main_window/ 目录下load_config.pysave_config.py, 以实现与图形界面的交互

如何修改图形界面

  • src/views/MDCx.ui 定义了主窗口,src/views/posterCutTool.ui 是图片裁剪窗口, 可使用 Qt Designer 或 Qt Creator 编辑
  • 修改后运行pyuic5 src\views\MDCx.ui -o src\views\MDCx.py 生成对应的 Python 代码
  • 如需设置控件事件等, 需修改src.controllers.main_window.init.Init_Singal
  • 所有事件处理函数均在src/controllers/main_window/main_window.py

代码结构说明

  • src/models 中包括全部业务逻辑, 其中:
  • config 目录包括配置管理相关的代码
  • base 目录包括基本的功能函数, 它们耦合度较低
  • core 包括核心功能实现, 其中scraper.py 包括刮削过程的实现
  • signals.py 包括 Qt 信号量, 这是 MC 解耦的关键, 它也负责日志打印
  • configsignal 是预定义的单例, 可以在任何位置导入使用
  • viewscontrollers 结构相对简单, 可参考上文说明

授权许可

本插件项目在 GPLv3 许可授权下发行。此外,如果使用本项目表明还额外接受以下条款:

  • 本项目仅供学习以及技术交流使用
  • 请勿在公共社交平台上宣传此项目
  • 使用本软件时请遵守当地法律法规
  • 法律及使用后果由使用者自己承担
  • 禁止将本软件用于任何的商业用途

[8]ページ先頭

©2009-2025 Movatter.jp