This commit is contained in:
caiwx86 2025-02-04 10:58:49 +08:00
parent 2d6b75014b
commit eaf1d70158
2 changed files with 56 additions and 14 deletions

View File

@ -16,7 +16,6 @@ from concurrent.futures import ThreadPoolExecutor
import hashlib
from io import BytesIO
logger = setup_logging(__name__)
class ImageInfo:
@ -342,6 +341,8 @@ class ComicInfoXml:
cpi.ImageSize = page.ImageSize
cpi.Key = page.Key
cpi.ImageWidth = page.ImageWidth
if page.ImageWidth != 720:
print(cpi)
cpi.ImageHeight = page.ImageHeight
page_elem = ET.SubElement(pages_elem, 'Page', cpi.toString())
else:

61
test.py
View File

@ -1,13 +1,54 @@
from src.common.naming import FileNaming
from src.common.ComicInfo import ImageInfo
from zipfile import ZipFile
from datetime import datetime
import os
dir_path = "/mnt/Comics/CBZ/rm_comic"
for dir in os.listdir(dir_path):
c_dir = os.path.join(dir_path, dir)
if os.path.isdir(c_dir):
files = list(FileNaming.get_filenames_optimized(c_dir, ext_filter=['.CBZ']))
for file in files:
size = os.path.getsize(file)
if size < 3000:
os.remove(file)
print(f"已删除{file}")
class test:
def clean_cbz(self):
dir_path = "/mnt/Comics/CBZ/rm_comic"
for dir in os.listdir(dir_path):
c_dir = os.path.join(dir_path, dir)
if os.path.isdir(c_dir):
files = list(FileNaming.get_filenames_optimized(c_dir, ext_filter=['.CBZ']))
for file in files:
size = os.path.getsize(file)
if size < 3000:
os.remove(file)
print(f"已删除{file}")
def _clean_old_cbz(self, cbz_path):
m_time = datetime.fromtimestamp(os.path.getmtime(cbz_path))
str_strftime = '%Y%m%d'
zip_time = m_time.strftime(str_strftime)
with ZipFile(cbz_path, 'r') as zip_ref:
old_img = 0
for file_info in zip_ref.infolist():
# 获取日期时间信息,格式为 (year, month, day, hour, minute, second)
date_time = file_info.date_time
# 将日期时间元组转换为datetime对象
dt = datetime(*date_time)
# 格式化输出日期时间例如YYYY-MM-DD HH:MM:SS
file_date_time = dt.strftime(str_strftime)
if int(zip_time) - int(file_date_time) > 10:
print(f"Clear Filename: {file_info.filename}, zip: {cbz_path}")
old_img += 1
if old_img > 0:
#os.remove(cbz_path)
print(f"remove cbz {cbz_path}")
def clean_old_cbz(self):
dir_path = "/mnt/Comics/CBZ/rm_comic"
for dir in os.listdir(dir_path):
c_dir = os.path.join(dir_path, dir)
if os.path.isdir(c_dir):
files = list(FileNaming.get_filenames_optimized(c_dir, ext_filter=['.CBZ']))
for file in files:
self._clean_old_cbz(file)
if __name__ == "__main__":
test().clean_old_cbz()