mirror of
				https://github.com/janeczku/calibre-web
				synced 2025-11-04 09:13:02 +00:00 
			
		
		
		
	Added swipe support for comic reader and txt reader (#925)
Bugfix for txt file not present on serving file
This commit is contained in:
		@@ -635,6 +635,14 @@ function init(filename) {
 | 
			
		||||
    // Focus the scrollable area so that keyboard scrolling work as expected
 | 
			
		||||
    $("#mainContent").focus();
 | 
			
		||||
 | 
			
		||||
    $("#mainContent").swipe( {
 | 
			
		||||
        swipeRight:function() {
 | 
			
		||||
            showLeftPage();
 | 
			
		||||
        },
 | 
			
		||||
        swipeLeft:function() {
 | 
			
		||||
            showRightPage();
 | 
			
		||||
        },
 | 
			
		||||
    });
 | 
			
		||||
    $("#mainImage").click(function(evt) {
 | 
			
		||||
        // Firefox does not support offsetX/Y so we have to manually calculate
 | 
			
		||||
        // where the user clicked in the image.
 | 
			
		||||
 
 | 
			
		||||
@@ -13,14 +13,10 @@
 | 
			
		||||
  <link rel="stylesheet" href="{{ url_for('static', filename='css/kthoom.css') }}" type="text/css"/>
 | 
			
		||||
 | 
			
		||||
  <script src="{{ url_for('static', filename='js/libs/jquery.min.js') }}"></script>
 | 
			
		||||
  <script src="{{ url_for('static', filename='js/libs/plugins.js') }}"></script>
 | 
			
		||||
  <script src="{{ url_for('static', filename='js/libs/screenfull.min.js') }}"></script>
 | 
			
		||||
  <script src="{{ url_for('static', filename='js/io/bytestream.js') }}"></script>
 | 
			
		||||
  <script src="{{ url_for('static', filename='js/io/bytebuffer.js') }}"></script>
 | 
			
		||||
  <script src="{{ url_for('static', filename='js/io/bitstream.js') }}"></script>
 | 
			
		||||
  <script src="{{ url_for('static', filename='js/archive/archive.js') }}"></script>
 | 
			
		||||
  <script src="{{ url_for('static', filename='js/archive/rarvm.js') }}"></script>
 | 
			
		||||
  <script src="{{ url_for('static', filename='js/archive/unrar5.js') }}"></script>
 | 
			
		||||
  <script src="{{ url_for('static', filename='js/kthoom.js') }}"></script>
 | 
			
		||||
  <script src="{{ url_for('static', filename='js/archive/archive.js') }}"></script>
 | 
			
		||||
  <script>
 | 
			
		||||
    var updateArrows = function() {
 | 
			
		||||
      if ($('input[name="direction"]:checked').val() === "0") {
 | 
			
		||||
 
 | 
			
		||||
@@ -12,6 +12,7 @@
 | 
			
		||||
        <!-- EPUBJS Renderer -->
 | 
			
		||||
        <!--<script src="../build/epub.js"></script>-->
 | 
			
		||||
        <script src="{{ url_for('static', filename='js/libs/jquery.min.js') }}"></script>
 | 
			
		||||
        <script src="{{ url_for('static', filename='js/libs/plugins.js') }}"></script>
 | 
			
		||||
 | 
			
		||||
        <style type="text/css">
 | 
			
		||||
 | 
			
		||||
@@ -97,6 +98,14 @@
 | 
			
		||||
          $( "#right" ).click(function() {
 | 
			
		||||
            nextPage();
 | 
			
		||||
          });
 | 
			
		||||
          $("#readmain").swipe( {
 | 
			
		||||
            swipeRight:function() {
 | 
			
		||||
                prevPage();
 | 
			
		||||
            },
 | 
			
		||||
            swipeLeft:function() {
 | 
			
		||||
                nextPage();
 | 
			
		||||
            },
 | 
			
		||||
          });
 | 
			
		||||
          //bind mouse
 | 
			
		||||
          $(window).bind('DOMMouseScroll mousewheel', function(event) {
 | 
			
		||||
            var delta = 0;
 | 
			
		||||
 
 | 
			
		||||
@@ -1198,7 +1198,7 @@ def serve_book(book_id, book_format, anyname):
 | 
			
		||||
    book = calibre_db.get_book(book_id)
 | 
			
		||||
    data = calibre_db.get_book_format(book_id, book_format.upper())
 | 
			
		||||
    if not data:
 | 
			
		||||
        abort(404)
 | 
			
		||||
        return "File not in Database"
 | 
			
		||||
    log.info('Serving book: %s', data.name)
 | 
			
		||||
    if config.config_use_google_drive:
 | 
			
		||||
        headers = Headers()
 | 
			
		||||
@@ -1207,11 +1207,14 @@ def serve_book(book_id, book_format, anyname):
 | 
			
		||||
        return do_gdrive_download(df, headers, (book_format.upper() == 'TXT'))
 | 
			
		||||
    else:
 | 
			
		||||
        if book_format.upper() == 'TXT':
 | 
			
		||||
            try:
 | 
			
		||||
                rawdata = open(os.path.join(config.config_calibre_dir, book.path, data.name + "." + book_format),
 | 
			
		||||
                               "rb").read()
 | 
			
		||||
                result = chardet.detect(rawdata)
 | 
			
		||||
                return make_response(
 | 
			
		||||
                    rawdata.decode(result['encoding']).encode('utf-8'))
 | 
			
		||||
            except FileNotFoundError:
 | 
			
		||||
                return "File Not Found"
 | 
			
		||||
        return send_from_directory(os.path.join(config.config_calibre_dir, book.path), data.name + "." + book_format)
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user