Exemplo n.º 1
0
def folders(category, page):

    info = folder_dict.get(category)

    if not info:
        ##路径不存在,拒绝访问
        return redirect('/')

    else:

        folders = info.get('folders')

        length = len(folders)

        begin, end, pages = Page.get_index(total=length, per=30, page=page)

        inner_folders = folders[begin:end]

        page_list = Page.get_list(page=page, pages=pages, echo=5)

        last_page = max(1, page - 1)
        next_page = min(pages, page + 1)

        category_echo = category_dict.get(category)


        return render_template('mm/folder.html',category=category,page_list=page_list,category_echo=category_echo,\
                                                    folders=inner_folders,current_page=page,last_page=last_page,next_page=next_page,pages=pages)
Exemplo n.º 2
0
def tag_tail(tag, page):

    paths = Tag.get_path_by_tag(tag)
    length = len(paths)

    begin, end, pages = Page.get_index(total=length, per=30, page=page)

    infos = paths[begin:end]
    lines = []
    for info in infos:

        l = info.split('/')
        book = l[-1].split('.')[0]
        category = l[-2]
        finish = l[-3]

        lines.append((finish, category, book))

    page_list = Page.get_list(page=page, echo=5, pages=pages)

    last_page = max(1, page - 1)
    next_page = min(pages, page + 1)

    return render_template('/tags/tag.html',
                           lines=lines,
                           page_list=page_list,
                           last_page=last_page,
                           next_page=next_page,
                           tag=tag,
                           current_page=page,
                           pages=pages)
Exemplo n.º 3
0
def result(page):
    # data=session.get('search')
    data = temp
    result = data[0]
    search_keyword = data[1]
    total = len(result)
    begin, end, pages = Page.get_index(page=page, total=total, per=20)
    page_result = result[begin:end]

    page_list = Page.get_list(pages=pages, page=page, echo=5)

    jinja_list = []
    for d in page_result:

        filepath = d.get('filepath')
        keyword = d.get('keyword')
        keyword_str = u','.join(keyword)
        l = filepath.split('/')
        book = l[-1].split('.')[0]
        category = l[-2]
        finish = l[-3]
        jinja_list.append([finish, category, book, keyword_str])

    next_page = min(pages, page + 1)
    last_page = max(1, page - 1)

    return render_template('search/result.html',current_page=page,total=total,keyword=search_keyword,page_list=page_list,pages=pages,last_page=last_page,\
                                                next_page=next_page,jinja_list=jinja_list,)
Exemplo n.º 4
0
def folder(folder, page):

    src_list = Voice.get_src(folder=folder)
    title = folder_dict.get(folder, folder)

    length = len(src_list)

    page_list = Page.get_list(pages=length, page=page, echo=5)

    page = max(1, page)
    page = min(length, page)

    last_page = max(1, page - 1)
    next_page = min(length, page + 1)

    src = src_list[page - 1]



    return render_template('music/folder.html',page=page,src_list=src_list,folder=folder,title=title,src=src,\
                                                page_list=page_list,last_page=last_page,next_page=next_page,current_page=page,pages=length)
Exemplo n.º 5
0
def book(path, category, page):

    filenames = BOOK.book_dict.get(path).get(category)

    length = len(filenames)

    begin, end, pages = Page.get_index(page=page, total=length, per=30)

    current_filenames = filenames[begin:end]

    page_list = Page.get_list(pages=pages, page=page, echo=5)

    next_page = min(pages, page + 1)
    last_page = max(1, page - 1)

    books = [filename.rsplit('.', 1)[0] for filename in current_filenames]



    return render_template('/books/book.html',category=category,last_page=last_page,books=books,pages=pages,\
                                            current_page=page,next_page=next_page,path=path,page_list=page_list)
Exemplo n.º 6
0
def item(category, folder, page):

    ##利用img base64 读取不在static下的文件

    folder_dict_value = folder_dict.get(category)
    if folder_dict_value:

        root = folder_dict_value.get('root')
        folders = folder_dict_value.get('folders')

        item_key = u'%s-%s' % (category, folder)
        filenames = item_dict.get(item_key)

        if filenames:

            category_dict = Path.get_category()

            category_echo = category_dict.get(category)

            item_length = len(filenames)
            folder_length = len(folders)

            folder_index = folders.index(folder)

            last_folder_index = max(1, folder_index - 1)
            next_folder_index = min(folder_length - 1, folder_index + 1)

            last_folder = folders[last_folder_index]
            next_folder = folders[next_folder_index]
            ##上一篇以及下一篇

            page = min(page, item_length)
            page = max(page, 1)
            ##page最小取值为1,最大取值为item_length
            filename = filenames[page - 1]
            extend = filename.rsplit('.', 1)[-1]
            img_path = u'%s/%s/%s' % (root, folder, filename)

            src = img_path.split(':', 1)[-1]
            # print img_path

            last_page = max(1, page - 1)
            next_page = min(item_length, page + 1)
            #上一页以及下一页

            headers = request.headers
            agent = headers['User-Agent']
            width = '70%'
            echo = 5
            if 'linux' in agent.lower():
                width = '100%'
                echo = 1

            item_page_list = Page.get_list(page=page,
                                           pages=item_length,
                                           echo=echo)



            return render_template('/mm/item.html',category=category,category_echo=category_echo,folder=folder,last_folder=last_folder,\
                                                        next_folder=next_folder,last_page=last_page,next_page=next_page,src=src,\
                                                        folder_length=folder_length,item_length=item_length,width=width,page=page,\
                                                        item_page_list=item_page_list,current_page=page)

    ##category不存在以及item_key不存在的情况下,均重定向到首页
    return redirect('/')
Exemplo n.º 7
0
def item(category, folder, page):

    ##利用img base64 读取不在static下的文件

    folder_dict_value = folder_dict.get(category)
    if folder_dict_value:

        root = folder_dict_value.get('root')
        folders = folder_dict_value.get('folders')

        item_key = u'%s-%s' % (category, folder)
        filenames = item_dict.get(item_key)

        if filenames:

            category_dict = Path.get_category()

            category_echo = category_dict.get(category)

            item_length = len(filenames)
            folder_length = len(folders)

            folder_index = folders.index(folder)

            last_folder_index = max(1, folder_index - 1)
            next_folder_index = min(folder_length - 1, folder_index + 1)

            last_folder = folders[last_folder_index]
            next_folder = folders[next_folder_index]
            ##上一篇以及下一篇

            page = min(page, item_length)
            page = max(page, 1)
            ##page最小取值为1,最大取值为item_length
            filename = filenames[page - 1]
            extend = filename.rsplit('.', 1)[-1]
            img_path = u'%s/%s/%s' % (root, folder, filename)

            src = img_b64_dict.get(img_path)

            if src:

                pass

            else:

                img_base64 = Encrypt.img_b64encode(path=img_path)
                src = u'data:image/%s;base64,%s' % (extend, img_base64)

                if len(img_b64_dict) > 500:
                    img_b64_dict.popitem(last=False)
                    ##先进先出

                img_b64_dict[img_path] = src
                ##将base64编码字符串放入dict中,便于下次访问(不能过大,否则占用过多内存)

            last_page = max(1, page - 1)
            next_page = min(item_length, page + 1)
            #上一页以及下一页

            headers = request.headers
            agent = headers['User-Agent']
            width = '70%'
            echo = 5
            if 'linux' in agent.lower():
                width = '100%'
                echo = 1

            item_page_list = Page.get_list(page=page,
                                           pages=item_length,
                                           echo=echo)



            return render_template('/image/item.html',category=category,category_echo=category_echo,folder=folder,last_folder=last_folder,\
                                                        next_folder=next_folder,last_page=last_page,next_page=next_page,src=src,\
                                                        folder_length=folder_length,item_length=item_length,width=width,page=page,\
                                                        item_page_list=item_page_list,current_page=page)

    ##category不存在以及item_key不存在的情况下,均重定向到首页
    return redirect('/')