Bugfixes after testrun
Catch StaleDataError
This commit is contained in:
		
							parent
							
								
									321db4d712
								
							
						
					
					
						commit
						d35e781d41
					
				| 
						 | 
					@ -226,7 +226,7 @@ def edit_book(book_id):
 | 
				
			||||||
    except (OperationalError, IntegrityError, StaleDataError, InterfaceError) as e:
 | 
					    except (OperationalError, IntegrityError, StaleDataError, InterfaceError) as e:
 | 
				
			||||||
        log.error_or_exception("Database error: {}".format(e))
 | 
					        log.error_or_exception("Database error: {}".format(e))
 | 
				
			||||||
        calibre_db.session.rollback()
 | 
					        calibre_db.session.rollback()
 | 
				
			||||||
        flash(_("Oops! Database Error: %(error)s.", error=e.orig), category="error")
 | 
					        flash(_("Oops! Database Error: %(error)s.", error=e.orig if hasattr(e, "orig") else e), category="error")
 | 
				
			||||||
        return redirect(url_for('web.show_book', book_id=book.id))
 | 
					        return redirect(url_for('web.show_book', book_id=book.id))
 | 
				
			||||||
    except Exception as ex:
 | 
					    except Exception as ex:
 | 
				
			||||||
        log.error_or_exception(ex)
 | 
					        log.error_or_exception(ex)
 | 
				
			||||||
| 
						 | 
					@ -302,7 +302,8 @@ def upload():
 | 
				
			||||||
            except (OperationalError, IntegrityError, StaleDataError) as e:
 | 
					            except (OperationalError, IntegrityError, StaleDataError) as e:
 | 
				
			||||||
                calibre_db.session.rollback()
 | 
					                calibre_db.session.rollback()
 | 
				
			||||||
                log.error_or_exception("Database error: {}".format(e))
 | 
					                log.error_or_exception("Database error: {}".format(e))
 | 
				
			||||||
                flash(_("Oops! Database Error: %(error)s.", error=e.orig), category="error")
 | 
					                flash(_("Oops! Database Error: %(error)s.", error=e.orig if hasattr(e, "orig") else e),
 | 
				
			||||||
 | 
					                      category="error")
 | 
				
			||||||
        return Response(json.dumps({"location": url_for("web.index")}), mimetype='application/json')
 | 
					        return Response(json.dumps({"location": url_for("web.index")}), mimetype='application/json')
 | 
				
			||||||
 | 
					
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -451,7 +452,7 @@ def edit_list_book(param):
 | 
				
			||||||
        calibre_db.session.rollback()
 | 
					        calibre_db.session.rollback()
 | 
				
			||||||
        log.error_or_exception("Database error: {}".format(e))
 | 
					        log.error_or_exception("Database error: {}".format(e))
 | 
				
			||||||
        ret = Response(json.dumps({'success': False,
 | 
					        ret = Response(json.dumps({'success': False,
 | 
				
			||||||
                                   'msg': 'Database error: {}'.format(e.orig)}),
 | 
					                                   'msg': 'Database error: {}'.format(e.orig if hasattr(e, "orig") else e)}),
 | 
				
			||||||
                       mimetype='application/json')
 | 
					                       mimetype='application/json')
 | 
				
			||||||
    return ret
 | 
					    return ret
 | 
				
			||||||
 | 
					
 | 
				
			||||||
| 
						 | 
					@ -563,7 +564,7 @@ def table_xchange_author_title():
 | 
				
			||||||
                calibre_db.session.commit()
 | 
					                calibre_db.session.commit()
 | 
				
			||||||
            except (OperationalError, IntegrityError, StaleDataError) as e:
 | 
					            except (OperationalError, IntegrityError, StaleDataError) as e:
 | 
				
			||||||
                calibre_db.session.rollback()
 | 
					                calibre_db.session.rollback()
 | 
				
			||||||
                log.error_or_exception("Database error: %s", e)
 | 
					                log.error_or_exception("Database error: {}".format(e))
 | 
				
			||||||
                return json.dumps({'success': False})
 | 
					                return json.dumps({'success': False})
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            if config.config_use_google_drive:
 | 
					            if config.config_use_google_drive:
 | 
				
			||||||
| 
						 | 
					@ -1199,7 +1200,8 @@ def upload_single_file(file_request, book, book_id):
 | 
				
			||||||
                except (OperationalError, IntegrityError, StaleDataError) as e:
 | 
					                except (OperationalError, IntegrityError, StaleDataError) as e:
 | 
				
			||||||
                    calibre_db.session.rollback()
 | 
					                    calibre_db.session.rollback()
 | 
				
			||||||
                    log.error_or_exception("Database error: {}".format(e))
 | 
					                    log.error_or_exception("Database error: {}".format(e))
 | 
				
			||||||
                    flash(_("Oops! Database Error: %(error)s.", error=e.orig), category="error")
 | 
					                    flash(_("Oops! Database Error: %(error)s.", error=e.orig if hasattr(e, "orig") else e),
 | 
				
			||||||
 | 
					                          category="error")
 | 
				
			||||||
                    return False  # return redirect(url_for('web.show_book', book_id=book.id))
 | 
					                    return False  # return redirect(url_for('web.show_book', book_id=book.id))
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            # Queue uploader info
 | 
					            # Queue uploader info
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
| 
						 | 
					@ -11,7 +11,7 @@
 | 
				
			||||||
        </div>
 | 
					        </div>
 | 
				
			||||||
        <div class="col-sm-9 col-lg-9 book-meta">
 | 
					        <div class="col-sm-9 col-lg-9 book-meta">
 | 
				
			||||||
            <div class="btn-toolbar" role="toolbar">
 | 
					            <div class="btn-toolbar" role="toolbar">
 | 
				
			||||||
                <div class="btn-group" role="group" aria-label="Download, send to E-Reader, reading">
 | 
					                <div class="btn-group" role="group" aria-label="Download, send to eReader, reading">
 | 
				
			||||||
                    {% if current_user.role_download() %}
 | 
					                    {% if current_user.role_download() %}
 | 
				
			||||||
                        {% if entry.data|length %}
 | 
					                        {% if entry.data|length %}
 | 
				
			||||||
                            <div class="btn-group" role="group">
 | 
					                            <div class="btn-group" role="group">
 | 
				
			||||||
| 
						 | 
					@ -151,11 +151,10 @@
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            {% endif %}
 | 
					            {% endif %}
 | 
				
			||||||
 | 
					
 | 
				
			||||||
            {% if entry.languages.__len__() > 0 %}
 | 
					            {% if entry.languages|length > 0 %}
 | 
				
			||||||
                <div class="languages">
 | 
					                <div class="languages">
 | 
				
			||||||
                    <p>
 | 
					                    <p>
 | 
				
			||||||
                        <span class="label label-default">{{ _('Language') }}: {% for language in entry.languages %}
 | 
					                        <span class="label label-default">{{_('Language')}}: {% for language in entry.languages %}{{language.language_name}}{% if not loop.last %}, {% endif %}{% endfor %}</span>
 | 
				
			||||||
                            {{ language.language_name }}{% if not loop.last %}, {% endif %}{% endfor %}</span>
 | 
					 | 
				
			||||||
                    </p>
 | 
					                    </p>
 | 
				
			||||||
                </div>
 | 
					                </div>
 | 
				
			||||||
            {% endif %}
 | 
					            {% endif %}
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
										
											
												File diff suppressed because it is too large
												Load Diff
											
										
									
								
							
		Loading…
	
		Reference in New Issue
	
	Block a user