Skip to content

Commit

Permalink
Merge pull request #97 from Zeal-L/develop
Browse files Browse the repository at this point in the history
修复了一些bug,增加了系统任务栏进度条;优化界面流畅度
  • Loading branch information
Zeal-L committed Dec 6, 2023
2 parents 0b17445 + 7b1f011 commit f5a06f9
Show file tree
Hide file tree
Showing 32 changed files with 2,911 additions and 1,967 deletions.
3 changes: 2 additions & 1 deletion .github/ISSUE_TEMPLATE/bug_report.yml
Expand Up @@ -38,7 +38,7 @@ body:
id: version
attributes:
label: 哔哩哔哩漫画下载器版本号
placeholder: v1.4.0
placeholder: v1.5.0
validations:
required: true
- type: dropdown
Expand All @@ -50,6 +50,7 @@ body:
- Windows11
- Linux
- Mac
- 其他 - 请在问题描述里附加
description: 目前主要适配Windows平台
validations:
required: true
Expand Down
4 changes: 2 additions & 2 deletions .github/workflows/pylint.yml
Expand Up @@ -7,7 +7,7 @@ jobs:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.11"]
python-version: ["3.12"]
steps:
- uses: actions/checkout@v3
- name: Set up Python ${{ matrix.python-version }}
Expand All @@ -23,5 +23,5 @@ jobs:
- name: Analysing the code with pylint
id: pylint
run: |
pipenv run pylint $(git ls-files '*.py' | grep -v "PySide_src")
poetry run pylint $(git ls-files '*.py' | grep -v "PySide_src")
continue-on-error: true
25 changes: 0 additions & 25 deletions Pipfile

This file was deleted.

1,222 changes: 0 additions & 1,222 deletions Pipfile.lock

This file was deleted.

43 changes: 27 additions & 16 deletions README.md
@@ -1,24 +1,26 @@
# 🎉 哔哩哔哩漫画下载器 💖

![GitHub Pipenv locked Python version](https://img.shields.io/github/pipenv/locked/python-version/Zeal-L/BiliBili-Manga-Downloader)
![GitHub top language](https://img.shields.io/github/languages/top/Zeal-L/BiliBili-Manga-Downloader)
<!-- ![GitHub top language](https://img.shields.io/github/languages/top/Zeal-L/BiliBili-Manga-Downloader) -->

![GitHub Python version](https://img.shields.io/badge/python-v3.12-blue)
![platform](https://img.shields.io/badge/platform-Windows_|_Linux-blue)
![Scc Count Badge](https://sloc.xyz/github/Zeal-L/BiliBili-Manga-Downloader/)
![GitHub repo size](https://img.shields.io/github/repo-size/Zeal-L/BiliBili-Manga-Downloader)
![GitHub - License](https://img.shields.io/github/license/Zeal-L/BiliBili-Manga-Downloader)
<!-- ![GitHub Lines of code](https://img.shields.io/tokei/lines/github/Zeal-L/BiliBili-Manga-Downloader) -->

![GitHub closed issues](https://img.shields.io/github/issues-closed/zeal-l/BiliBili-Manga-Downloader)
![GitHub commit activity](https://img.shields.io/github/commit-activity/y/Zeal-L/BiliBili-Manga-Downloader)
![GitHub last commit](https://img.shields.io/github/last-commit/Zeal-L/BiliBili-Manga-Downloader)
![GitHub all releases - Download](https://img.shields.io/github/downloads/Zeal-L/BiliBili-Manga-Downloader/total)


## 💬 简介

**由于作者某天实在是受不了B漫网页版的观看体验 ~~(时而混入漫画中的广告,无法便捷快速的放大图片,进度栏作死一样的反复横跳挡视线等等...)~~,再加上作者的仓鼠属性 😛**

**因此 将将将~ 🎉 一个好用的哔哩哔哩漫画下载器就此诞生!**

## ✨ 主要功能 / 特性

- **黑科技下载未解锁章节!**
- **提供多种可选的保存格式**
- **支持已购被下架漫画下载**
Expand All @@ -37,22 +39,25 @@
- **多种主题选择**

## 📸 相关截图

**使用哔站解析**
<div align=center>
<img src="https://github.com/Zeal-L/BiliBili-Manga-Downloader/assets/72005386/39f4e66f-50f1-410b-8761-971eeb9cf30e" width=90%>
<img src="https://github.com/Zeal-L/BiliBili-Manga-Downloader/assets/72005386/5c39fef2-f511-4545-968f-0b4e4ffad110" width=90%>
</div>

**使用BiliPlus解析**
<div align=center>
<img src="https://github.com/Zeal-L/BiliBili-Manga-Downloader/assets/72005386/4686f08b-2e88-4070-8d90-661c0a4392b6" width=90%>
<img src="https://github.com/Zeal-L/BiliBili-Manga-Downloader/assets/72005386/158a0b8f-f9db-464d-82e2-391dc3a441d9" width=90%>
</div>

**下载进度界面**
<div align=center>
<img src="https://github.com/Zeal-L/BiliBili-Manga-Downloader/assets/72005386/9c99e3c8-4283-4b0d-a5cd-23dab08b78b6" width=90%>
<img src="https://github.com/Zeal-L/BiliBili-Manga-Downloader/assets/72005386/9e12a306-9c91-49e7-8c26-6f39f0c225ec" width=90%>
</div>

## 📝 使用指南
- **下载地址**: [**Releases**](https://github.com/Zeal-L/BiliBili-Manga-Downloader/releases)

- **本软件有两种下载解析方法:**
- **B站解析**
- 只能下载免费章节和用户已解锁的章节
Expand All @@ -79,8 +84,8 @@
- **如果想用"本地库存"功能,需要注意的是:下载好的漫画章节名以及保存的 `元数据.json` 都不能更改,否则将会无法正确读取漫画数据**
- **已购被下架的漫画虽然不能通过关键词搜索到,但是可以通过漫画ID直接访问,如果你购买过那么就可以成功下载**


## 💕 友情推荐

**🔥 下面我要隆重的推荐一款搭配本软件使用的本地漫画浏览器 ~~(可以说就是为了这点儿醋 我才包的这顿饺子)~~**

<div align=center><img src="https://user-images.githubusercontent.com/72005386/222974497-18b568e7-5b2e-416f-8d14-22ec68323570.png" width=100%></div>
Expand All @@ -96,10 +101,10 @@
- 唯一的缺点好像就是对条漫不太支持,也有可能是我没找到选项,有知道的小伙伴可以联系我,谢啦~

## 💡 TODO List ~~(在可见的未来...)~~

- 更多开发进度详情请看 [**项目清单表**](https://github.com/users/Zeal-L/projects/2/views/1)
- **PS: 也欢迎小伙伴们多多的在Issues里提意见,不管是Bug还是操作逻辑,界面优化等等作者统统笑纳~**
- 🟦 缓存更多资源,减少网络请求
- 🟦 添加一个启动程序加载进度条
- 🟦 添加我的追漫界面,以及追漫功能
- 🟦 对于有特典的漫画,提供特典下载界面
- **已解决**
Expand All @@ -113,25 +118,27 @@
-~~给打包好的程序添加版本号版权等属性信息~~

## 🏗️ 本地构建 / 编译
- **首先确保你安装了 Python >= 3.11 和 git**
- **本项目使用了 pipenv 依靠虚拟环境进行依赖项管理,所以不必担心影响自己的本地环境**

- **首先确保你安装了 Python 3.12 和 git**
- **本项目使用了 poetry 依靠虚拟环境进行依赖项管理,所以不必担心影响自己的本地环境**
- **作者已经贴心的帮后来者们准备好了两个集成脚本~**
- **接下来的操作都在项目的根目录运行命令行指令**
- **构建项目**
1. 执行 `git clone https://github.com/Zeal-L/BiliBili-Manga-Downloader.git`
2. 执行 `cd BiliBili-Manga-Downloader/`
3. 执行 `sh setup.sh` 等待项目构建完成
4. 执行 `pipenv shell` 进入虚拟环境
4. 执行 `poetry shell` 进入虚拟环境
5. 执行 `python3 app.py` 即可运行程序
- **打包编译**
1. 执行 `sh build.sh` 等待项目打包完成
2. 这一步可能会花费一定时间,中途需要手动确认安全漏洞检查
2. 打包好的程序会被移动到项目的根目录 "哔哩哔哩漫画下载器.exe"
3. 打包好的程序会被移动到项目的根目录 "哔哩哔哩漫画下载器.exe"
- **彻底清除项目 ~~(删库跑路)~~**
1. 执行 `pipenv --rm `
1. 执行 `poetry env remove python3`
2. 执行 `cd .. && rm -rf BiliBili-Manga-Downloader/`

## 🔨 PR 格式

- 请PR到 `develop` 分支
- 遵循项目已有代码的 `python doc` 格式
- 明确的注释信息
Expand All @@ -148,27 +155,31 @@
[**详细日志**](UPDATE.md)

## 🍻 联系方式

欢迎进群讨论程序,漫画,资源分享, 提交问题等等

- Q群号:244029317

## 🙈 PS

**做项目不易,求星星!求赞助!如果本项目对你有帮助,请作者喝杯☕吧~**

<img src="https://user-images.githubusercontent.com/72005386/223096480-8d57ceef-0b33-4653-86bf-55e6094fcb9b.jpg" width=20%> <img src="https://user-images.githubusercontent.com/72005386/223096520-e5d95ac8-044d-4644-8500-3770e5ad81f8.jpg" width=18.5%>

## 🔒️ 许可协议

- 本项目在遵循 [**GNU Affero General Public License v3.0**](https://www.gnu.org/licenses/agpl-3.0.en.html) 许可协议下进行发布
- 若对代码进行了修改,请务必遵循许可协议的规定进行发布
- **特别提醒,未经合法授权,擅自使用本项目的内容可能涉及侵权行为,我们保留追究相应法律责任的权利**

## ⚠️ 免责申明

- **本软件提供的所有内容,仅可用作学习交流使用,未经版权方以及原作者授权,禁止用于商业目的以及其他用途。请在下载24小时内删除。为尊重版权,请前往资源的原始发布网站观看,支持原创,谢谢**
- 本软件只提供漫画解析,不提供任何个人信息上传、存储到服务器的功能
- 本软件解析得到的所有内容均来自哔哩哔哩漫画官方上传、分享,其版权均归原作者以及哔哩哔哩漫画所有。内容提供者、上传者应对其提供、上传的内容承担全部责任
- 因使用本软件产生的版权问题,软件作者概不负责
- 我们强烈建议您详细阅读并遵守许可协议的规定,以保障您与他人的权益和合法使用

## 🌟 Star History

[![Star History Chart](https://api.star-history.com/svg?repos=Zeal-L/BiliBili-Manga-Downloader&type=Date)](https://star-history.com/#Zeal-L/BiliBili-Manga-Downloader)


21 changes: 21 additions & 0 deletions UPDATE.md
@@ -1,5 +1,26 @@
## ⚰️ 更新记录

### **[v1.5.0](https://github.com/Zeal-L/BiliBili-Manga-Downloader/releases/tag/v1.5.0)** - *2022-12-6*
- 新增功能:
- 新增 `Windows` 系统任务栏下载进度显示
- 新增 `Cbz` 保存格式,该格式与`Zip`类似,但内置`ComicInfo.xml`,是许多漫画站点(如 komga 和 kavita)与浏览软件使用的元数据文件 ([#98][i98])
- 修复bug:
- 修复了一个下载完成后可能会导致进度条没有正确被清除的bug
- 修复了一个导致下载速度错误显示,越来越大的bug
- 修复了 `BiliPlus` 解析失败未正确返回的bug
- 修复了软件退出,下载任务仍在后台继续运行的bug
- 优化设置:
- 优化需要联网的初始任务处理,大幅度提升程序的启动速度
- 优化了现有的各种地方的明显界面卡顿,此后尽享丝滑
- 优化下载速度统计逻辑,现在更加平稳和准确了
- 本地漫画保存文件夹名称精简(默认不再包含作者名),且现在可以任意命名了 (PS: 元数据文件不能动)
-`BiliPlus` 下载添加便于识别的请求头,以及其他规范修复
- 开发相关:
- 改用 `poetry` 作为包管理器
- 升级 `Python``3.12` 版本

[i98]: https://github.com/Zeal-L/BiliBili-Manga-Downloader/pull/98

### **[v1.4.0](https://github.com/Zeal-L/BiliBili-Manga-Downloader/releases/tag/v1.4.0)** - *2022-09-30*
- 新增功能:
- 现在支持 `Linux` 平台了!
Expand Down
9 changes: 3 additions & 6 deletions app.py
Expand Up @@ -4,20 +4,17 @@


import ctypes
from sys import argv, platform
from sys import argv, exit, platform

from PySide6.QtWidgets import QApplication, QMessageBox

from src.ui.MainGUI import MainGUI
from src.Utils import __version__
from src.Utils import __main_window_title__, __version__

if __name__ == "__main__":
app = QApplication.instance() or QApplication(argv)

if (
platform == "win32"
and ctypes.windll.user32.FindWindowW(None, f"哔哩哔哩漫画下载器 v{__version__}") != 0
):
if platform == "win32" and ctypes.windll.user32.FindWindowW(None, __main_window_title__) != 0:
box = QMessageBox.information(None, "提示", "有一个我已经不满足不了你吗?\n\t...(。•ˇ‸ˇ•。) ...")
exit(0)

Expand Down
2 changes: 1 addition & 1 deletion app.spec
Expand Up @@ -8,7 +8,7 @@ a = Analysis(
['./app.py'],
pathex=[],
binaries=[],
datas=[],
datas=[('./src/assets/easy-taskbar-progress.dll', '.')],
hiddenimports=[],
hookspath=[],
hooksconfig={},
Expand Down
20 changes: 4 additions & 16 deletions build.sh
Expand Up @@ -3,25 +3,13 @@
echo -e "\033[32m\n 项目构建开始 ... \n\033[0m"

echo -e "\033[34m\n 显示现有的依赖包 ... \n\033[0m"
pipenv run pipenv graph
poetry show

echo -e "\033[34m\n 检查PyUp Safety的安全漏洞 ... \n\033[0m"
pipenv run pipenv check

echo -e "\033[34m\n 是否继续?(y/n) \n\033[0m"
read -r isContinue
if [ "$isContinue" != "y" ]; then
exit 0
fi

echo -e "\033[34m\n 验证Pipfile.lock中的哈希值是最新的 ... \n\033[0m"
pipenv run pipenv verify

echo -e "\033[34m\n 更新lock文件锁定的依赖版本 ... \n\033[0m"
pipenv run pipenv update
echo -e "\033[34m\n 更新现有的依赖包 ... \n\033[0m"
poetry update

echo -e "\033[34m\n pyinstaller 封装中 ... \n\033[0m"
pipenv run pyinstaller app.spec
poetry run pyinstaller app.spec

echo -e "\033[34m\n pyinstaller 移动可执行文件到根目录 ... \n\033[0m"
cp -r dist/* ./
Expand Down

0 comments on commit f5a06f9

Please sign in to comment.