Fix #163
This commit is contained in:
		
							parent
							
								
									ebb3acecca
								
							
						
					
					
						commit
						395c6679b7
					
				
							
								
								
									
										17
									
								
								cps/web.py
									
									
									
									
									
								
							
							
						
						
									
										17
									
								
								cps/web.py
									
									
									
									
									
								
							| 
						 | 
				
			
			@ -32,6 +32,7 @@ from flask_babel import gettext as _
 | 
			
		|||
import requests
 | 
			
		||||
import zipfile
 | 
			
		||||
from werkzeug.security import generate_password_hash, check_password_hash
 | 
			
		||||
from werkzeug.datastructures import Headers
 | 
			
		||||
from babel import Locale as LC
 | 
			
		||||
from babel import negotiate_locale
 | 
			
		||||
from babel import __version__ as babelVersion
 | 
			
		||||
| 
						 | 
				
			
			@ -52,12 +53,9 @@ import db
 | 
			
		|||
from shutil import move, copyfile
 | 
			
		||||
from tornado.ioloop import IOLoop
 | 
			
		||||
import shutil
 | 
			
		||||
import StringIO
 | 
			
		||||
import gdriveutils
 | 
			
		||||
import tempfile
 | 
			
		||||
import io
 | 
			
		||||
import hashlib
 | 
			
		||||
import threading
 | 
			
		||||
 | 
			
		||||
from tornado import version as tornadoVersion
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -81,7 +79,6 @@ try:
 | 
			
		|||
    use_generic_pdf_cover = False
 | 
			
		||||
except ImportError:
 | 
			
		||||
    use_generic_pdf_cover = True
 | 
			
		||||
from cgi import escape
 | 
			
		||||
 | 
			
		||||
# Global variables
 | 
			
		||||
gdrive_watch_callback_token='target=calibreweb-watch_files'
 | 
			
		||||
| 
						 | 
				
			
			@ -825,17 +822,17 @@ def get_opds_download_link(book_id, format):
 | 
			
		|||
    if len(book.authors) > 0:
 | 
			
		||||
        file_name = book.authors[0].name + '_' + file_name
 | 
			
		||||
    file_name = helper.get_valid_filename(file_name)
 | 
			
		||||
    headers={}
 | 
			
		||||
    headers = Headers ()
 | 
			
		||||
    headers["Content-Disposition"] = "attachment; filename*=UTF-8''%s.%s" % (quote(file_name.encode('utf8')), format)
 | 
			
		||||
    app.logger.info (time.time()-startTime)
 | 
			
		||||
    startTime=time.time()
 | 
			
		||||
    if config.config_use_google_drive:
 | 
			
		||||
        app.logger.info(time.time() - startTime)
 | 
			
		||||
        df=gdriveutils.getFileFromEbooksFolder(Gdrive.Instance().drive, book.path, data.name + "." + format)
 | 
			
		||||
        return do_gdrive_download(df, headers)
 | 
			
		||||
    else:
 | 
			
		||||
        # file_name = helper.get_valid_filename(file_name)
 | 
			
		||||
        response = make_response(send_from_directory(os.path.join(config.config_calibre_dir, book.path), data.name + "." + format))
 | 
			
		||||
    response.headers["Content-Disposition"] = "attachment; filename*=UTF-8''%s.%s" % (quote(file_name.encode('utf8')), format)
 | 
			
		||||
        response.headers=headers 
 | 
			
		||||
        return response
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
| 
						 | 
				
			
			@ -1388,7 +1385,7 @@ def shutdown():
 | 
			
		|||
def update():
 | 
			
		||||
    helper.updater_thread = helper.Updater()
 | 
			
		||||
    flash(_(u"Update done"), category="info")
 | 
			
		||||
    return ""
 | 
			
		||||
    return abort(404)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
@app.route("/search", methods=["GET"])
 | 
			
		||||
| 
						 | 
				
			
			@ -1639,7 +1636,7 @@ def get_download_link(book_id, format):
 | 
			
		|||
        if len(book.authors) > 0:
 | 
			
		||||
            file_name = book.authors[0].name + '_' + file_name
 | 
			
		||||
        file_name = helper.get_valid_filename(file_name)
 | 
			
		||||
        headers={}
 | 
			
		||||
        headers = Headers ()
 | 
			
		||||
        try:
 | 
			
		||||
            headers["Content-Type"] = mimetypes.types_map['.' + format]
 | 
			
		||||
        except:
 | 
			
		||||
| 
						 | 
				
			
			@ -1650,7 +1647,7 @@ def get_download_link(book_id, format):
 | 
			
		|||
            return do_gdrive_download(df, headers)
 | 
			
		||||
        else:
 | 
			
		||||
            response = make_response(send_from_directory(os.path.join(config.config_calibre_dir, book.path), data.name + "." + format))
 | 
			
		||||
        response.headers["Content-Disposition"] = "attachment; filename*=UTF-8''%s.%s" % (quote(file_name.encode('utf-8')), format)
 | 
			
		||||
            response.headers=headers
 | 
			
		||||
            return response
 | 
			
		||||
    else:
 | 
			
		||||
        abort(404)
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in New Issue
	
	Block a user