def singleBehavior(postID: int, savedFileName: str, seeLZ=True, imageBed=True): Avalon.debug_info('创建任务,ID:%d' % postID) if os.path.isfile(savedFileName): Avalon.time_info('帖子已经下载并保存,跳过[ID:%d]' % postID) return True post = api(postID=postID, seeLZ=seeLZ) try: postInfo = post.getInfo() except FileNotFoundError: return False except SystemExit: return False Avalon.time_info('开始任务:"%s"(作者:%s)[ID:%d]' % (postInfo['Title'], postInfo['Author'], postID), highlight=True) Avalon.debug_info(postInfo) lastContext = [] for i in range(1, postInfo['TotalPage'] + 1): Avalon.time_info('开始第%d页,共%d页' % (i, postInfo['TotalPage'])) try: pageHTMLContent = post.getContent(i) pageMarkdownContent = post.contentToMarkdown(pageHTMLContent, useImageBed=imageBed) except KeyboardInterrupt: Avalon.critical('用户强制退出') quit(1) except SystemExit: pass else: lastContext.append(pageMarkdownContent) lastContext = ''.join(lastContext) post.saveToFile(savedFileName, lastContext) return True
if fileName.split('.')[-1] != 'md': Avalon.warning('文件名错误!') else: try: with open(fileName, 'w+', encoding='utf-8') as f: if not f.writable: raise Exception except: Avalon.warning('文件错误!') else: break Avalon.debug_info('程序已经启动...正在获取帖子信息') post = api(postID=postID, seeLZ=onlySeeLZ, debug=GENERAL_DEBUG_MODE) postInfo = post.getInfo() Avalon.time_info('开始任务:"%s"(作者:%s)' % (postInfo['Title'], postInfo['Author']), highlight=True) for i in range(1, postInfo['TotalPage'] + 1): Avalon.time_info('开始第%d页,共%d页' % (i, postInfo['TotalPage'])) try: pageHTMLContent = post.getContent(i) pageMarkdownContent = post.contentToMarkdown(pageHTMLContent, useImageBed=USE_IMAGE_BED) except KeyboardInterrupt: Avalon.critical('用户强制退出') quit(1) else: post.saveToFile(fileName, pageMarkdownContent) """ markdown = markdown() image = image(debug=GENERAL_DEBUG_MODE)