Пример #1
0
def downloadBook(request):
    '''
    下载书籍
    :param request:
    :return:
    '''
    # 存放数据提交内容
    ctx = {}
    bookID = request.GET.get('id')
    dbC = dbc('bookwarehouse')
    path = ""

    def get():
        '''
        子线程用于下载小说
        '''
        nonlocal path
        path = dbC.getBook(bookID)
        ctx['path'] = path
        response = FileResponse(path)
        response['Content-Type'] = 'application/octet-stream'
        response[
            'Content-Disposition'] = 'attachment;filename="example.tar.gz"'

    book_thread = threading.Thread(target=get)

    book_thread.start()

    return render(request, 'SUCCESS.html', ctx)
Пример #2
0
    def __init__(self):
        self.downloader = aszwDownloader.Downloader()
        self.parser = aszwParser.Parser()

        # cookie库
        self.cookies = dbController.dbc('bookwarehouse').getCookies()
        # 代理库
        self.proxies = proxies.get_proxy('http://www.xicidaili.com/nn/',
                                         {'User-agent': 'Mr.Zhang'})
Пример #3
0
def testInsertBook():
    chapters=[{'chapter_name':'第一章','chapter_url':'https://www.23zw.me/olread/68/68913/c10f9c35044ae520694a837c12ecf81e.html'},
              {'chapter_name':'第二章','chapter_url':'https://www.23zw.me/olread/68/68913/6e872de41acaf237553a93d84b7d4edb.html'}]
    book={}
    book['name']="第一本书"
    book['category']='默认'
    book['auth']='张杰'
    book['create_date']=''
    book['wordage']=660000
    book['book_url']='http://www.23zw.me/olread/68/68913/'
    book['chapters']=chapters

    dbC= dbController.dbc('bookwarehouse')
    dbC.insetBook(book)
Пример #4
0
def searchBookAction(request):
    '''
    处理搜索书目的表单
    :param request:
    :return:
    '''
    # 存放数据提交内容
    ctx = {}

    # 若表单内容存在
    if request.POST:
        # 获取书名搜索内容
        ctx['book_name'] = request.POST.get('book_name', False)

        # 查询书名匹配列表
        dbC = dbc('bookwarehouse')
        books = dbC.searchBookKey(ctx['book_name'])
        ctx['books'] = books
        return render(request, 'dlBook.html', ctx)

    return render(request, 'dlBook.html')
Пример #5
0
def downloadBookNew(request):
    '''
    下载书籍
    :param request:
    :return:
    '''
    # 获取请求下载书籍的id
    bookID = request.GET.get('id')

    dbC = dbc('bookwarehouse')

    path, file_name = dbC.getBookContext(bookID)

    # response = StreamingHttpResponse(file_iterator(path))
    # response['Content-Type'] = 'application/octet-stream'
    # # 中文名需如此操作才可正常在客户端显示
    # response['Content-Disposition'] = "attachment; filename*=utf-8''{}".format(escape_uri_path(file_name))

    from django.http import HttpResponseRedirect
    dict = {}
    dict['file_path'] = '/static/book/' + file_name
    dict['file_name'] = file_name
    return render(request, 'SUCCESS.html', dict)
Пример #6
0
 def __init__(self):
     self.downloader = aszwDownloader.Downloader()
     self.parser = aszwParser.Parser()
     self.cookies = dbController.dbc('bookwarehouse').getCookies()
Пример #7
0
def testWordCount():
    dbC = dbController.dbc('bookwarehouse')
    dbC.wordCount()
Пример #8
0
def testInitDatabaseContext():
    dbC = dbController.dbc('bookwarehouse')
    dbC.initDatebaseContext()
Пример #9
0
def testGetBook():
    start=time.time()
    dbC = dbController.dbc('bookwarehouse')
    dbC.getBook(18)
    print('耗时:',time.time()-start)
Пример #10
0
def testGetCookies():
    dbC = dbController.dbc('bookwarehouse')
    for cookie in dbC.getCookies():
        print(cookie)
Пример #11
0
def testInitCookies():
    dbC = dbController.dbc('bookwarehouse')
    dbC.initCookies()
Пример #12
0
def testAddAccount():
    dbC=dbController.dbc('bookwarehouse')
    dbC.addAccount({'name':'sujie1997','password':'******','source':1})