Typo breaks nutritional information plugin schema upgrade

Bug #1240120 reported by Bernhard Reiter
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
gourmet (Ubuntu)
Fix Released
Undecided
Unassigned

Bug Description

I'm the upstream maintainer. In the 0.16.1 release, I unfortunately mis-spelled the function name setup_nutritionconversions_table as setup_nutrition_conversions_table. This causes the following error (from [1]):

$ gourmet
elib.intl failed to load.
IF YOU HAVE TROUBLE WITH TRANSLATIONS, MAKE SURE YOU HAVE THIS LIBRARY INSTALLED.
elib.intl failed to load.
IF YOU HAVE TROUBLE WITH TRANSLATIONS, MAKE SURE YOU HAVE THIS LIBRARY INSTALLED.
No gst player
No windows player
WARNING: Plugin module import failed
PATH: ['/usr/lib/python2.7/site-packages/gst-0.10', '/usr/lib/python2.7/site-packages/', '/usr/bin', '/usr/lib/python27.zip', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-linux2', '/usr/lib/python2.7/lib-tk', '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/lib/python2.7/site-packages', '/usr/lib/python2.7/site-packages/gtk-2.0', '/usr/lib/python2.7/site-packages/ubuntu-sso-client', '/usr/lib/python2.7/site-packages/ubuntuone-client', '/usr/lib/python2.7/site-packages/ubuntuone-control-panel', '/usr/lib/python2.7/site-packages/ubuntuone-storage-protocol', '/usr/share/gourmet/plugins', '/usr/lib/python2.7/site-packages/gourmet/plugins', '/usr/lib/python2.7/site-packages/gourmet/plugins/import_export']
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/gourmet/plugin_loader.py", line 252, in get_module
    self._loaded = __import__(self.module)
  File "/usr/lib/python2.7/site-packages/gourmet/plugins/spellcheck/__init__.py", line 1, in <module>
    import reccard_spellcheck_plugin
  File "/usr/lib/python2.7/site-packages/gourmet/plugins/spellcheck/reccard_spellcheck_plugin.py", line 1, in <module>
    import gtk, gtkspell
ImportError: No module named gtkspell
WARNING: Failed to load plugin spellcheck
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/gourmet/plugin_loader.py", line 93, in load_active_plugins
    self.active_plugins.extend(self.available_plugin_sets[p].plugins)
  File "/usr/lib/python2.7/site-packages/gourmet/plugin_loader.py", line 265, in __getattr__
    if attr == 'plugins': return self.get_plugins()
  File "/usr/lib/python2.7/site-packages/gourmet/plugin_loader.py", line 271, in get_plugins
    return self.get_module().plugins
AttributeError: 'NoneType' object has no attribute 'plugins'
Problem updating plugin <nutritional_information.data_plugin.NutritionDataPlugin instance at 0x8a90c8c> nutritondata
Traceback (most recent call last):
  File "/usr/bin/gourmet", line 16, in <module>
    GourmetRecipeManager.startGUI()
  File "/usr/lib/python2.7/site-packages/gourmet/GourmetRecipeManager.py", line 688, in startGUI
    r=RecGui(splash_label=splash.label)
  File "/usr/lib/python2.7/site-packages/gourmet/GourmetRecipeManager.py", line 891, in __init__
    GourmetApplication.__init__(self, splash_label=splash_label)
  File "/usr/lib/python2.7/site-packages/gourmet/GourmetRecipeManager.py", line 100, in __init__
    self.setup_recipes() # Setup recipe database
  File "/usr/lib/python2.7/site-packages/gourmet/GourmetRecipeManager.py", line 189, in setup_recipes
    self.rd = recipeManager.default_rec_manager()
  File "/usr/lib/python2.7/site-packages/gourmet/recipeManager.py", line 124, in default_rec_manager
    return get_recipe_manager(**dbargs)
  File "/usr/lib/python2.7/site-packages/gourmet/recipeManager.py", line 119, in get_recipe_manager
    return RecipeManager(**args)
  File "/usr/lib/python2.7/site-packages/gourmet/backends/db.py", line 1848, in __init__
    RecData.__init__(self,*args,**kwargs)
  File "/usr/lib/python2.7/site-packages/gourmet/backends/db.py", line 166, in __init__
    self.update_version_info(gourmet.version.version)
  File "/usr/lib/python2.7/site-packages/gourmet/backends/db.py", line 672, in update_version_info
    (current_super,current_major,current_minor)
  File "/usr/lib/python2.7/site-packages/gourmet/backends/db.py", line 714, in update_plugin_version
    plugin_current = plugin.version,
  File "/usr/lib/python2.7/site-packages/gourmet/plugins/nutritional_information/data_plugin.py", line 87, in update_version
    self.db.alter_table('nutritionconversions',self.setup_nutritionconversions_table,
AttributeError: NutritionDataPlugin instance has no attribute 'setup_nutritionconversions_table'

I've already patched the upstream code [2]. Please add this fix to saucy, as the bug would probably cause a lot of people complaining about the update breaking their recipe database!

[1] https://bbs.archlinux.org/viewtopic.php?pid=1332916)
[2] https://github.com/thinkle/gourmet/commit/7f1aa6fbe0bedc1ba82c220c7b437260ec422434

Revision history for this message
Launchpad Janitor (janitor) wrote :

This bug was fixed in the package gourmet - 0.16.1-1ubuntu1

---------------
gourmet (0.16.1-1ubuntu1) saucy; urgency=low

  * debian/patches/fix_schema_upgrade.patch: fix typo preventing a schema
    upgrade resulting in the recipe database being broken. (LP: #1240120)
 -- Marc Deslauriers <email address hidden> Tue, 15 Oct 2013 11:29:28 -0400

Changed in gourmet (Ubuntu):
status: New → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.