Commit 6a8ae9c0 authored by blitzmann's avatar blitzmann

Merge remote-tracking branch 'upstream/master' into tasks

# Conflicts:
#	cps/helper.py
parents ac22483f 843279ba
......@@ -132,6 +132,7 @@ def admin():
allUser = ub.session.query(ub.User).all()
email_settings = config.get_mail_settings()
return render_title_template("admin.html", allUser=allUser, email=email_settings, config=config, commit=commit,
feature_support=feature_support,
title=_(u"Admin page"), page="admin")
......@@ -637,6 +638,7 @@ def _configuration_update_helper():
_config_checkbox_int(to_save, "config_public_reg")
_config_checkbox_int(to_save, "config_register_email")
reboot_required |= _config_checkbox_int(to_save, "config_kobo_sync")
_config_int(to_save, "config_external_port")
_config_checkbox_int(to_save, "config_kobo_proxy")
_config_string(to_save, "config_upload_formats")
......
......@@ -57,6 +57,7 @@ class _Settings(_Base):
config_calibre_dir = Column(String)
config_port = Column(Integer, default=constants.DEFAULT_PORT)
config_external_port = Column(Integer, default=constants.DEFAULT_PORT)
config_certfile = Column(String)
config_keyfile = Column(String)
......
......@@ -377,7 +377,8 @@ def edit_book_publisher(to_save, book):
if to_save["publisher"]:
publisher = to_save["publisher"].rstrip().strip()
if len(book.publishers) == 0 or (len(book.publishers) > 0 and publisher != book.publishers[0].name):
changed |= modify_database_object([publisher], book.publishers, db.Publishers, calibre_db.session, 'publisher')
changed |= modify_database_object([publisher], book.publishers, db.Publishers, calibre_db.session,
'publisher')
elif len(book.publishers):
changed |= modify_database_object([], book.publishers, db.Publishers, calibre_db.session, 'publisher')
return changed
......
......@@ -22,6 +22,7 @@ import zipfile
from lxml import etree
from . import isoLanguages
from .helper import split_authors
from .constants import BookMeta
......@@ -64,7 +65,7 @@ def get_epub_info(tmp_file_path, original_file_name, original_file_extension):
tmp = p.xpath('dc:%s/text()' % s, namespaces=ns)
if len(tmp) > 0:
if s == 'creator':
epub_metadata[s] = ' & '.join(p.xpath('dc:%s/text()' % s, namespaces=ns))
epub_metadata[s] = ' & '.join(split_authors(p.xpath('dc:%s/text()' % s, namespaces=ns)))
elif s == 'subject':
epub_metadata[s] = ', '.join(p.xpath('dc:%s/text()' % s, namespaces=ns))
else:
......
......@@ -21,7 +21,6 @@ from __future__ import division, print_function, unicode_literals
import sys
import os
import io
import json
import mimetypes
import re
import shutil
......@@ -36,7 +35,7 @@ from babel.units import format_unit
from flask import send_from_directory, make_response, redirect, abort
from flask_babel import gettext as _
from flask_login import current_user
from sqlalchemy.sql.expression import true, false, and_, or_, text, func
from sqlalchemy.sql.expression import true, false, and_, text, func
from werkzeug.datastructures import Headers
from werkzeug.security import generate_password_hash
from . import calibre_db
......@@ -60,10 +59,9 @@ try:
except ImportError:
use_PIL = False
from . import logger, config, get_locale, db, ub, isoLanguages
from . import logger, config, get_locale, db, ub
from . import gdriveutils as gd
from .constants import STATIC_DIR as _STATIC_DIR
from .pagination import Pagination
from .subproc_wrapper import process_wait
from .services.worker import WorkerThread, STAT_WAITING, STAT_FAIL, STAT_STARTED, STAT_FINISH_SUCCESS
from .tasks.email import TaskEmail
......@@ -240,22 +238,22 @@ def get_valid_filename(value, replace_whitespace=True):
value = value[:-1]+u'_'
value = value.replace("/", "_").replace(":", "_").strip('\0')
if use_unidecode:
value = (unidecode.unidecode(value)).strip()
value = (unidecode.unidecode(value))
else:
value = value.replace(u'§', u'SS')
value = value.replace(u'ß', u'ss')
value = unicodedata.normalize('NFKD', value)
re_slugify = re.compile(r'[\W\s-]', re.UNICODE)
if isinstance(value, str): # Python3 str, Python2 unicode
value = re_slugify.sub('', value).strip()
value = re_slugify.sub('', value)
else:
value = unicode(re_slugify.sub('', value).strip())
value = unicode(re_slugify.sub('', value))
if replace_whitespace:
# *+:\"/<>? are replaced by _
value = re.sub(r'[\*\+:\\\"/<>\?]+', u'_', value, flags=re.U)
value = re.sub(r'[*+:\\\"/<>?]+', u'_', value, flags=re.U)
# pipe has to be replaced with comma
value = re.sub(r'[\|]+', u',', value, flags=re.U)
value = value[:128]
value = re.sub(r'[|]+', u',', value, flags=re.U)
value = value[:128].strip()
if not value:
raise ValueError("Filename cannot be empty")
if sys.version_info.major == 3:
......@@ -264,6 +262,22 @@ def get_valid_filename(value, replace_whitespace=True):
return value.decode('utf-8')
def split_authors(values):
authors_list = []
for value in values:
authors = re.split('[&;]', value)
for author in authors:
commas = author.count(',')
if commas == 1:
author_split = author.split(',')
authors_list.append(author_split[1].strip() + ' ' + author_split[0].strip())
elif commas > 1:
authors_list.extend([x.strip() for x in author.split(',')])
else:
authors_list.append(author.strip())
return authors_list
def get_sorted_author(value):
try:
if ',' not in value:
......@@ -271,7 +285,10 @@ def get_sorted_author(value):
combined = "(" + ")|(".join(regexes) + ")"
value = value.split(" ")
if re.match(combined, value[-1].upper()):
if len(value) > 1:
value2 = value[-2] + ", " + " ".join(value[:-2]) + " " + value[-1]
else:
value2 = value[0]
elif len(value) == 1:
value2 = value[0]
else:
......@@ -280,6 +297,9 @@ def get_sorted_author(value):
value2 = value
except Exception as ex:
log.error("Sorting author %s failed: %s", value, ex)
if isinstance(list, value2):
value2 = value[0]
else:
value2 = value
return value2
......@@ -367,6 +387,7 @@ def update_dir_structure_file(book_id, calibrepath, first_author):
src=path, dest=new_author_path, error=str(ex))
# Rename all files from old names to new names
if authordir != new_authordir or titledir != new_titledir:
new_name = ""
try:
new_name = get_valid_filename(localbook.title) + ' - ' + get_valid_filename(new_authordir)
path_name = os.path.join(calibrepath, new_authordir, os.path.basename(path))
......@@ -475,14 +496,14 @@ def generate_random_password():
return "".join(s[c % len(s)] for c in os.urandom(passlen))
def uniq(input):
def uniq(inpt):
output = []
for x in input:
for x in inpt:
if x not in output:
output.append(x)
return output
################################## External interface
# ################################# External interface #################################
def update_dir_stucture(book_id, calibrepath, first_author=None):
......@@ -559,7 +580,6 @@ def save_cover_from_url(url, book_path):
return False, _("Cover Format Error")
def save_cover_from_filestorage(filepath, saved_filename, img):
if hasattr(img, '_content'):
f = open(os.path.join(filepath, saved_filename), "wb")
......@@ -618,7 +638,6 @@ def save_cover(img, book_path):
return save_cover_from_filestorage(os.path.join(config.config_calibre_dir, book_path), "cover.jpg", img)
def do_download_file(book, book_format, client, data, headers):
if config.config_use_google_drive:
startTime = time.time()
......@@ -771,6 +790,7 @@ def get_cc_columns(filter_config_custom_read=False):
return cc
def get_download_link(book_id, book_format, client):
book_format = book_format.split(".")[0]
book = calibre_db.get_filtered_book(book_id)
......
......@@ -129,7 +129,7 @@ def HandleSyncRequest():
sync_token = SyncToken.SyncToken.from_headers(request.headers)
log.info("Kobo library sync request received.")
if not current_app.wsgi_app.is_proxied:
log.debug('Kobo: Received unproxied request, changed request port to server port')
log.debug('Kobo: Received unproxied request, changed request port to external server port')
# TODO: Limit the number of books return per sync call, and rely on the sync-continuatation header
# instead so that the device triggers another sync.
......@@ -252,7 +252,7 @@ def generate_sync_response(sync_token, sync_results):
@download_required
def HandleMetadataRequest(book_uuid):
if not current_app.wsgi_app.is_proxied:
log.debug('Kobo: Received unproxied request, changed request port to server port')
log.debug('Kobo: Received unproxied request, changed request port to external server port')
log.info("Kobo library metadata request received for book %s" % book_uuid)
book = calibre_db.get_book_by_uuid(book_uuid)
if not book or not book.data:
......@@ -269,10 +269,11 @@ def get_download_url_for_book(book, book_format):
host = "".join(request.host.split(':')[:-1])
else:
host = request.host
return "{url_scheme}://{url_base}:{url_port}/download/{book_id}/{book_format}".format(
url_scheme=request.scheme,
url_base=host,
url_port=config.config_port,
url_port=config.config_external_port,
book_id=book.id,
book_format=book_format.lower()
)
......@@ -924,7 +925,7 @@ def HandleInitRequest():
kobo_resources = NATIVE_KOBO_RESOURCES()
if not current_app.wsgi_app.is_proxied:
log.debug('Kobo: Received unproxied request, changed request port to server port')
log.debug('Kobo: Received unproxied request, changed request port to external server port')
if ':' in request.host and not request.host.endswith(']'):
host = "".join(request.host.split(':')[:-1])
else:
......@@ -932,8 +933,9 @@ def HandleInitRequest():
calibre_web_url = "{url_scheme}://{url_base}:{url_port}".format(
url_scheme=request.scheme,
url_base=host,
url_port=config.config_port
url_port=config.config_external_port
)
log.debug('Kobo: Received unproxied request, changed request url to %s', calibre_web_url)
kobo_resources["image_host"] = calibre_web_url
kobo_resources["image_url_quality_template"] = unquote(calibre_web_url +
url_for("kobo.HandleCoverImageRequest",
......@@ -942,16 +944,14 @@ def HandleInitRequest():
width="{width}",
height="{height}",
Quality='{Quality}',
isGreyscale='isGreyscale'
))
isGreyscale='isGreyscale'))
kobo_resources["image_url_template"] = unquote(calibre_web_url +
url_for("kobo.HandleCoverImageRequest",
auth_token=kobo_auth.get_auth_token(),
book_uuid="{ImageId}",
width="{width}",
height="{height}",
isGreyscale='false'
))
isGreyscale='false'))
else:
kobo_resources["image_host"] = url_for("web.index", _external=True).strip("/")
kobo_resources["image_url_quality_template"] = unquote(url_for("kobo.HandleCoverImageRequest",
......@@ -970,7 +970,6 @@ def HandleInitRequest():
isGreyscale='false',
_external=True))
response = make_response(jsonify({"Resources": kobo_resources}))
response.headers["x-kobo-apitoken"] = "e30="
......
......@@ -88,6 +88,12 @@
<div class="col-xs-6 col-sm-6">{{_('Port')}}</div>
<div class="col-xs-6 col-sm-6">{{config.config_port}}</div>
</div>
{% if feature_support['kobo'] and config.config_port != config.config_external_port %}
<div class="row">
<div class="col-xs-6 col-sm-6">{{_('External Port')}}</div>
<div class="col-xs-6 col-sm-6">{{config.config_external_port}}</div>
</div>
{% endif %}
</div>
<div class="col-xs-12 col-sm-6">
<div class="row">
......
......@@ -194,10 +194,14 @@
<label for="config_kobo_sync">{{_('Enable Kobo sync')}}</label>
</div>
<div data-related="kobo-settings">
<div class="form-group" style="text-indent:10px;">
<div class="form-group" style="margin-left:10px;">
<input type="checkbox" id="config_kobo_proxy" name="config_kobo_proxy" {% if config.config_kobo_proxy %}checked{% endif %}>
<label for="config_kobo_proxy">{{_('Proxy unknown requests to Kobo Store')}}</label>
</div>
<div class="form-group" style="margin-left:10px;">
<label for="config_external_port">{{_('Server External Port (for port forwarded API calls)')}}</label>
<input type="number" min="1" max="65535" class="form-control" name="config_external_port" id="config_external_port" value="{% if config.config_external_port != None %}{{ config.config_external_port }}{% endif %}" autocomplete="off" required>
</div>
</div>
{% endif %}
{% if feature_support['goodreads'] %}
......
......@@ -17,7 +17,7 @@
{{entry['series_index']}} - {{entry['series'][0].name}}
{% endif %}
<br>
{% for author in entry['authors'] %}
{% for author in entry['author'] %}
{{author.name.replace('|',',')}}
{% if not loop.last %}
&amp;
......
......@@ -24,6 +24,7 @@ from flask_babel import gettext as _
from . import logger, comic
from .constants import BookMeta
from .helper import split_authors
log = logger.create()
......@@ -131,7 +132,7 @@ def pdf_meta(tmp_file_path, original_file_name, original_file_extension):
file_path=tmp_file_path,
extension=original_file_extension,
title=title,
author=author,
author=' & '.join(split_authors([author])),
cover=pdf_preview(tmp_file_path, original_file_name),
description=subject,
tags="",
......
......@@ -1361,7 +1361,7 @@ def register():
return render_title_template('register.html', title=_(u"register"), page="register")
else:
flash(_(u"Your e-mail is not allowed to register"), category="error")
log.info('Registering failed for user "%s" e-mail adress: %s', to_save['nickname'], to_save["email"])
log.warning('Registering failed for user "%s" e-mail address: %s', to_save['nickname'], to_save["email"])
return render_title_template('register.html', title=_(u"register"), page="register")
flash(_(u"Confirmation e-mail was send to your e-mail account."), category="success")
return redirect(url_for('web.login'))
......@@ -1409,7 +1409,7 @@ def login():
flash(_(u"Could not login: %(message)s", message=error), category="error")
else:
ipAdress = request.headers.get('X-Forwarded-For', request.remote_addr)
log.info('LDAP Login failed for user "%s" IP-adress: %s', form['username'], ipAdress)
log.warning('LDAP Login failed for user "%s" IP-address: %s', form['username'], ipAdress)
flash(_(u"Wrong Username or Password"), category="error")
else:
ipAdress = request.headers.get('X-Forwarded-For', request.remote_addr)
......@@ -1418,13 +1418,13 @@ def login():
ret, __ = reset_password(user.id)
if ret == 1:
flash(_(u"New Password was send to your email address"), category="info")
log.info('Password reset for user "%s" IP-adress: %s', form['username'], ipAdress)
log.info('Password reset for user "%s" IP-address: %s', form['username'], ipAdress)
else:
log.info(u"An unknown error occurred. Please try again later")
log.error(u"An unknown error occurred. Please try again later")
flash(_(u"An unknown error occurred. Please try again later."), category="error")
else:
flash(_(u"Please enter valid username to reset password"), category="error")
log.info('Username missing for password reset IP-adress: %s', ipAdress)
log.warning('Username missing for password reset IP-address: %s', ipAdress)
else:
if user and check_password_hash(str(user.password), form['password']) and user.nickname != "Guest":
login_user(user, remember=bool(form.get('remember_me')))
......@@ -1433,7 +1433,7 @@ def login():
config.config_is_initial = False
return redirect_back(url_for("web.index"))
else:
log.info('Login failed for user "%s" IP-adress: %s', form['username'], ipAdress)
log.warning('Login failed for user "%s" IP-address: %s', form['username'], ipAdress)
flash(_(u"Wrong Username or Password"), category="error")
next_url = request.args.get('next', default=url_for("web.index"), type=str)
......
......@@ -36,17 +36,17 @@
<div class="col-xs-12 col-sm-6">
<div class="row">
<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>2020-08-14 19:46:42</p>
<p class='text-justify attribute'><strong>Start Time: </strong>2020-08-23 18:29:00</p>
</div>
</div>
<div class="row">
<div class="col-xs-6 col-md-6 col-sm-offset-3">
<p class='text-justify attribute'><strong>Stop Time: </strong>2020-08-14 21:02:08</p>
<p class='text-justify attribute'><strong>Stop Time: </strong>2020-08-23 19:44:09</p>
</div>
</div>
<div class="row">
<div class="col-xs-6 col-md-6 col-sm-offset-3">
<p class='text-justify attribute'><strong>Duration: </strong>1h 243 min</p>
<p class='text-justify attribute'><strong>Duration: </strong>1h 212 min</p>
</div>
</div>
</div>
......@@ -955,6 +955,58 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr class="result['header']['style']">
<td>test_edit_books_gdrive.test_edit_books_gdrive</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">
<a onclick="showClassDetail('c8', 1)">Detail</a>
</td>
</tr>
<tr id='et8.1' class='none bg-info'>
<td>
<div class='testcase'>test_config_gdrive</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et8.1')">ERROR</a>
</div>
<!--css div popup start-->
<div id='div_et8.1' class="popup_window test_output" style="display:none;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus='this.blur();'
onclick="document.getElementById('div_et8.1').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">Traceback (most recent call last):
File "/home/matthias/Entwicklung/calibre-web-test/test/test_edit_books_gdrive.py", line 139, in test_config_gdrive
auth_button.click()
File "/home/matthias/Entwicklung/calibre-web-test/venv/lib/python3.8/site-packages/selenium/webdriver/remote/webelement.py", line 80, in click
self._execute(Command.CLICK_ELEMENT)
File "/home/matthias/Entwicklung/calibre-web-test/venv/lib/python3.8/site-packages/selenium/webdriver/remote/webelement.py", line 633, in _execute
return self._parent.execute(command, params)
File "/home/matthias/Entwicklung/calibre-web-test/venv/lib/python3.8/site-packages/selenium/webdriver/remote/webdriver.py", line 321, in execute
self.error_handler.check_response(response)
File "/home/matthias/Entwicklung/calibre-web-test/venv/lib/python3.8/site-packages/selenium/webdriver/remote/errorhandler.py", line 242, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: Reached error page: about:neterror?e=connectionFailure&u=http%3A//127.0.0.1%3A8083/gdrive/authenticate&c=UTF-8&d=Firefox%20kann%20keine%20Verbindung%20zu%20dem%20Server%20unter%20127.0.0.1%3A8083%20aufbauen.</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
</tr>
<tr class="result['header']['style']">
<td>test_email_STARTTLS.test_STARTTLS</td>
<td class="text-center">3</td>
......@@ -963,13 +1015,13 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c8', 3)">Detail</a>
<a onclick="showClassDetail('c9', 3)">Detail</a>
</td>
</tr>
<tr id='pt8.1' class='hiddenRow bg-success'>
<tr id='pt9.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_STARTTLS</div>
</td>
......@@ -978,7 +1030,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt8.2' class='hiddenRow bg-success'>
<tr id='pt9.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_STARTTLS_SSL_setup_error</div>
</td>
......@@ -987,7 +1039,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt8.3' class='hiddenRow bg-success'>
<tr id='pt9.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_STARTTLS_resend_password</div>
</td>
......@@ -1005,13 +1057,13 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c9', 4)">Detail</a>
<a onclick="showClassDetail('c10', 4)">Detail</a>
</td>
</tr>
<tr id='pt9.1' class='hiddenRow bg-success'>
<tr id='pt10.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_SSL_None_setup_error</div>
</td>
......@@ -1020,7 +1072,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt9.2' class='hiddenRow bg-success'>
<tr id='pt10.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_SSL_STARTTLS_setup_error</div>
</td>
......@@ -1029,7 +1081,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt9.3' class='hiddenRow bg-success'>
<tr id='pt10.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_SSL_logging_email</div>
</td>
......@@ -1038,7 +1090,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt9.4' class='hiddenRow bg-success'>
<tr id='pt10.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_SSL_only</div>
</td>
......@@ -1056,13 +1108,13 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c10', 3)">Detail</a>
<a onclick="showClassDetail('c11', 3)">Detail</a>
</td>
</tr>
<tr id='pt10.1' class='hiddenRow bg-success'>
<tr id='pt11.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_author_page</div>
</td>
......@@ -1071,7 +1123,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt10.2' class='hiddenRow bg-success'>
<tr id='pt11.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_author_page_invalid</div>
</td>
......@@ -1080,7 +1132,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt10.3' class='hiddenRow bg-success'>
<tr id='pt11.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_goodreads_about</div>
</td>
......@@ -1092,19 +1144,19 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr class="result['header']['style']">
<td>test_helper.CalibreHelper</td>
<td class="text-center">15</td>
<td class="text-center">15</td>
<td class="text-center">16</td>
<td class="text-center">16</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c11', 15)">Detail</a>
<a onclick="showClassDetail('c12', 16)">Detail</a>
</td>
</tr>
<tr id='pt11.1' class='hiddenRow bg-success'>
<tr id='pt12.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_author_sort</div>
</td>
......@@ -1113,7 +1165,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt11.2' class='hiddenRow bg-success'>
<tr id='pt12.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_author_sort_comma</div>
</td>
......@@ -1122,7 +1174,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt11.3' class='hiddenRow bg-success'>
<tr id='pt12.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_author_sort_junior</div>
</td>
......@@ -1131,7 +1183,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt11.4' class='hiddenRow bg-success'>
<tr id='pt12.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_author_sort_oneword</div>
</td>
......@@ -1140,7 +1192,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt11.5' class='hiddenRow bg-success'>
<tr id='pt12.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_author_sort_roman</div>
</td>
......@@ -1149,7 +1201,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt11.6' class='hiddenRow bg-success'>
<tr id='pt12.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_check_Limit_Length</div>
</td>
......@@ -1158,7 +1210,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt11.7' class='hiddenRow bg-success'>
<tr id='pt12.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_check_char_replacement</div>
</td>
......@@ -1167,7 +1219,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt11.8' class='hiddenRow bg-success'>
<tr id='pt12.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_check_chinese_Characters</div>
</td>
......@@ -1176,7 +1228,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt11.9' class='hiddenRow bg-success'>
<tr id='pt12.9' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_check_deg_eur_replacement</div>
</td>
......@@ -1185,7 +1237,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt11.10' class='hiddenRow bg-success'>
<tr id='pt12.10' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_check_doubleS</div>
</td>
......@@ -1194,7 +1246,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt11.11' class='hiddenRow bg-success'>
<tr id='pt12.11' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_check_finish_Dot</div>
</td>
......@@ -1203,7 +1255,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt11.12' class='hiddenRow bg-success'>
<tr id='pt12.12' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_check_high23</div>
</td>
......@@ -1212,7 +1264,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt11.13' class='hiddenRow bg-success'>
<tr id='pt12.13' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_check_umlauts</div>
</td>
......@@ -1221,7 +1273,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt11.14' class='hiddenRow bg-success'>
<tr id='pt12.14' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_random_password</div>
</td>
......@@ -1230,98 +1282,87 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt11.15' class='hiddenRow bg-success'>
<tr id='pt12.15' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_whitespaces</div>
<div class='testcase'>test_split_authors</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr class="result['header']['style']">
<td>test_kobo_sync.TestKoboSync</td>
<td class="text-center">8</td>
<td class="text-center">8</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c12', 8)">Detail</a>
</td>
</tr>
<tr id='pt12.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_kobo_about</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt12.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_shelves_add_remove_books</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt12.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_sync_changed_book</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt12.4' class='hiddenRow bg-success'>
<tr id='pt12.16' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_sync_invalid</div>
<div class='testcase'>test_whitespaces</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt12.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_sync_reading_state</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt12.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_sync_shelf</div>
<tr class="result['header']['style']">
<td>unittest.loader._FailedTest</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">
<a onclick="showClassDetail('c13', 1)">Detail</a>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt12.7' class='hiddenRow bg-success'>
<tr id='et13.1' class='none bg-info'>
<td>
<div class='testcase'>test_sync_unchanged</div>
<div class='testcase'>unittestloader_FailedTest)</div>
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
<tr id='pt12.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_sync_upload</div>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_et13.1')">ERROR</a>
</div>
<!--css div popup start-->
<div id='div_et13.1' class="popup_window test_output" style="display:none;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus='this.blur();'
onclick="document.getElementById('div_et13.1').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
<pre class="text-left">ImportError: Failed to import test module: test_kobo_sync
Traceback (most recent call last):
File "/usr/lib/python3.8/unittest/loader.py", line 436, in _find_test_path
module = self._get_module_from_name(name)
File "/usr/lib/python3.8/unittest/loader.py", line 377, in _get_module_from_name
__import__(name)
File "/home/matthias/Entwicklung/calibre-web-test/test/test_kobo_sync.py", line 228
session.close()'''
def test_sync_unchanged(self):
self.inital_sync()
# append synctoken to headers and start over again
newSession = requests.session()
r = newSession.get(self.kobo_adress+'/v1/initialization', headers=TestKoboSync.header)
self.assertEqual(r.status_code, 200)
params = {'Filter': 'All', 'DownloadUrlFilter': 'Generic,Android', 'PrioritizeRecentReads':'true'}
r = newSession.get(self.kobo_adress+'/v1/library/sync', params=params, headers=TestKoboSync.syncToken)
self.assertEqual(r.status_code, 200)
self.assertEqual(r.json(), [])
newSession.close()
TestKoboSync.syncToken = {'x-kobo-synctoken': r.headers['x-kobo-synctoken']}
'''def test_sync_upload(self):
^
SyntaxError: invalid syntax</pre>
</div>
<div class="clearfix"></div>
</div>
<!--css div popup end-->
</td>
<td colspan='6' align='center'>PASS</td>
</tr>
......@@ -1335,13 +1376,13 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c13', 10)">Detail</a>
<a onclick="showClassDetail('c14', 10)">Detail</a>
</td>
</tr>
<tr id='pt13.1' class='hiddenRow bg-success'>
<tr id='pt14.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_LDAP_SSL</div>
</td>
......@@ -1350,7 +1391,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt13.2' class='hiddenRow bg-success'>
<tr id='pt14.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_LDAP_STARTTLS</div>
</td>
......@@ -1359,7 +1400,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt13.3' class='hiddenRow bg-success'>
<tr id='pt14.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_LDAP_fallback_Login</div>
</td>
......@@ -1368,7 +1409,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt13.4' class='hiddenRow bg-success'>
<tr id='pt14.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_LDAP_import</div>
</td>
......@@ -1377,7 +1418,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt13.5' class='hiddenRow bg-success'>
<tr id='pt14.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_LDAP_login</div>
</td>
......@@ -1386,7 +1427,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt13.6' class='hiddenRow bg-success'>
<tr id='pt14.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_invalid_LDAP</div>
</td>
......@@ -1395,7 +1436,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt13.7' class='hiddenRow bg-success'>
<tr id='pt14.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_ldap_about</div>
</td>
......@@ -1404,7 +1445,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt13.8' class='hiddenRow bg-success'>
<tr id='pt14.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_ldap_authentication</div>
</td>
......@@ -1413,7 +1454,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt13.9' class='hiddenRow bg-success'>
<tr id='pt14.9' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_ldap_kobo_sync</div>
</td>
......@@ -1422,7 +1463,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt13.10' class='hiddenRow bg-success'>
<tr id='pt14.10' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_ldap_opds_download_book</div>
</td>
......@@ -1440,13 +1481,13 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<td class="text-center">0</td>
<td class="text-center">1</td>
<td class="text-center">
<a onclick="showClassDetail('c14', 7)">Detail</a>
<a onclick="showClassDetail('c15', 7)">Detail</a>
</td>
</tr>
<tr id='pt14.1' class='hiddenRow bg-success'>
<tr id='pt15.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_access_log_recover</div>
</td>
......@@ -1455,7 +1496,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt14.2' class='hiddenRow bg-success'>
<tr id='pt15.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_debug_log</div>
</td>
......@@ -1464,7 +1505,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt14.3' class='hiddenRow bg-success'>
<tr id='pt15.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_failed_login</div>
</td>
......@@ -1473,19 +1514,19 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='st14.4' class='none bg-warning'>
<tr id='st15.4' class='none bg-warning'>
<td>
<div class='testcase'>test_failed_register</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_st14.4')">SKIP</a>
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_st15.4')">SKIP</a>
</div>
<!--css div popup start-->
<div id='div_st14.4' class="popup_window test_output" style="display:none;">
<div id='div_st15.4' class="popup_window test_output" style="display:none;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus='this.blur();'
onclick="document.getElementById('div_st14.4').style.display='none'"><span
onclick="document.getElementById('div_st15.4').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
......@@ -1499,7 +1540,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt14.5' class='hiddenRow bg-success'>
<tr id='pt15.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_logfile_change</div>
</td>
......@@ -1508,7 +1549,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt14.6' class='hiddenRow bg-success'>
<tr id='pt15.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_logfile_recover</div>
</td>
......@@ -1517,7 +1558,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt14.7' class='hiddenRow bg-success'>
<tr id='pt15.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_logviewer</div>
</td>
......@@ -1535,13 +1576,13 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c15', 11)">Detail</a>
<a onclick="showClassDetail('c16', 11)">Detail</a>
</td>
</tr>
<tr id='pt15.1' class='hiddenRow bg-success'>
<tr id='pt16.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_digest_login</div>
</td>
......@@ -1550,7 +1591,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt15.2' class='hiddenRow bg-success'>
<tr id='pt16.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_login_capital_letters_user_unicode_password</div>
</td>
......@@ -1559,7 +1600,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt15.3' class='hiddenRow bg-success'>
<tr id='pt16.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_login_delete_admin</div>
</td>
......@@ -1568,7 +1609,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt15.4' class='hiddenRow bg-success'>
<tr id='pt16.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_login_empty_password</div>
</td>
......@@ -1577,7 +1618,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt15.5' class='hiddenRow bg-success'>
<tr id='pt16.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_login_locale_select</div>
</td>
......@@ -1586,7 +1627,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt15.6' class='hiddenRow bg-success'>
<tr id='pt16.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_login_protected</div>
</td>
......@@ -1595,7 +1636,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt15.7' class='hiddenRow bg-success'>
<tr id='pt16.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_login_remember_me</div>
</td>
......@@ -1604,7 +1645,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt15.8' class='hiddenRow bg-success'>
<tr id='pt16.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_login_rename_user</div>
</td>
......@@ -1613,7 +1654,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt15.9' class='hiddenRow bg-success'>
<tr id='pt16.9' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_login_unicode_user_space_end_password</div>
</td>
......@@ -1622,7 +1663,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt15.10' class='hiddenRow bg-success'>
<tr id='pt16.10' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_login_user_with_space_password_end_space</div>
</td>
......@@ -1631,7 +1672,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt15.11' class='hiddenRow bg-success'>
<tr id='pt16.11' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_robots</div>
</td>
......@@ -1649,13 +1690,13 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c16', 2)">Detail</a>
<a onclick="showClassDetail('c17', 2)">Detail</a>
</td>
</tr>
<tr id='pt16.1' class='hiddenRow bg-success'>
<tr id='pt17.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_oauth_about</div>
</td>
......@@ -1664,7 +1705,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt16.2' class='hiddenRow bg-success'>
<tr id='pt17.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_visible_oauth</div>
</td>
......@@ -1682,13 +1723,13 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c17', 20)">Detail</a>
<a onclick="showClassDetail('c18', 20)">Detail</a>
</td>
</tr>
<tr id='pt17.1' class='hiddenRow bg-success'>
<tr id='pt18.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_opds</div>
</td>
......@@ -1697,7 +1738,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt17.2' class='hiddenRow bg-success'>
<tr id='pt18.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_opds_author</div>
</td>
......@@ -1706,7 +1747,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt17.3' class='hiddenRow bg-success'>
<tr id='pt18.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_opds_calibre_companion</div>
</td>
......@@ -1715,7 +1756,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt17.4' class='hiddenRow bg-success'>
<tr id='pt18.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_opds_cover</div>
</td>
......@@ -1724,7 +1765,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt17.5' class='hiddenRow bg-success'>
<tr id='pt18.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_opds_download_book</div>
</td>
......@@ -1733,7 +1774,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt17.6' class='hiddenRow bg-success'>
<tr id='pt18.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_opds_formats</div>
</td>
......@@ -1742,7 +1783,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt17.7' class='hiddenRow bg-success'>
<tr id='pt18.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_opds_guest_user</div>
</td>
......@@ -1751,7 +1792,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt17.8' class='hiddenRow bg-success'>
<tr id='pt18.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_opds_hot</div>
</td>
......@@ -1760,7 +1801,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt17.9' class='hiddenRow bg-success'>
<tr id='pt18.9' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_opds_language</div>
</td>
......@@ -1769,7 +1810,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt17.10' class='hiddenRow bg-success'>
<tr id='pt18.10' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_opds_non_admin</div>
</td>
......@@ -1778,7 +1819,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt17.11' class='hiddenRow bg-success'>
<tr id='pt18.11' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_opds_publisher</div>
</td>
......@@ -1787,7 +1828,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt17.12' class='hiddenRow bg-success'>
<tr id='pt18.12' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_opds_random</div>
</td>
......@@ -1796,7 +1837,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt17.13' class='hiddenRow bg-success'>
<tr id='pt18.13' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_opds_ratings</div>
</td>
......@@ -1805,7 +1846,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt17.14' class='hiddenRow bg-success'>
<tr id='pt18.14' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_opds_read_unread</div>
</td>
......@@ -1814,7 +1855,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt17.15' class='hiddenRow bg-success'>
<tr id='pt18.15' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_opds_search</div>
</td>
......@@ -1823,7 +1864,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt17.16' class='hiddenRow bg-success'>
<tr id='pt18.16' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_opds_series</div>
</td>
......@@ -1832,7 +1873,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt17.17' class='hiddenRow bg-success'>
<tr id='pt18.17' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_opds_shelf_access</div>
</td>
......@@ -1841,7 +1882,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt17.18' class='hiddenRow bg-success'>
<tr id='pt18.18' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_opds_tags</div>
</td>
......@@ -1850,7 +1891,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt17.19' class='hiddenRow bg-success'>
<tr id='pt18.19' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_opds_top_rated</div>
</td>
......@@ -1859,7 +1900,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt17.20' class='hiddenRow bg-success'>
<tr id='pt18.20' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_recently_added</div>
</td>
......@@ -1877,13 +1918,13 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c18', 7)">Detail</a>
<a onclick="showClassDetail('c19', 7)">Detail</a>
</td>
</tr>
<tr id='pt18.1' class='hiddenRow bg-success'>
<tr id='pt19.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_forgot_password</div>
</td>
......@@ -1892,7 +1933,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt18.2' class='hiddenRow bg-success'>
<tr id='pt19.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_limit_domain</div>
</td>
......@@ -1901,7 +1942,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt18.3' class='hiddenRow bg-success'>
<tr id='pt19.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_register_no_server</div>
</td>
......@@ -1910,7 +1951,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt18.4' class='hiddenRow bg-success'>
<tr id='pt19.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_registering_only_email</div>
</td>
......@@ -1919,7 +1960,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt18.5' class='hiddenRow bg-success'>
<tr id='pt19.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_registering_user</div>
</td>
......@@ -1928,7 +1969,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt18.6' class='hiddenRow bg-success'>
<tr id='pt19.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_registering_user_fail</div>
</td>
......@@ -1937,7 +1978,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt18.7' class='hiddenRow bg-success'>
<tr id='pt19.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_user_change_password</div>
</td>
......@@ -1955,13 +1996,13 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<td class="text-center">0</td>
<td class="text-center">1</td>
<td class="text-center">
<a onclick="showClassDetail('c19', 10)">Detail</a>
<a onclick="showClassDetail('c20', 10)">Detail</a>
</td>
</tr>
<tr id='pt19.1' class='hiddenRow bg-success'>
<tr id='pt20.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_add_shelf_from_search</div>
</td>
......@@ -1970,7 +2011,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt19.2' class='hiddenRow bg-success'>
<tr id='pt20.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_arrange_shelf</div>
</td>
......@@ -1979,7 +2020,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt19.3' class='hiddenRow bg-success'>
<tr id='pt20.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_delete_book_of_shelf</div>
</td>
......@@ -1988,7 +2029,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt19.4' class='hiddenRow bg-success'>
<tr id='pt20.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_private_shelf</div>
</td>
......@@ -1997,7 +2038,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt19.5' class='hiddenRow bg-success'>
<tr id='pt20.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_public_private_shelf</div>
</td>
......@@ -2006,7 +2047,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt19.6' class='hiddenRow bg-success'>
<tr id='pt20.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_public_shelf</div>
</td>
......@@ -2015,7 +2056,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt19.7' class='hiddenRow bg-success'>
<tr id='pt20.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_rename_shelf</div>
</td>
......@@ -2024,7 +2065,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt19.8' class='hiddenRow bg-success'>
<tr id='pt20.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_shelf_action_non_shelf_edit_role</div>
</td>
......@@ -2033,19 +2074,19 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='st19.9' class='none bg-warning'>
<tr id='st20.9' class='none bg-warning'>
<td>
<div class='testcase'>test_shelf_database_change</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_st19.9')">SKIP</a>
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_st20.9')">SKIP</a>
</div>
<!--css div popup start-->
<div id='div_st19.9' class="popup_window test_output" style="display:none;">
<div id='div_st20.9' class="popup_window test_output" style="display:none;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus='this.blur();'
onclick="document.getElementById('div_st19.9').style.display='none'"><span
onclick="document.getElementById('div_st20.9').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
......@@ -2059,7 +2100,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt19.10' class='hiddenRow bg-success'>
<tr id='pt20.10' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_shelf_long_name</div>
</td>
......@@ -2077,13 +2118,13 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<td class="text-center">0</td>
<td class="text-center">1</td>
<td class="text-center">
<a onclick="showClassDetail('c20', 8)">Detail</a>
<a onclick="showClassDetail('c21', 8)">Detail</a>
</td>
</tr>
<tr id='pt20.1' class='hiddenRow bg-success'>
<tr id='pt21.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_check_update_nightly_errors</div>
</td>
......@@ -2092,7 +2133,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt20.2' class='hiddenRow bg-success'>
<tr id='pt21.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_check_update_nightly_request_errors</div>
</td>
......@@ -2101,7 +2142,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt20.3' class='hiddenRow bg-success'>
<tr id='pt21.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_check_update_stable_errors</div>
</td>
......@@ -2110,7 +2151,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt20.4' class='hiddenRow bg-success'>
<tr id='pt21.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_check_update_stable_versions</div>
</td>
......@@ -2119,7 +2160,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt20.5' class='hiddenRow bg-success'>
<tr id='pt21.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_perform_update</div>
</td>
......@@ -2128,7 +2169,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt20.6' class='hiddenRow bg-success'>
<tr id='pt21.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_perform_update_stable_errors</div>
</td>
......@@ -2137,19 +2178,19 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='st20.7' class='none bg-warning'>
<tr id='st21.7' class='none bg-warning'>
<td>
<div class='testcase'>test_perform_update_timeout</div>
</td>
<td colspan='6'>
<div class="text-center">
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_st20.7')">SKIP</a>
<a class="popup_link text-center" onfocus='blur()' onclick="showTestDetail('div_st21.7')">SKIP</a>
</div>
<!--css div popup start-->
<div id='div_st20.7' class="popup_window test_output" style="display:none;">
<div id='div_st21.7' class="popup_window test_output" style="display:none;">
<div class='close_button pull-right'>
<button type="button" class="close" aria-label="Close" onfocus='this.blur();'
onclick="document.getElementById('div_st20.7').style.display='none'"><span
onclick="document.getElementById('div_st21.7').style.display='none'"><span
aria-hidden="true">&times;</span></button>
</div>
<div class="text-left pull-left">
......@@ -2163,7 +2204,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt20.8' class='hiddenRow bg-success'>
<tr id='pt21.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_reconnect_database</div>
</td>
......@@ -2181,13 +2222,13 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c21', 19)">Detail</a>
<a onclick="showClassDetail('c22', 19)">Detail</a>
</td>
</tr>
<tr id='pt21.1' class='hiddenRow bg-success'>
<tr id='pt22.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_allow_column_restriction</div>
</td>
......@@ -2196,7 +2237,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt21.2' class='hiddenRow bg-success'>
<tr id='pt22.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_allow_tag_restriction</div>
</td>
......@@ -2205,7 +2246,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt21.3' class='hiddenRow bg-success'>
<tr id='pt22.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_archived_format_template</div>
</td>
......@@ -2214,7 +2255,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt21.4' class='hiddenRow bg-success'>
<tr id='pt22.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_author_user_template</div>
</td>
......@@ -2223,7 +2264,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt21.5' class='hiddenRow bg-success'>
<tr id='pt22.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_best_user_template</div>
</td>
......@@ -2232,7 +2273,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt21.6' class='hiddenRow bg-success'>
<tr id='pt22.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_category_user_template</div>
</td>
......@@ -2241,7 +2282,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt21.7' class='hiddenRow bg-success'>
<tr id='pt22.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_deny_column_restriction</div>
</td>
......@@ -2250,7 +2291,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt21.8' class='hiddenRow bg-success'>
<tr id='pt22.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_deny_tag_restriction</div>
</td>
......@@ -2259,7 +2300,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt21.9' class='hiddenRow bg-success'>
<tr id='pt22.9' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_detail_random_user_template</div>
</td>
......@@ -2268,7 +2309,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt21.10' class='hiddenRow bg-success'>
<tr id='pt22.10' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_format_user_template</div>
</td>
......@@ -2277,7 +2318,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt21.11' class='hiddenRow bg-success'>
<tr id='pt22.11' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_hot_user_template</div>
</td>
......@@ -2286,7 +2327,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt21.12' class='hiddenRow bg-success'>
<tr id='pt22.12' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_language_user_template</div>
</td>
......@@ -2295,7 +2336,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt21.13' class='hiddenRow bg-success'>
<tr id='pt22.13' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_limit_book_languages</div>
</td>
......@@ -2304,7 +2345,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt21.14' class='hiddenRow bg-success'>
<tr id='pt22.14' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_publisher_user_template</div>
</td>
......@@ -2313,7 +2354,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt21.15' class='hiddenRow bg-success'>
<tr id='pt22.15' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_random_user_template</div>
</td>
......@@ -2322,7 +2363,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt21.16' class='hiddenRow bg-success'>
<tr id='pt22.16' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_read_user_template</div>
</td>
......@@ -2331,7 +2372,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt21.17' class='hiddenRow bg-success'>
<tr id='pt22.17' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_recent_user_template</div>
</td>
......@@ -2340,7 +2381,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt21.18' class='hiddenRow bg-success'>
<tr id='pt22.18' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_series_user_template</div>
</td>
......@@ -2349,7 +2390,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt21.19' class='hiddenRow bg-success'>
<tr id='pt22.19' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_ui_language_settings</div>
</td>
......@@ -2367,13 +2408,13 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<td class="text-center">0</td>
<td class="text-center">0</td>
<td class="text-center">
<a onclick="showClassDetail('c22', 30)">Detail</a>
<a onclick="showClassDetail('c23', 30)">Detail</a>
</td>
</tr>
<tr id='pt22.1' class='hiddenRow bg-success'>
<tr id='pt23.1' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_about</div>
</td>
......@@ -2382,7 +2423,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt22.2' class='hiddenRow bg-success'>
<tr id='pt23.2' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_admin_SMTP_Settings</div>
</td>
......@@ -2391,7 +2432,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt22.3' class='hiddenRow bg-success'>
<tr id='pt23.3' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_admin_add_user</div>
</td>
......@@ -2400,7 +2441,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt22.4' class='hiddenRow bg-success'>
<tr id='pt23.4' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_admin_change_password</div>
</td>
......@@ -2409,7 +2450,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt22.5' class='hiddenRow bg-success'>
<tr id='pt23.5' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_admin_change_visibility_archived</div>
</td>
......@@ -2418,7 +2459,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt22.6' class='hiddenRow bg-success'>
<tr id='pt23.6' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_admin_change_visibility_authors</div>
</td>
......@@ -2427,7 +2468,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt22.7' class='hiddenRow bg-success'>
<tr id='pt23.7' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_admin_change_visibility_category</div>
</td>
......@@ -2436,7 +2477,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt22.8' class='hiddenRow bg-success'>
<tr id='pt23.8' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_admin_change_visibility_file_formats</div>
</td>
......@@ -2445,7 +2486,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt22.9' class='hiddenRow bg-success'>
<tr id='pt23.9' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_admin_change_visibility_hot</div>
</td>
......@@ -2454,7 +2495,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt22.10' class='hiddenRow bg-success'>
<tr id='pt23.10' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_admin_change_visibility_language</div>
</td>
......@@ -2463,7 +2504,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt22.11' class='hiddenRow bg-success'>
<tr id='pt23.11' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_admin_change_visibility_publisher</div>
</td>
......@@ -2472,7 +2513,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt22.12' class='hiddenRow bg-success'>
<tr id='pt23.12' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_admin_change_visibility_random</div>
</td>
......@@ -2481,7 +2522,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt22.13' class='hiddenRow bg-success'>
<tr id='pt23.13' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_admin_change_visibility_rated</div>
</td>
......@@ -2490,7 +2531,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt22.14' class='hiddenRow bg-success'>
<tr id='pt23.14' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_admin_change_visibility_rating</div>
</td>
......@@ -2499,7 +2540,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt22.15' class='hiddenRow bg-success'>
<tr id='pt23.15' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_admin_change_visibility_read</div>
</td>
......@@ -2508,7 +2549,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt22.16' class='hiddenRow bg-success'>
<tr id='pt23.16' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_admin_change_visibility_series</div>
</td>
......@@ -2517,7 +2558,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt22.17' class='hiddenRow bg-success'>
<tr id='pt23.17' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_allow_columns</div>
</td>
......@@ -2526,7 +2567,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt22.18' class='hiddenRow bg-success'>
<tr id='pt23.18' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_allow_tags</div>
</td>
......@@ -2535,7 +2576,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt22.19' class='hiddenRow bg-success'>
<tr id='pt23.19' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_archive_books</div>
</td>
......@@ -2544,7 +2585,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt22.20' class='hiddenRow bg-success'>
<tr id='pt23.20' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_authors_max_settings</div>
</td>
......@@ -2553,7 +2594,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt22.21' class='hiddenRow bg-success'>
<tr id='pt23.21' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_checked_logged_in</div>
</td>
......@@ -2562,7 +2603,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt22.22' class='hiddenRow bg-success'>
<tr id='pt23.22' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_hide_custom_column</div>
</td>
......@@ -2571,7 +2612,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt22.23' class='hiddenRow bg-success'>
<tr id='pt23.23' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_link_column_to_read_status</div>
</td>
......@@ -2580,7 +2621,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt22.24' class='hiddenRow bg-success'>
<tr id='pt23.24' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_random_books_available</div>
</td>
......@@ -2589,7 +2630,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt22.25' class='hiddenRow bg-success'>
<tr id='pt23.25' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_restrict_columns</div>
</td>
......@@ -2598,7 +2639,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt22.26' class='hiddenRow bg-success'>
<tr id='pt23.26' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_restrict_tags</div>
</td>
......@@ -2607,7 +2648,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt22.27' class='hiddenRow bg-success'>
<tr id='pt23.27' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_search_functions</div>
</td>
......@@ -2616,7 +2657,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt22.28' class='hiddenRow bg-success'>
<tr id='pt23.28' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_search_string</div>
</td>
......@@ -2625,7 +2666,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt22.29' class='hiddenRow bg-success'>
<tr id='pt23.29' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_user_email_available</div>
</td>
......@@ -2634,7 +2675,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='pt22.30' class='hiddenRow bg-success'>
<tr id='pt23.30' class='hiddenRow bg-success'>
<td>
<div class='testcase'>test_user_visibility_sidebar</div>
</td>
......@@ -2645,10 +2686,10 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr id='total_row' class="text-center bg-grey">
<td>Total</td>
<td>228</td>
<td>219</td>
<td>223</td>
<td>212</td>
<td>3</td>
<td>0</td>
<td>2</td>
<td>6</td>
<td>&nbsp;</td>
</tr>
......@@ -2767,7 +2808,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
<tr>
<th>SQLAlchemy</th>
<td>1.3.18</td>
<td>1.3.19</td>
<td>Basic</td>
</tr>
......@@ -2838,15 +2879,39 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
</tr>
<tr>
<th>goodreads</th>
<td>0.3.2</td>
<td>TestGoodreads</td>
<th>google-api-python-client</th>
<td>1.10.0</td>
<td>test_edit_books_gdrive</td>
</tr>
<tr>
<th>jsonschema</th>
<td>3.2.0</td>
<td>TestKoboSync</td>
<th>httplib2</th>
<td>0.18.1</td>
<td>test_edit_books_gdrive</td>
</tr>
<tr>
<th>oauth2client</th>
<td>4.1.3</td>
<td>test_edit_books_gdrive</td>
</tr>
<tr>
<th>PyDrive</th>
<td>1.3.1</td>
<td>test_edit_books_gdrive</td>
</tr>
<tr>
<th>PyYAML</th>
<td>5.3.1</td>
<td>test_edit_books_gdrive</td>
</tr>
<tr>
<th>goodreads</th>
<td>0.3.2</td>
<td>TestGoodreads</td>
</tr>
<tr>
......@@ -2887,7 +2952,7 @@ AssertionError: False is not true : Browser-Cache Problem: Old Cover is displaye
</div>
<script>
drawCircle(219, 3, 0, 6);
drawCircle(212, 3, 2, 6);
</script>
</div>
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment