← Back to team overview

openlp-core team mailing list archive

[Bug 1290246] Re: Traceback when search of non existing bible book

 

** Changed in: openlp/trunk
    Milestone: None => 2.1.2

** Changed in: openlp/trunk
       Status: In Progress => Fix Committed

-- 
You received this bug notification because you are a member of OpenLP
Core, which is subscribed to OpenLP.
https://bugs.launchpad.net/bugs/1290246

Title:
  Traceback when search of non existing bible book

Status in OpenLP - Worship Presentation Software:
  Fix Committed
Status in OpenLP 2.0 series:
  Won't Fix
Status in OpenLP trunk series:
  Fix Committed

Bug description:
  Hello,

  Using lp:openlp/2.0  revno 2190. This report is from the support system, but I verified it.
  http://support.openlp.org/scp/tickets.php?id=2258

  1) Import a bible (for example Afrikaans Byble)
  2) Search "Römer 1" using the quick search.

  NOTE: The only case this does not happen is when the "Default Bible
  Language" is set to "Application Language" and the application
  language matches with the input string (here "Römer" is the German
  book name for "Romans".

  IDEA for trunk: We might want to reconsider our default settings. When
  I use German as application language I might want to use German book
  names as well as the book names the bible is written in. E. g. when I
  have an English Bible study I want to be able to search for "Römer 1"
  as well as for "Romans 1". Maybe we should rather guess? I mean I
  never found a bible book name in language A which matches to another
  book name in another language which were not the same book in the
  bible. (In other words, in case the book names match, then the name
  will mean the same book.)

  EXPECTED:
  No Crash.

  
  --- Exception Traceback ---
  Traceback (most recent call last):
    File "/home/andreas/Projects/2.0-OpenLP/2.0/openlp/plugins/bibles/lib/mediaitem.py", line 773, in onQuickSearchButton
      self.search_results = self.plugin.manager.get_verses(bible, text)
    File "/home/andreas/Projects/2.0-OpenLP/2.0/openlp/plugins/bibles/lib/manager.py", line 333, in get_verses
      return self.db_cache[bible].get_verses(reflist, show_error)
    File "/home/andreas/Projects/2.0-OpenLP/2.0/openlp/plugins/bibles/lib/db.py", line 436, in get_verses
      db_book = self.get_book_by_book_ref_id(book_id)
    File "/home/andreas/Projects/2.0-OpenLP/2.0/openlp/plugins/bibles/lib/db.py", line 344, in get_book_by_book_ref_id
      return self.get_object_filtered(Book, Book.book_reference_id.like(id))
    File "/usr/lib/python2.7/site-packages/sqlalchemy/sql/operators.py", line 387, in like
      return self.operate(like_op, other, escape=escape)
    File "/usr/lib/python2.7/site-packages/sqlalchemy/orm/attributes.py", line 171, in operate
      return op(self.comparator, *other, **kwargs)
    File "/usr/lib/python2.7/site-packages/sqlalchemy/sql/operators.py", line 695, in like_op
      return a.like(b, escape=escape)
    File "/usr/lib/python2.7/site-packages/sqlalchemy/sql/operators.py", line 387, in like
      return self.operate(like_op, other, escape=escape)
    File "/usr/lib/python2.7/site-packages/sqlalchemy/orm/properties.py", line 251, in operate
      return op(self.__clause_element__(), *other, **kwargs)
    File "/usr/lib/python2.7/site-packages/sqlalchemy/sql/operators.py", line 695, in like_op
      return a.like(b, escape=escape)
    File "/usr/lib/python2.7/site-packages/sqlalchemy/sql/operators.py", line 387, in like
      return self.operate(like_op, other, escape=escape)
    File "/usr/lib/python2.7/site-packages/sqlalchemy/sql/elements.py", line 627, in operate
      return op(self.comparator, *other, **kwargs)
    File "/usr/lib/python2.7/site-packages/sqlalchemy/sql/operators.py", line 695, in like_op
      return a.like(b, escape=escape)
    File "/usr/lib/python2.7/site-packages/sqlalchemy/sql/operators.py", line 387, in like
      return self.operate(like_op, other, escape=escape)
    File "/usr/lib/python2.7/site-packages/sqlalchemy/sql/default_comparator.py", line 33, in operate
      return o[0](self, self.expr, op, *(other + o[1:]), **kwargs)
    File "/usr/lib/python2.7/site-packages/sqlalchemy/sql/default_comparator.py", line 94, in _boolean_compare
      "Only '=', '!=', 'is_()', 'isnot()' operators can "
  ArgumentError: Only '=', '!=', 'is_()', 'isnot()' operators can be used with None/True/False

  --- System information ---
  Plattform: Linux-3.13.5-1-ARCH-x86_64-with-glibc2.2.5

  --- Library Versions ---
  Python: 2.7.6
  Qt4: 4.8.5
  Phonon: 4.7.1
  PyQt4: 4.10.3
  QtWebkit: 537.21
  SQLAlchemy: 0.9.3
  SQLAlchemy Migrate: 0.7.2
  BeautifulSoup: 3.2.1
  lxml: 3.3.1
  Chardet: 2.2.1
  PyEnchant: 1.6.5
  PySQLite: 1.0.1
  Mako: 0.9.1
  pyUNO bridge: -

To manage notifications about this bug go to:
https://bugs.launchpad.net/openlp/+bug/1290246/+subscriptions


References