deleting a bible causes a traceback
Bug #1748719 reported by
Simon Hanna
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
OpenLP |
Fix Committed
|
Medium
|
Phill |
Bug Description
Starting with no OpenLP config, when I import a couple of bibles during the FTW, and then delete a bible from the Library in the main interface I get a traceback.
This happens in trunk
Related branches
lp://staging/~phill-ridout/openlp/fixes-I
- Tim Bentley: Pending requested
-
Diff: 1333 lines (+187/-208)47 files modifiedopenlp/core/api/deploy.py (+2/-2)
openlp/core/app.py (+8/-4)
openlp/core/common/__init__.py (+2/-2)
openlp/core/common/path.py (+1/-1)
openlp/core/common/settings.py (+1/-1)
openlp/core/display/html/display.html (+1/-1)
openlp/core/display/html/display.js (+1/-1)
openlp/core/lib/__init__.py (+6/-8)
openlp/core/lib/db.py (+15/-11)
openlp/core/lib/mediamanageritem.py (+6/-6)
openlp/core/lib/serviceitem.py (+3/-3)
openlp/core/ui/advancedtab.py (+1/-1)
openlp/core/ui/exceptiondialog.py (+3/-3)
openlp/core/ui/exceptionform.py (+14/-7)
openlp/core/ui/generaltab.py (+0/-1)
openlp/core/ui/mainwindow.py (+1/-1)
openlp/core/ui/servicemanager.py (+13/-12)
openlp/core/ui/thememanager.py (+10/-10)
openlp/core/version.py (+1/-1)
openlp/core/widgets/edits.py (+1/-1)
openlp/core/widgets/wizard.py (+1/-41)
openlp/plugins/bibles/forms/bibleimportform.py (+2/-2)
openlp/plugins/bibles/lib/bibleimport.py (+2/-2)
openlp/plugins/bibles/lib/db.py (+6/-6)
openlp/plugins/bibles/lib/importers/wordproject.py (+1/-1)
openlp/plugins/bibles/lib/manager.py (+1/-1)
openlp/plugins/bibles/lib/mediaitem.py (+3/-3)
openlp/plugins/custom/lib/mediaitem.py (+3/-6)
openlp/plugins/images/lib/mediaitem.py (+3/-3)
openlp/plugins/media/lib/mediaitem.py (+7/-7)
openlp/plugins/presentations/lib/mediaitem.py (+3/-3)
openlp/plugins/presentations/lib/messagelistener.py (+2/-8)
openlp/plugins/songs/forms/songimportform.py (+7/-2)
openlp/plugins/songs/lib/importers/cclifile.py (+4/-3)
openlp/plugins/songs/lib/mediaitem.py (+2/-4)
openlp/plugins/songusage/forms/songusagedetailform.py (+2/-2)
run_openlp.py (+8/-2)
tests/functional/openlp_core/api/test_deploy.py (+2/-2)
tests/functional/openlp_core/common/test_init.py (+14/-8)
tests/functional/openlp_core/common/test_path.py (+3/-5)
tests/functional/openlp_core/lib/test_serviceitem.py (+4/-4)
tests/functional/openlp_core/ui/test_thememanager.py (+3/-3)
tests/functional/openlp_plugins/bibles/test_manager.py (+3/-2)
tests/interfaces/openlp_plugins/songs/forms/test_songmaintenanceform.py (+2/-2)
tests/openlp_core/common/test_network_interfaces.py (+1/-1)
tests/openlp_core/projectors/test_projector_pjlink_commands_01.py (+6/-6)
tests/openlp_core/projectors/test_projector_sourceform.py (+2/-2)
Changed in openlp: | |
assignee: | nobody → Phill (phill-ridout) |
importance: | Undecided → Medium |
status: | New → In Progress |
Changed in openlp: | |
status: | In Progress → Fix Committed |
Changed in openlp: | |
milestone: | none → 2.9.1 |
To post a comment you must log in.
Hmm.. the bibles are a little messed up...
the init of a BibleDB object takes the following kwargs:
* path (path to the bible database file)
* name (name of the database, also used as file name for sqlite databases)
* file (no doc)
path and file are supposed to by Path objects, while the name is a string.
It looks like during the migrations to the Paths, this was altered but not to something useful.
especially the path and file look suspicious.
The cause of the actual bug is that the _setup method doesn't set self.file which the delete method depends on.
It would be really helpful if all class attributes where defined in the beginning of a class, so it's clear what the class supports and what not. They don't have to be initialized there, but it should be easy to see what attributes are available without looking through all methods in the class searching for self.* to know what attributes are there.