# module_b.py import sys import os # 获取当前文件所在目录 # current_dir = os.path.dirname(os.path.abspath(__file__)) current_dir = "/Users/cc/Documents/Dev/WorkSpace/VSCodeProjects/NewComicDownloader" # 添加父目录到 sys.path # parent_dir = os.path.join(current_dir, '..') # sys.path.insert(0, parent_dir) sys.path.insert(0, current_dir) # 现在可以使用绝对导入 from src.common.ComicInfo import ComicInfo, ComicPageInfo, ImageInfo, ComicInfoXml from os import path as Path class test_ImageInfo: def test_get_image_size(self): print(ImageInfo().get_image_size("photo.jpg")) def test_get_image_hash(self): print(ImageInfo().get_image_hash_advanced("photo.jpg")) def test_get_image_metadata(self): """获取图片信息""" page = self.get_image_metadata("photo.jpg") print(page) def test_get_image_metadata_from_zip(self): """从ZIP文件中获取图片信息""" pages = ImageInfo().get_image_metadata_from_zip("test.zip") print(pages) # Define the ComicInfo and ComicPageInfo classes class test_ComicInfo: # ComicInfo.xml 中的选项 def test_ToString(self): """测试ComicInfo的字符串表示""" comic = ComicInfo() comic.Title = "Test Comic" comic.Series = "Test Series" comic.Number = "1" comic.PageCount = 10 comic.Writer = "Test Writer" comic.Pages.append(ComicPageInfo()) print(comic.toString()) class test_ComicPageInfo: # ComicInfo.xml 中的 def test_ToString(self): """测试ComicPageInfo的字符串表示""" page = ComicPageInfo() page.Image = "test_image.jpg" page.ImageSize = 123456 class test_ComicInfoXml: def test_get_page_count(self): """测试获取ComicInfo.xml中的PageCount""" zip_file = Path("test.zip") page_count = self.get_page_count(zip_file) print(f"zip_file={zip_file} PageCount: {page_count}") def test_scrapy_xml_by_json(self): """ 根据Json数据生成ComicInfo.xml """ json_data = { "name": "选手村母猪调教", "chapter": "第2话-总教练最「疼爱」的选手", "author": "沃林,蜜果实", "tags": "凌辱,调教,报仇,选手村,体操,硬调色情,新作", "images": [ "001.jpg", "scramble=6_002.jpg", "scramble=5_003.jpg", "004.jpg", "005.jpg", "scramble=5_006.jpg", "007.jpg", "008.jpg", "scramble=7_009.jpg", "scramble=9_010.jpg", "011.jpg", "012.jpg", "scramble=6_013.jpg", "014.jpg", "015.jpg", "scramble=7_016.jpg", "017.jpg", "018.jpg", "019.jpg" ], "description": ("「总教练,我愿意用身体换取机会…」在腐败的选手村里,总教练握有绝对的权力," + "选手们只能任凭摆布。人们对成功的渴望不断滋长,却也因为过度的欲望濒临崩溃…"), "genre": "韩漫", "age_rating": "R18+", "series": "选手村母猪调教", "number": 2, 'page_count': 286 } save_dir = "/Users/cc/Documents/Dev/WorkSpace/VSCodeProjects/NewComicDownloader/output/rm_comic/images/选手村母猪调教/第2话-总教练最「疼爱」的选手" xsd_file = "ComicInfo_2.1.xsd" pages = ComicInfoXml().scrapy_xml_by_json(json_data, save_dir=save_dir, xsd_file=xsd_file) print(f"Generated pages: {pages}") if __name__ == "__main__": test_ComicInfoXml().test_scrapy_xml_by_json()