Пример #1
0
def zhx(filename):
    '''从目录简体版转到简体阅读章节'''
    jing = filename.split()[0]
    zang = jing.split('n')[0]
    juan = get_all_juan(jing)[0]
    url = f"/zh/xml/{zang}/{jing}_{juan}.xml"
    redirect(url)
Пример #2
0
def searchmulu():
    '''搜索标题, GET方法为目录部典籍查找所用'''
    if request.method == "GET":
        title = request.GET.title
        # 去除HTML标签、注释、卷数, 留下标题
        title = re.sub(
            r'<.*?>', '',
            title)  # title=[34]<span style="color:red">阿</span>差末菩薩經
        title = re.sub(r'\(.*?\)', '', title)
        title = re.sub(r'\[\w*?\]', '', title)
        title = re.sub(r'[一二三四五六七八九十百]+卷', '', title)
    else:
        title = request.forms.content
    if ts.detect(title)['confidence'] == 's':
        # title = opencc.convert(title, config='s2t.json')
        title = convert2t(title)
    results = []
    if not title:
        return {'results': results}
    for idx in ss.search(title):
        title0 = idx
        hl = ss.titles[idx]
        zang = idx.split('n')[0]  # T01
        juan = get_all_juan(idx)[0]  # 001
        an = f"/xml/{zang}/{idx}_{juan}.xml"  # T01n0002_001.xml
        results.append({'hl': hl, 'an': an, 'title': title0, 'author': ''})
    if request.method == "GET":
        # 0个结果页面不动, 多个结果自己选择
        if len(results) == 0:
            abort(304)
        if len(results) == 1:
            redirect(an)
        if len(results) > 1:
            pass
    return {'results': results}
Пример #3
0
def submenu2(bulei):
    menu = (sch_a)
    bulei = bulei.split('/')
    root = '/cebie'

    nav = [(root, '总目录')]
    for b in bulei:
        if b not in menu: abort(404)
        menu = menu[b]
        t = '/'.join((nav[-1][0], b))
        nav.append((t, b))
    nav.pop(0)

    # 跳转到正文
    if not menu:
        sutra = bulei[-1].split()[0]  # T01n0002
        zang = sutra.split('n')[0]  # T01
        # 查找第一卷(有些不是从第一卷开始的)
        juan = get_all_juan(sutra)  # 001
        if not juan: abort(404, f'没找到文件: /xml/{zang}/{sutra}_*.xml')
        url = f"/xml/{zang}/{sutra}_{juan[0]}.xml"  # T01n0002_001.xml
        redirect(url)
    return {
        'menus': menu,
        'request': request,
        'nav': nav,
        'yiju': '大正藏冊別',
        'root': root
    }
Пример #4
0
def submenu3(bulei):
    menu = sch_dzyz
    bulei = bulei.split('/')
    root = '/dzyz'

    nav = [(root, '总目录')]
    for b in bulei:
        if b not in menu: abort(404)
        menu = menu[b]
        t = '/'.join((nav[-1][0], b))
        nav.append((t, b))
    nav.pop(0)

    # 跳转到正文
    if not menu:
        sutra = bulei[-1].split()[0]  # T01n0002
        zang = sutra.split('n')[0]  # T01
        juan = get_all_juan(sutra)[0]  # 001
        url = f"/xml/{zang}/{sutra}_{juan}.xml"  # T01n0002_001.xml
        redirect(url)
    return {
        'menus': menu,
        'request': request,
        'nav': nav,
        'yiju': '大衆閲藏5.4版',
        'root': root
    }
Пример #5
0
def submenu4(bulei):
    menu = sch_fyjs
    bulei = bulei.split('/')
    root = '/fyjs'

    nav = [(root, '总目录')]
    for b in bulei:
        if b not in menu: abort(404)
        menu = menu[b]
        t = '/'.join((nav[-1][0], b))
        nav.append((t, b))
    nav.pop(0)

    # 跳转到正文
    if not menu:
        sutra = bulei[-1].split()[0]  # T01n0002
        zang = sutra.split('n')[0]              # T01

        if '_' in sutra:
            sutra, juan = sutra.split('_')
        else:
            # 查找第一卷(有些不是从第一卷开始的)
            juan = get_all_juan(sutra)              # 001
            if not juan:
                abort(404, f'没找到文件: /xml/{zang}/{sutra}_*.xml')
            juan = juan[0]

        if '#' in juan:
            juan, para = sutra.split('#')
            url = f"/xml/{zang}/{sutra}_{juan}.xml#{para}"  # T01n0002_001.xml
        else:
            url = f"/xml/{zang}/{sutra}_{juan}.xml"  # T01n0002_001.xml

        redirect(url)
    return {'menus': menu, 'request':request, 'nav':nav, 'yiju': '大德長老居士推薦目錄', 'root':root}