1
0
mirror of https://gitee.com/bookshelfplus/bookshelfplus synced 2025-09-01 22:53:29 +08:00
Code Issues Projects Releases Wiki Activity GitHub Gitee

删除adminUploadHelper

This commit is contained in:
2022-04-22 17:21:17 +08:00
parent 186dbdf32b
commit 001f914fc2
3 changed files with 0 additions and 162 deletions

View File

@@ -1,6 +0,0 @@
output/*
*.pdf
*.png
*.zip
*.json
*.bak

View File

@@ -1,143 +0,0 @@
# 书栖网 电子书打包工具
# 获取系统命令行参数
import sys
# 获取当前目录
import os
# 压缩文件
import zipfile
# 计算哈希
import hashlib
# 获取文档缩略图
import fitz
# 写入JSON文件
import json
def get_filePath_fileName_fileExt(fileUrl):
"""
获取文件路径, 文件名, 后缀名
:param fileUrl:
:return:
"""
filepath, tmpfilename = os.path.split(fileUrl)
shotname, extension = os.path.splitext(tmpfilename)
return filepath, shotname, extension
def get_fileName(fileUrl):
"""
获取文件名
:param fileUrl:
:return:
"""
return os.path.basename(fileUrl)
def pack(filename, zipFileName):
f = zipfile.ZipFile(zipFileName, 'w', zipfile.ZIP_DEFLATED)
f.write(filename, get_fileName(filename))
f.write("书栖网 bookshelf.plus.txt")
f.close()
def CalcSha1(filepath):
with open(filepath,'rb') as f:
sha1obj = hashlib.sha1()
sha1obj.update(f.read())
hash = sha1obj.hexdigest()
print(hash)
return hash
def getCover(file_name, saveName):
"""
获取封面
:param filepath:
:return:
"""
cover = ""
try:
if '.pdf' not in file_name:
print("此文件非PDF文件")
return None
# 打开PDF文件生成一个对象
doc = fitz.open(file_name)
if doc.pageCount > 1:
page = doc[0]
rotate = int(0)
# 每个尺寸的缩放系数为2这将为我们生成分辨率提高四倍的图像。
zoom_x = 2.0
zoom_y = 2.0
trans = fitz.Matrix(zoom_x, zoom_y).prerotate(rotate)
pm = page.get_pixmap(matrix=trans, alpha=False)
# 保存路径
pm.save(saveName)
# pm.save('%s.png' % get_filePath_fileName_fileExt(file_name)[1])
print("完成")
return doc.pageCount
else:
return None
except Exception as e:
print(e)
# 字节bytes转化kb\m\g
def formatSize(bytes):
try:
bytes = float(bytes)
kb = bytes / 1024
except:
print("传入的字节格式不对")
return "Error"
if kb >= 1024:
M = kb / 1024
if M >= 1024:
G = M / 1024
return "%fG" % (G)
else:
return "%fM" % (M)
else:
return "%fkb" % (kb)
if __name__=='__main__':
print("脚本名", sys.argv[0])
print("当前文件夹", os.getcwd())
if len(sys.argv) < 2:
print("请拖入文件!")
input("按回车键继续...")
exit
elif len(sys.argv) > 2:
print("只能拖入一个文件!")
input("按回车键继续...")
exit
if not os.path.exists("output"):
os.mkdir("output")
# 文件名
filename = sys.argv[1]
print(get_fileName(filename), filename)
hash = CalcSha1(filename)
# 压缩文件
zipFileName = "output/"+"zipFile.zip"
pack(filename, zipFileName)
os.rename(zipFileName, "output/"+hash+".zip")
# 页数
pageCount = None
# 封面
if '.pdf' in sys.argv[1]:
# 单个文件尝试获取封面
pdfFile = sys.argv[1]
pageCount = getCover(pdfFile, "output/"+hash+".png")
# 文件大小
fileSize = os.path.getsize(filename)
# JSON
result = {
'name': get_fileName(filename),
"pageCount": pageCount,
'size': fileSize,
'size_format': formatSize(fileSize)
}
with open("output/"+hash+".json", 'w') as f:
json.dump(result, f)
input()

View File

@@ -1,13 +0,0 @@
[书栖网] 一个完全免费无门槛的计算机类电子书下载网站
本电子书由书栖网收集整理。我们承诺永远免费,不设置关注公众号等下载门槛,也不接受打赏。
书籍收集自互联网,由于电子书数量较多,整理时难免有所疏漏。我们无意侵犯他人的合法权益,如不申侵犯了您的权益,请发送邮件至 admin@only4.work 并提供相关权益证明材料,我们将第一时间下架相应资源。
书栖网由程序员小墨个人开发网站已开源如果对你有帮助欢迎前往仓库点个Star你的支持是我们前行的动力
GitHub: https://github.com/bookshelfplus/bookshelfplus
Gitee: https://gitee.com/bookshelfplus/bookshelfplus
我的B站: https://space.bilibili.com/457109942
书栖网 bookshelf.plus
网站始建于 2022.04