mirror of
				https://github.com/janeczku/calibre-web
				synced 2025-10-31 15:23:02 +00:00 
			
		
		
		
	Bugfixes from testrun
This commit is contained in:
		| @@ -151,7 +151,7 @@ def parse_epub_cover(ns, tree, epub_zip, cover_path, tmp_file_path): | |||||||
|  |  | ||||||
|     cover_file = None |     cover_file = None | ||||||
|     for cs in cover_section: |     for cs in cover_section: | ||||||
|         if cs.endswith('.xhtml') or s.endswith('.html'): |         if cs.endswith('.xhtml') or cs.endswith('.html'): | ||||||
|             markup = epub_zip.read(os.path.join(cover_path, cs)) |             markup = epub_zip.read(os.path.join(cover_path, cs)) | ||||||
|             markup_tree = etree.fromstring(markup) |             markup_tree = etree.fromstring(markup) | ||||||
|             # no matter xhtml or html with no namespace |             # no matter xhtml or html with no namespace | ||||||
|   | |||||||
							
								
								
									
										18
									
								
								cps/web.py
									
									
									
									
									
								
							
							
						
						
									
										18
									
								
								cps/web.py
									
									
									
									
									
								
							| @@ -1161,18 +1161,15 @@ def serve_book(book_id, book_format, anyname): | |||||||
|     data = calibre_db.get_book_format(book_id, book_format.upper()) |     data = calibre_db.get_book_format(book_id, book_format.upper()) | ||||||
|     if not data: |     if not data: | ||||||
|         return "File not in Database" |         return "File not in Database" | ||||||
|      |  | ||||||
|     range_header = request.headers.get('Range', None) |     range_header = request.headers.get('Range', None) | ||||||
|     if not range_header: |  | ||||||
|         log.info('Serving book: %s', data.name) |  | ||||||
|         response = make_response(send_from_directory(os.path.join(config.config_calibre_dir, book.path), data.name + "." + book_format)) |  | ||||||
|         response.headers['Accept-Ranges'] = 'bytes' |  | ||||||
|         return response |  | ||||||
|  |  | ||||||
|     if config.config_use_google_drive: |     if config.config_use_google_drive: | ||||||
|         try: |         try: | ||||||
|             headers = Headers() |             headers = Headers() | ||||||
|             headers["Content-Type"] = mimetypes.types_map.get('.' + book_format, "application/octet-stream") |             headers["Content-Type"] = mimetypes.types_map.get('.' + book_format, "application/octet-stream") | ||||||
|  |             if not range_header: | ||||||
|  |                 log.info('Serving book: %s', data.name) | ||||||
|  |                 headers['Accept-Ranges'] = 'bytes' | ||||||
|             df = getFileFromEbooksFolder(book.path, data.name + "." + book_format) |             df = getFileFromEbooksFolder(book.path, data.name + "." + book_format) | ||||||
|             return do_gdrive_download(df, headers, (book_format.upper() == 'TXT')) |             return do_gdrive_download(df, headers, (book_format.upper() == 'TXT')) | ||||||
|         except AttributeError as ex: |         except AttributeError as ex: | ||||||
| @@ -1180,6 +1177,7 @@ def serve_book(book_id, book_format, anyname): | |||||||
|             return "File Not Found" |             return "File Not Found" | ||||||
|     else: |     else: | ||||||
|         if book_format.upper() == 'TXT': |         if book_format.upper() == 'TXT': | ||||||
|  |             log.info('Serving book: %s', data.name) | ||||||
|             try: |             try: | ||||||
|                 rawdata = open(os.path.join(config.config_calibre_dir, book.path, data.name + "." + book_format), |                 rawdata = open(os.path.join(config.config_calibre_dir, book.path, data.name + "." + book_format), | ||||||
|                                "rb").read() |                                "rb").read() | ||||||
| @@ -1189,7 +1187,13 @@ def serve_book(book_id, book_format, anyname): | |||||||
|             except FileNotFoundError: |             except FileNotFoundError: | ||||||
|                 log.error("File Not Found") |                 log.error("File Not Found") | ||||||
|                 return "File Not Found" |                 return "File Not Found" | ||||||
|         return send_from_directory(os.path.join(config.config_calibre_dir, book.path), data.name + "." + book_format) |         # enable byte range read of pdf | ||||||
|  |         response = make_response( | ||||||
|  |             send_from_directory(os.path.join(config.config_calibre_dir, book.path), data.name + "." + book_format)) | ||||||
|  |         if not range_header: | ||||||
|  |             log.info('Serving book: %s', data.name) | ||||||
|  |             response.headers['Accept-Ranges'] = 'bytes' | ||||||
|  |         return response | ||||||
|  |  | ||||||
|  |  | ||||||
| @web.route("/download/<int:book_id>/<book_format>", defaults={'anyname': 'None'}) | @web.route("/download/<int:book_id>/<book_format>", defaults={'anyname': 'None'}) | ||||||
|   | |||||||
| @@ -37,20 +37,20 @@ | |||||||
|       <div class="row"> |       <div class="row"> | ||||||
|         <div class="col-xs-6 col-md-6 col-sm-offset-3" style="margin-top:50px;"> |         <div class="col-xs-6 col-md-6 col-sm-offset-3" style="margin-top:50px;"> | ||||||
|              |              | ||||||
|             <p class='text-justify attribute'><strong>Start Time: </strong>2023-02-19 19:38:02</p> |             <p class='text-justify attribute'><strong>Start Time: </strong>2023-02-21 20:53:24</p> | ||||||
|              |              | ||||||
|         </div> |         </div> | ||||||
|       </div> |       </div> | ||||||
|       <div class="row"> |       <div class="row"> | ||||||
|         <div class="col-xs-6 col-md-6 col-sm-offset-3"> |         <div class="col-xs-6 col-md-6 col-sm-offset-3"> | ||||||
|              |              | ||||||
|             <p class='text-justify attribute'><strong>Stop Time: </strong>2023-02-20 01:56:35</p> |             <p class='text-justify attribute'><strong>Stop Time: </strong>2023-02-22 03:08:32</p> | ||||||
|              |              | ||||||
|         </div> |         </div> | ||||||
|       </div> |       </div> | ||||||
|       <div class="row"> |       <div class="row"> | ||||||
|         <div class="col-xs-6 col-md-6 col-sm-offset-3"> |         <div class="col-xs-6 col-md-6 col-sm-offset-3"> | ||||||
|            <p class='text-justify attribute'><strong>Duration: </strong>5h 23 min</p> |            <p class='text-justify attribute'><strong>Duration: </strong>5h 18 min</p> | ||||||
|         </div> |         </div> | ||||||
|       </div> |       </div> | ||||||
|       </div> |       </div> | ||||||
| @@ -936,11 +936,11 @@ | |||||||
|      |      | ||||||
|  |  | ||||||
|  |  | ||||||
|     <tr id="su" class="skipClass"> |     <tr id="su" class="failClass"> | ||||||
|         <td>TestEditBooks</td> |         <td>TestEditBooks</td> | ||||||
|         <td class="text-center">36</td> |         <td class="text-center">36</td> | ||||||
|         <td class="text-center">35</td> |         <td class="text-center">34</td> | ||||||
|         <td class="text-center">0</td> |         <td class="text-center">1</td> | ||||||
|         <td class="text-center">0</td> |         <td class="text-center">0</td> | ||||||
|         <td class="text-center">1</td> |         <td class="text-center">1</td> | ||||||
|         <td class="text-center"> |         <td class="text-center"> | ||||||
| @@ -1228,11 +1228,34 @@ | |||||||
|      |      | ||||||
|      |      | ||||||
|      |      | ||||||
|         <tr id='pt11.30' class='hiddenRow bg-success'> |         <tr id="ft11.30" class="none bg-danger"> | ||||||
|             <td> |             <td> | ||||||
|                 <div class='testcase'>TestEditBooks - test_upload_book_epub</div> |                 <div class='testcase'>TestEditBooks - test_upload_book_epub</div> | ||||||
|             </td> |             </td> | ||||||
|             <td colspan='6' align='center'>PASS</td> |             <td colspan='6'> | ||||||
|  |                 <div class="text-center"> | ||||||
|  |                     <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft11.30')">FAIL</a> | ||||||
|  |                 </div> | ||||||
|  |                 <!--css div popup start--> | ||||||
|  |                 <div id="div_ft11.30" class="popup_window test_output" style="display:block;"> | ||||||
|  |                     <div class='close_button pull-right'> | ||||||
|  |                         <button type="button" class="close" aria-label="Close" onfocus="this.blur();" | ||||||
|  |                                 onclick="document.getElementById('div_ft11.30').style.display='none'"><span | ||||||
|  |                                 aria-hidden="true">×</span></button> | ||||||
|  |                     </div> | ||||||
|  |                     <div class="text-left pull-left"> | ||||||
|  |                         <pre class="text-left">Traceback (most recent call last): | ||||||
|  |   File "/home/ozzie/Development/calibre-web-test/test/test_edit_books.py", line 948, in test_upload_book_epub | ||||||
|  |     self.assertEqual('book9', details['title']) | ||||||
|  | AssertionError: 'book9' != 'book' | ||||||
|  | - book9 | ||||||
|  | ?     - | ||||||
|  | + book</pre> | ||||||
|  |                     </div> | ||||||
|  |                     <div class="clearfix"></div> | ||||||
|  |                 </div> | ||||||
|  |                 <!--css div popup end--> | ||||||
|  |             </td> | ||||||
|         </tr> |         </tr> | ||||||
|      |      | ||||||
|      |      | ||||||
| @@ -1607,12 +1630,12 @@ | |||||||
|      |      | ||||||
|  |  | ||||||
|  |  | ||||||
|     <tr id="su" class="failClass"> |     <tr id="su" class="errorClass"> | ||||||
|         <td>TestLoadMetadata</td> |         <td>TestLoadMetadata</td> | ||||||
|         <td class="text-center">1</td> |         <td class="text-center">1</td> | ||||||
|         <td class="text-center">0</td> |         <td class="text-center">0</td> | ||||||
|         <td class="text-center">1</td> |  | ||||||
|         <td class="text-center">0</td> |         <td class="text-center">0</td> | ||||||
|  |         <td class="text-center">1</td> | ||||||
|         <td class="text-center">0</td> |         <td class="text-center">0</td> | ||||||
|         <td class="text-center"> |         <td class="text-center"> | ||||||
|             <a onclick="showClassDetail('c15', 1)">Detail</a> |             <a onclick="showClassDetail('c15', 1)">Detail</a> | ||||||
| @@ -1621,26 +1644,26 @@ | |||||||
|  |  | ||||||
|      |      | ||||||
|      |      | ||||||
|         <tr id="ft15.1" class="none bg-danger"> |         <tr id="et15.1" class="none bg-info"> | ||||||
|             <td> |             <td> | ||||||
|                 <div class='testcase'>TestLoadMetadata - test_load_metadata</div> |                 <div class='testcase'>TestLoadMetadata - test_load_metadata</div> | ||||||
|             </td> |             </td> | ||||||
|             <td colspan='6'> |             <td colspan='6'> | ||||||
|                 <div class="text-center"> |                 <div class="text-center"> | ||||||
|                     <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft15.1')">FAIL</a> |                     <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et15.1')">ERROR</a> | ||||||
|                 </div> |                 </div> | ||||||
|                 <!--css div popup start--> |                 <!--css div popup start--> | ||||||
|                 <div id="div_ft15.1" class="popup_window test_output" style="display:block;"> |                 <div id="div_et15.1" class="popup_window test_output" style="display:block;"> | ||||||
|                     <div class='close_button pull-right'> |                     <div class='close_button pull-right'> | ||||||
|                         <button type="button" class="close" aria-label="Close" onfocus="this.blur();" |                         <button type="button" class="close" aria-label="Close" onfocus="this.blur();" | ||||||
|                                 onclick="document.getElementById('div_ft15.1').style.display='none'"><span |                                 onclick="document.getElementById('div_et15.1').style.display='none'"><span | ||||||
|                                 aria-hidden="true">×</span></button> |                                 aria-hidden="true">×</span></button> | ||||||
|                     </div> |                     </div> | ||||||
|                     <div class="text-left pull-left"> |                     <div class="text-left pull-left"> | ||||||
|                         <pre class="text-left">Traceback (most recent call last): |                         <pre class="text-left">Traceback (most recent call last): | ||||||
|   File "/home/ozzie/Development/calibre-web-test/test/test_edit_books_metadata.py", line 133, in test_load_metadata |   File "/home/ozzie/Development/calibre-web-test/test/test_edit_books_metadata.py", line 84, in test_load_metadata | ||||||
|     self.assertEqual(20, len(results)) |     elif 'https://amazon.com/' == results[20]['source']: | ||||||
| AssertionError: 20 != 10</pre> | IndexError: list index out of range</pre> | ||||||
|                     </div> |                     </div> | ||||||
|                     <div class="clearfix"></div> |                     <div class="clearfix"></div> | ||||||
|                 </div> |                 </div> | ||||||
| @@ -1817,9 +1840,9 @@ AssertionError: 20 != 10</pre> | |||||||
|                     </div> |                     </div> | ||||||
|                     <div class="text-left pull-left"> |                     <div class="text-left pull-left"> | ||||||
|                         <pre class="text-left">Traceback (most recent call last): |                         <pre class="text-left">Traceback (most recent call last): | ||||||
|   File "/home/ozzie/Development/calibre-web-test/test/test_edit_ebooks_gdrive.py", line 230, in test_edit_title |   File "/home/ozzie/Development/calibre-web-test/test/test_edit_ebooks_gdrive.py", line 185, in test_edit_title | ||||||
|     self.assertEqual(ele.text, u'Very long extra super turbo cool title without any issue of displaying including ö utf-8 characters') |     self.assertEqual('The camicdemo', books[1][8]['title']) | ||||||
| AttributeError: 'bool' object has no attribute 'text'</pre> | IndexError: list index out of range</pre> | ||||||
|                     </div> |                     </div> | ||||||
|                     <div class="clearfix"></div> |                     <div class="clearfix"></div> | ||||||
|                 </div> |                 </div> | ||||||
| @@ -2174,11 +2197,11 @@ AttributeError: 'bool' object has no attribute 'text'</pre> | |||||||
|      |      | ||||||
|  |  | ||||||
|  |  | ||||||
|     <tr id="su" class="passClass"> |     <tr id="su" class="failClass"> | ||||||
|         <td>TestKoboSync</td> |         <td>TestKoboSync</td> | ||||||
|         <td class="text-center">11</td> |         <td class="text-center">11</td> | ||||||
|         <td class="text-center">11</td> |         <td class="text-center">10</td> | ||||||
|         <td class="text-center">0</td> |         <td class="text-center">1</td> | ||||||
|         <td class="text-center">0</td> |         <td class="text-center">0</td> | ||||||
|         <td class="text-center">0</td> |         <td class="text-center">0</td> | ||||||
|         <td class="text-center"> |         <td class="text-center"> | ||||||
| @@ -2278,11 +2301,38 @@ AttributeError: 'bool' object has no attribute 'text'</pre> | |||||||
|      |      | ||||||
|      |      | ||||||
|      |      | ||||||
|         <tr id='pt25.11' class='hiddenRow bg-success'> |         <tr id="ft25.11" class="none bg-danger"> | ||||||
|             <td> |             <td> | ||||||
|                 <div class='testcase'>TestKoboSync - test_sync_upload</div> |                 <div class='testcase'>TestKoboSync - test_sync_upload</div> | ||||||
|             </td> |             </td> | ||||||
|             <td colspan='6' align='center'>PASS</td> |             <td colspan='6'> | ||||||
|  |                 <div class="text-center"> | ||||||
|  |                     <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft25.11')">FAIL</a> | ||||||
|  |                 </div> | ||||||
|  |                 <!--css div popup start--> | ||||||
|  |                 <div id="div_ft25.11" class="popup_window test_output" style="display:block;"> | ||||||
|  |                     <div class='close_button pull-right'> | ||||||
|  |                         <button type="button" class="close" aria-label="Close" onfocus="this.blur();" | ||||||
|  |                                 onclick="document.getElementById('div_ft25.11').style.display='none'"><span | ||||||
|  |                                 aria-hidden="true">×</span></button> | ||||||
|  |                     </div> | ||||||
|  |                     <div class="text-left pull-left"> | ||||||
|  |                         <pre class="text-left">Traceback (most recent call last): | ||||||
|  |   File "/home/ozzie/Development/calibre-web-test/test/test_kobo_sync.py", line 270, in test_sync_upload | ||||||
|  |     self.assertEqual(['Noname 23'], data[0]['NewEntitlement']['BookMetadata']['Contributors']) | ||||||
|  | AssertionError: Lists differ: ['Noname 23'] != ['Unknown'] | ||||||
|  |  | ||||||
|  | First differing element 0: | ||||||
|  | 'Noname 23' | ||||||
|  | 'Unknown' | ||||||
|  |  | ||||||
|  | - ['Noname 23'] | ||||||
|  | + ['Unknown']</pre> | ||||||
|  |                     </div> | ||||||
|  |                     <div class="clearfix"></div> | ||||||
|  |                 </div> | ||||||
|  |                 <!--css div popup end--> | ||||||
|  |             </td> | ||||||
|         </tr> |         </tr> | ||||||
|      |      | ||||||
|      |      | ||||||
| @@ -3220,11 +3270,11 @@ AttributeError: 'bool' object has no attribute 'text'</pre> | |||||||
|      |      | ||||||
|  |  | ||||||
|  |  | ||||||
|     <tr id="su" class="passClass"> |     <tr id="su" class="failClass"> | ||||||
|         <td>TestReader</td> |         <td>TestReader</td> | ||||||
|         <td class="text-center">5</td> |         <td class="text-center">5</td> | ||||||
|         <td class="text-center">5</td> |         <td class="text-center">3</td> | ||||||
|         <td class="text-center">0</td> |         <td class="text-center">2</td> | ||||||
|         <td class="text-center">0</td> |         <td class="text-center">0</td> | ||||||
|         <td class="text-center">0</td> |         <td class="text-center">0</td> | ||||||
|         <td class="text-center"> |         <td class="text-center"> | ||||||
| @@ -3234,11 +3284,31 @@ AttributeError: 'bool' object has no attribute 'text'</pre> | |||||||
|  |  | ||||||
|      |      | ||||||
|      |      | ||||||
|         <tr id='pt36.1' class='hiddenRow bg-success'> |         <tr id="ft36.1" class="none bg-danger"> | ||||||
|             <td> |             <td> | ||||||
|                 <div class='testcase'>TestReader - test_comic_reader</div> |                 <div class='testcase'>TestReader - test_comic_reader</div> | ||||||
|             </td> |             </td> | ||||||
|             <td colspan='6' align='center'>PASS</td> |             <td colspan='6'> | ||||||
|  |                 <div class="text-center"> | ||||||
|  |                     <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft36.1')">FAIL</a> | ||||||
|  |                 </div> | ||||||
|  |                 <!--css div popup start--> | ||||||
|  |                 <div id="div_ft36.1" class="popup_window test_output" style="display:block;"> | ||||||
|  |                     <div class='close_button pull-right'> | ||||||
|  |                         <button type="button" class="close" aria-label="Close" onfocus="this.blur();" | ||||||
|  |                                 onclick="document.getElementById('div_ft36.1').style.display='none'"><span | ||||||
|  |                                 aria-hidden="true">×</span></button> | ||||||
|  |                     </div> | ||||||
|  |                     <div class="text-left pull-left"> | ||||||
|  |                         <pre class="text-left">Traceback (most recent call last): | ||||||
|  |   File "/home/ozzie/Development/calibre-web-test/test/test_reader.py", line 182, in test_comic_reader | ||||||
|  |     self.assertTrue(content) | ||||||
|  | AssertionError: False is not true</pre> | ||||||
|  |                     </div> | ||||||
|  |                     <div class="clearfix"></div> | ||||||
|  |                 </div> | ||||||
|  |                 <!--css div popup end--> | ||||||
|  |             </td> | ||||||
|         </tr> |         </tr> | ||||||
|      |      | ||||||
|      |      | ||||||
| @@ -3270,11 +3340,31 @@ AttributeError: 'bool' object has no attribute 'text'</pre> | |||||||
|      |      | ||||||
|      |      | ||||||
|      |      | ||||||
|         <tr id='pt36.5' class='hiddenRow bg-success'> |         <tr id="ft36.5" class="none bg-danger"> | ||||||
|             <td> |             <td> | ||||||
|                 <div class='testcase'>TestReader - test_txt_reader</div> |                 <div class='testcase'>TestReader - test_txt_reader</div> | ||||||
|             </td> |             </td> | ||||||
|             <td colspan='6' align='center'>PASS</td> |             <td colspan='6'> | ||||||
|  |                 <div class="text-center"> | ||||||
|  |                     <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft36.5')">FAIL</a> | ||||||
|  |                 </div> | ||||||
|  |                 <!--css div popup start--> | ||||||
|  |                 <div id="div_ft36.5" class="popup_window test_output" style="display:block;"> | ||||||
|  |                     <div class='close_button pull-right'> | ||||||
|  |                         <button type="button" class="close" aria-label="Close" onfocus="this.blur();" | ||||||
|  |                                 onclick="document.getElementById('div_ft36.5').style.display='none'"><span | ||||||
|  |                                 aria-hidden="true">×</span></button> | ||||||
|  |                     </div> | ||||||
|  |                     <div class="text-left pull-left"> | ||||||
|  |                         <pre class="text-left">Traceback (most recent call last): | ||||||
|  |   File "/home/ozzie/Development/calibre-web-test/test/test_reader.py", line 67, in test_txt_reader | ||||||
|  |     self.assertTrue('hörte' in content.text, 'Encoding of textfile viewer is not respected properly') | ||||||
|  | AssertionError: False is not true : Encoding of textfile viewer is not respected properly</pre> | ||||||
|  |                     </div> | ||||||
|  |                     <div class="clearfix"></div> | ||||||
|  |                 </div> | ||||||
|  |                 <!--css div popup end--> | ||||||
|  |             </td> | ||||||
|         </tr> |         </tr> | ||||||
|      |      | ||||||
|      |      | ||||||
| @@ -3636,8 +3726,8 @@ AttributeError: 'bool' object has no attribute 'text'</pre> | |||||||
|     <tr id="su" class="failClass"> |     <tr id="su" class="failClass"> | ||||||
|         <td>TestThumbnails</td> |         <td>TestThumbnails</td> | ||||||
|         <td class="text-center">8</td> |         <td class="text-center">8</td> | ||||||
|         <td class="text-center">5</td> |         <td class="text-center">3</td> | ||||||
|         <td class="text-center">2</td> |         <td class="text-center">4</td> | ||||||
|         <td class="text-center">0</td> |         <td class="text-center">0</td> | ||||||
|         <td class="text-center">1</td> |         <td class="text-center">1</td> | ||||||
|         <td class="text-center"> |         <td class="text-center"> | ||||||
| @@ -3656,11 +3746,31 @@ AttributeError: 'bool' object has no attribute 'text'</pre> | |||||||
|      |      | ||||||
|      |      | ||||||
|      |      | ||||||
|         <tr id='pt42.2' class='hiddenRow bg-success'> |         <tr id="ft42.2" class="none bg-danger"> | ||||||
|             <td> |             <td> | ||||||
|                 <div class='testcase'>TestThumbnails - test_cache_of_deleted_book</div> |                 <div class='testcase'>TestThumbnails - test_cache_of_deleted_book</div> | ||||||
|             </td> |             </td> | ||||||
|             <td colspan='6' align='center'>PASS</td> |             <td colspan='6'> | ||||||
|  |                 <div class="text-center"> | ||||||
|  |                     <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft42.2')">FAIL</a> | ||||||
|  |                 </div> | ||||||
|  |                 <!--css div popup start--> | ||||||
|  |                 <div id="div_ft42.2" class="popup_window test_output" style="display:block;"> | ||||||
|  |                     <div class='close_button pull-right'> | ||||||
|  |                         <button type="button" class="close" aria-label="Close" onfocus="this.blur();" | ||||||
|  |                                 onclick="document.getElementById('div_ft42.2').style.display='none'"><span | ||||||
|  |                                 aria-hidden="true">×</span></button> | ||||||
|  |                     </div> | ||||||
|  |                     <div class="text-left pull-left"> | ||||||
|  |                         <pre class="text-left">Traceback (most recent call last): | ||||||
|  |   File "/home/ozzie/Development/calibre-web-test/test/test_thumbnails.py", line 187, in test_cache_of_deleted_book | ||||||
|  |     self.assertEqual(book_thumbnail_reference, 2) | ||||||
|  | AssertionError: 0 != 2</pre> | ||||||
|  |                     </div> | ||||||
|  |                     <div class="clearfix"></div> | ||||||
|  |                 </div> | ||||||
|  |                 <!--css div popup end--> | ||||||
|  |             </td> | ||||||
|         </tr> |         </tr> | ||||||
|      |      | ||||||
|      |      | ||||||
| @@ -3693,7 +3803,7 @@ AttributeError: 'bool' object has no attribute 'text'</pre> | |||||||
|                         <pre class="text-left">Traceback (most recent call last): |                         <pre class="text-left">Traceback (most recent call last): | ||||||
|   File "/home/ozzie/Development/calibre-web-test/test/test_thumbnails.py", line 135, in test_cover_change_on_upload_new_cover |   File "/home/ozzie/Development/calibre-web-test/test/test_thumbnails.py", line 135, in test_cover_change_on_upload_new_cover | ||||||
|     self.assertGreaterEqual(diff(BytesIO(updated_cover), BytesIO(original_cover), delete_diff_file=True), 0.03) |     self.assertGreaterEqual(diff(BytesIO(updated_cover), BytesIO(original_cover), delete_diff_file=True), 0.03) | ||||||
| AssertionError: 0.029520666495068845 not greater than or equal to 0.03</pre> | AssertionError: 0.02977373520222651 not greater than or equal to 0.03</pre> | ||||||
|                     </div> |                     </div> | ||||||
|                     <div class="clearfix"></div> |                     <div class="clearfix"></div> | ||||||
|                 </div> |                 </div> | ||||||
| @@ -3712,11 +3822,31 @@ AssertionError: 0.029520666495068845 not greater than or equal to 0.03</pre> | |||||||
|      |      | ||||||
|      |      | ||||||
|      |      | ||||||
|         <tr id='pt42.6' class='hiddenRow bg-success'> |         <tr id="ft42.6" class="none bg-danger"> | ||||||
|             <td> |             <td> | ||||||
|                 <div class='testcase'>TestThumbnails - test_cover_on_upload_book</div> |                 <div class='testcase'>TestThumbnails - test_cover_on_upload_book</div> | ||||||
|             </td> |             </td> | ||||||
|             <td colspan='6' align='center'>PASS</td> |             <td colspan='6'> | ||||||
|  |                 <div class="text-center"> | ||||||
|  |                     <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft42.6')">FAIL</a> | ||||||
|  |                 </div> | ||||||
|  |                 <!--css div popup start--> | ||||||
|  |                 <div id="div_ft42.6" class="popup_window test_output" style="display:block;"> | ||||||
|  |                     <div class='close_button pull-right'> | ||||||
|  |                         <button type="button" class="close" aria-label="Close" onfocus="this.blur();" | ||||||
|  |                                 onclick="document.getElementById('div_ft42.6').style.display='none'"><span | ||||||
|  |                                 aria-hidden="true">×</span></button> | ||||||
|  |                     </div> | ||||||
|  |                     <div class="text-left pull-left"> | ||||||
|  |                         <pre class="text-left">Traceback (most recent call last): | ||||||
|  |   File "/home/ozzie/Development/calibre-web-test/test/test_thumbnails.py", line 247, in test_cover_on_upload_book | ||||||
|  |     self.assertEqual(book_thumbnail_reference+2, count_files(thumbnail_cache_path)) | ||||||
|  | AssertionError: 222 != 220</pre> | ||||||
|  |                     </div> | ||||||
|  |                     <div class="clearfix"></div> | ||||||
|  |                 </div> | ||||||
|  |                 <!--css div popup end--> | ||||||
|  |             </td> | ||||||
|         </tr> |         </tr> | ||||||
|      |      | ||||||
|      |      | ||||||
| @@ -3747,9 +3877,9 @@ AssertionError: 0.029520666495068845 not greater than or equal to 0.03</pre> | |||||||
|                     </div> |                     </div> | ||||||
|                     <div class="text-left pull-left"> |                     <div class="text-left pull-left"> | ||||||
|                         <pre class="text-left">Traceback (most recent call last): |                         <pre class="text-left">Traceback (most recent call last): | ||||||
|   File "/home/ozzie/Development/calibre-web-test/test/test_thumbnails.py", line 310, in test_sideloaded_book |   File "/home/ozzie/Development/calibre-web-test/test/test_thumbnails.py", line 320, in test_sideloaded_book | ||||||
|     self.assertAlmostEqual(diff(BytesIO(list_cover), BytesIO(old_list_cover), delete_diff_file=True), 0.0, |     self.assertGreaterEqual(diff(BytesIO(list_cover), BytesIO(new_list_cover), delete_diff_file=True), 0.04) | ||||||
| AssertionError: 0.006835200746965453 != 0.0 within 0.0001 delta (0.006835200746965453 difference)</pre> | AssertionError: 0.0 not greater than or equal to 0.04</pre> | ||||||
|                     </div> |                     </div> | ||||||
|                     <div class="clearfix"></div> |                     <div class="clearfix"></div> | ||||||
|                 </div> |                 </div> | ||||||
| @@ -3873,11 +4003,11 @@ AssertionError: 0.006835200746965453 != 0.0 within 0.0001 delta (0.0068352007469 | |||||||
|      |      | ||||||
|  |  | ||||||
|  |  | ||||||
|     <tr id="su" class="passClass"> |     <tr id="su" class="failClass"> | ||||||
|         <td>TestUploadEPubs</td> |         <td>TestUploadEPubs</td> | ||||||
|         <td class="text-center">5</td> |         <td class="text-center">5</td> | ||||||
|         <td class="text-center">5</td> |         <td class="text-center">3</td> | ||||||
|         <td class="text-center">0</td> |         <td class="text-center">2</td> | ||||||
|         <td class="text-center">0</td> |         <td class="text-center">0</td> | ||||||
|         <td class="text-center">0</td> |         <td class="text-center">0</td> | ||||||
|         <td class="text-center"> |         <td class="text-center"> | ||||||
| @@ -3887,20 +4017,60 @@ AssertionError: 0.006835200746965453 != 0.0 within 0.0001 delta (0.0068352007469 | |||||||
|  |  | ||||||
|      |      | ||||||
|      |      | ||||||
|         <tr id='pt44.1' class='hiddenRow bg-success'> |         <tr id="ft44.1" class="none bg-danger"> | ||||||
|             <td> |             <td> | ||||||
|                 <div class='testcase'>TestUploadEPubs - test_upload_epub_cover</div> |                 <div class='testcase'>TestUploadEPubs - test_upload_epub_cover</div> | ||||||
|             </td> |             </td> | ||||||
|             <td colspan='6' align='center'>PASS</td> |             <td colspan='6'> | ||||||
|  |                 <div class="text-center"> | ||||||
|  |                     <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft44.1')">FAIL</a> | ||||||
|  |                 </div> | ||||||
|  |                 <!--css div popup start--> | ||||||
|  |                 <div id="div_ft44.1" class="popup_window test_output" style="display:block;"> | ||||||
|  |                     <div class='close_button pull-right'> | ||||||
|  |                         <button type="button" class="close" aria-label="Close" onfocus="this.blur();" | ||||||
|  |                                 onclick="document.getElementById('div_ft44.1').style.display='none'"><span | ||||||
|  |                                 aria-hidden="true">×</span></button> | ||||||
|  |                     </div> | ||||||
|  |                     <div class="text-left pull-left"> | ||||||
|  |                         <pre class="text-left">Traceback (most recent call last): | ||||||
|  |   File "/home/ozzie/Development/calibre-web-test/test/test_upload_epubs.py", line 136, in test_upload_epub_cover | ||||||
|  |     self.assertAlmostEqual(diff(BytesIO(original), BytesIO(cover_image), delete_diff_file=True), 0.0, delta=0.0001) | ||||||
|  | AssertionError: 0.04598719156221104 != 0.0 within 0.0001 delta (0.04598719156221104 difference)</pre> | ||||||
|  |                     </div> | ||||||
|  |                     <div class="clearfix"></div> | ||||||
|  |                 </div> | ||||||
|  |                 <!--css div popup end--> | ||||||
|  |             </td> | ||||||
|         </tr> |         </tr> | ||||||
|      |      | ||||||
|      |      | ||||||
|      |      | ||||||
|         <tr id='pt44.2' class='hiddenRow bg-success'> |         <tr id="ft44.2" class="none bg-danger"> | ||||||
|             <td> |             <td> | ||||||
|                 <div class='testcase'>TestUploadEPubs - test_upload_epub_cover_formats</div> |                 <div class='testcase'>TestUploadEPubs - test_upload_epub_cover_formats</div> | ||||||
|             </td> |             </td> | ||||||
|             <td colspan='6' align='center'>PASS</td> |             <td colspan='6'> | ||||||
|  |                 <div class="text-center"> | ||||||
|  |                     <a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_ft44.2')">FAIL</a> | ||||||
|  |                 </div> | ||||||
|  |                 <!--css div popup start--> | ||||||
|  |                 <div id="div_ft44.2" class="popup_window test_output" style="display:block;"> | ||||||
|  |                     <div class='close_button pull-right'> | ||||||
|  |                         <button type="button" class="close" aria-label="Close" onfocus="this.blur();" | ||||||
|  |                                 onclick="document.getElementById('div_ft44.2').style.display='none'"><span | ||||||
|  |                                 aria-hidden="true">×</span></button> | ||||||
|  |                     </div> | ||||||
|  |                     <div class="text-left pull-left"> | ||||||
|  |                         <pre class="text-left">Traceback (most recent call last): | ||||||
|  |   File "/home/ozzie/Development/calibre-web-test/test/test_upload_epubs.py", line 205, in test_upload_epub_cover_formats | ||||||
|  |     self.assertAlmostEqual(diff(BytesIO(original), BytesIO(cover_image), delete_diff_file=True), 0.0058, | ||||||
|  | AssertionError: 0.051106144230518215 != 0.0058 within 0.0001 delta (0.045306144230518215 difference)</pre> | ||||||
|  |                     </div> | ||||||
|  |                     <div class="clearfix"></div> | ||||||
|  |                 </div> | ||||||
|  |                 <!--css div popup end--> | ||||||
|  |             </td> | ||||||
|         </tr> |         </tr> | ||||||
|      |      | ||||||
|      |      | ||||||
| @@ -4829,9 +4999,9 @@ AssertionError: 0.006835200746965453 != 0.0 within 0.0001 delta (0.0068352007469 | |||||||
|     <tr id='total_row' class="text-center bg-grey"> |     <tr id='total_row' class="text-center bg-grey"> | ||||||
|         <td>Total</td> |         <td>Total</td> | ||||||
|         <td>425</td> |         <td>425</td> | ||||||
|         <td>414</td> |         <td>406</td> | ||||||
|         <td>3</td> |         <td>10</td> | ||||||
|         <td>1</td> |         <td>2</td> | ||||||
|         <td>7</td> |         <td>7</td> | ||||||
|         <td> </td> |         <td> </td> | ||||||
|     </tr> |     </tr> | ||||||
| @@ -5010,7 +5180,7 @@ AssertionError: 0.006835200746965453 != 0.0 within 0.0001 delta (0.0068352007469 | |||||||
|            |            | ||||||
|             <tr> |             <tr> | ||||||
|               <th>google-api-python-client</th> |               <th>google-api-python-client</th> | ||||||
|               <td>2.78.0</td> |               <td>2.79.0</td> | ||||||
|               <td>TestCliGdrivedb</td> |               <td>TestCliGdrivedb</td> | ||||||
|             </tr> |             </tr> | ||||||
|            |            | ||||||
| @@ -5028,7 +5198,7 @@ AssertionError: 0.006835200746965453 != 0.0 within 0.0001 delta (0.0068352007469 | |||||||
|            |            | ||||||
|             <tr> |             <tr> | ||||||
|               <th>PyDrive2</th> |               <th>PyDrive2</th> | ||||||
|               <td>1.15.0</td> |               <td>1.15.1</td> | ||||||
|               <td>TestCliGdrivedb</td> |               <td>TestCliGdrivedb</td> | ||||||
|             </tr> |             </tr> | ||||||
|            |            | ||||||
| @@ -5040,7 +5210,7 @@ AssertionError: 0.006835200746965453 != 0.0 within 0.0001 delta (0.0068352007469 | |||||||
|            |            | ||||||
|             <tr> |             <tr> | ||||||
|               <th>google-api-python-client</th> |               <th>google-api-python-client</th> | ||||||
|               <td>2.78.0</td> |               <td>2.79.0</td> | ||||||
|               <td>TestEbookConvertCalibreGDrive</td> |               <td>TestEbookConvertCalibreGDrive</td> | ||||||
|             </tr> |             </tr> | ||||||
|            |            | ||||||
| @@ -5058,7 +5228,7 @@ AssertionError: 0.006835200746965453 != 0.0 within 0.0001 delta (0.0068352007469 | |||||||
|            |            | ||||||
|             <tr> |             <tr> | ||||||
|               <th>PyDrive2</th> |               <th>PyDrive2</th> | ||||||
|               <td>1.15.0</td> |               <td>1.15.1</td> | ||||||
|               <td>TestEbookConvertCalibreGDrive</td> |               <td>TestEbookConvertCalibreGDrive</td> | ||||||
|             </tr> |             </tr> | ||||||
|            |            | ||||||
| @@ -5070,7 +5240,7 @@ AssertionError: 0.006835200746965453 != 0.0 within 0.0001 delta (0.0068352007469 | |||||||
|            |            | ||||||
|             <tr> |             <tr> | ||||||
|               <th>google-api-python-client</th> |               <th>google-api-python-client</th> | ||||||
|               <td>2.78.0</td> |               <td>2.79.0</td> | ||||||
|               <td>TestEbookConvertGDriveKepubify</td> |               <td>TestEbookConvertGDriveKepubify</td> | ||||||
|             </tr> |             </tr> | ||||||
|            |            | ||||||
| @@ -5088,7 +5258,7 @@ AssertionError: 0.006835200746965453 != 0.0 within 0.0001 delta (0.0068352007469 | |||||||
|            |            | ||||||
|             <tr> |             <tr> | ||||||
|               <th>PyDrive2</th> |               <th>PyDrive2</th> | ||||||
|               <td>1.15.0</td> |               <td>1.15.1</td> | ||||||
|               <td>TestEbookConvertGDriveKepubify</td> |               <td>TestEbookConvertGDriveKepubify</td> | ||||||
|             </tr> |             </tr> | ||||||
|            |            | ||||||
| @@ -5112,7 +5282,7 @@ AssertionError: 0.006835200746965453 != 0.0 within 0.0001 delta (0.0068352007469 | |||||||
|            |            | ||||||
|             <tr> |             <tr> | ||||||
|               <th>google-api-python-client</th> |               <th>google-api-python-client</th> | ||||||
|               <td>2.78.0</td> |               <td>2.79.0</td> | ||||||
|               <td>TestEditAuthorsGdrive</td> |               <td>TestEditAuthorsGdrive</td> | ||||||
|             </tr> |             </tr> | ||||||
|            |            | ||||||
| @@ -5130,7 +5300,7 @@ AssertionError: 0.006835200746965453 != 0.0 within 0.0001 delta (0.0068352007469 | |||||||
|            |            | ||||||
|             <tr> |             <tr> | ||||||
|               <th>PyDrive2</th> |               <th>PyDrive2</th> | ||||||
|               <td>1.15.0</td> |               <td>1.15.1</td> | ||||||
|               <td>TestEditAuthorsGdrive</td> |               <td>TestEditAuthorsGdrive</td> | ||||||
|             </tr> |             </tr> | ||||||
|            |            | ||||||
| @@ -5148,7 +5318,7 @@ AssertionError: 0.006835200746965453 != 0.0 within 0.0001 delta (0.0068352007469 | |||||||
|            |            | ||||||
|             <tr> |             <tr> | ||||||
|               <th>google-api-python-client</th> |               <th>google-api-python-client</th> | ||||||
|               <td>2.78.0</td> |               <td>2.79.0</td> | ||||||
|               <td>TestEditBooksOnGdrive</td> |               <td>TestEditBooksOnGdrive</td> | ||||||
|             </tr> |             </tr> | ||||||
|            |            | ||||||
| @@ -5166,7 +5336,7 @@ AssertionError: 0.006835200746965453 != 0.0 within 0.0001 delta (0.0068352007469 | |||||||
|            |            | ||||||
|             <tr> |             <tr> | ||||||
|               <th>PyDrive2</th> |               <th>PyDrive2</th> | ||||||
|               <td>1.15.0</td> |               <td>1.15.1</td> | ||||||
|               <td>TestEditBooksOnGdrive</td> |               <td>TestEditBooksOnGdrive</td> | ||||||
|             </tr> |             </tr> | ||||||
|            |            | ||||||
| @@ -5190,7 +5360,7 @@ AssertionError: 0.006835200746965453 != 0.0 within 0.0001 delta (0.0068352007469 | |||||||
|            |            | ||||||
|             <tr> |             <tr> | ||||||
|               <th>google-api-python-client</th> |               <th>google-api-python-client</th> | ||||||
|               <td>2.78.0</td> |               <td>2.79.0</td> | ||||||
|               <td>TestSetupGdrive</td> |               <td>TestSetupGdrive</td> | ||||||
|             </tr> |             </tr> | ||||||
|            |            | ||||||
| @@ -5208,7 +5378,7 @@ AssertionError: 0.006835200746965453 != 0.0 within 0.0001 delta (0.0068352007469 | |||||||
|            |            | ||||||
|             <tr> |             <tr> | ||||||
|               <th>PyDrive2</th> |               <th>PyDrive2</th> | ||||||
|               <td>1.15.0</td> |               <td>1.15.1</td> | ||||||
|               <td>TestSetupGdrive</td> |               <td>TestSetupGdrive</td> | ||||||
|             </tr> |             </tr> | ||||||
|            |            | ||||||
| @@ -5280,7 +5450,7 @@ AssertionError: 0.006835200746965453 != 0.0 within 0.0001 delta (0.0068352007469 | |||||||
| </div> | </div> | ||||||
|  |  | ||||||
| <script> | <script> | ||||||
|     drawCircle(414, 3, 1, 7); |     drawCircle(406, 10, 2, 7); | ||||||
|     showCase(5); |     showCase(5); | ||||||
| </script> | </script> | ||||||
|  |  | ||||||
|   | |||||||
		Reference in New Issue
	
	Block a user
	 Ozzie Isaacs
					Ozzie Isaacs