Example #1
0
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
Example #2
0
    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)