## for sake of testing, just use sqlite3. uri = 'sqlite:///:memory:' def init_bauble(uri, create=False): try: db.open(uri, verify=False) except Exception, e: print >>sys.stderr, e #debug e if not bauble.db.engine: raise BaubleError('not connected to a database') prefs.init() prefs.testing = True pluginmgr.load() db.create(create) pluginmgr.init(force=True) def update_gui(): """ Flush any GTK Events. Used for doing GUI testing. """ import gtk while gtk.events_pending(): gtk.main_iteration(block=False) def check_dupids(filename): """
except err.DatabaseError, e: logger.debug("%s(%s)" % (type(e), e)) # traceback.format_exc() open_exc = e # break except Exception, e: msg = _("Could not open connection.\n\n%s") % \ utils.xml_safe(repr(e)) utils.message_details_dialog(msg, traceback.format_exc(), gtk.MESSAGE_ERROR) uri = None else: db.open(uri, True, True) # load the plugins pluginmgr.load() # save any changes made in the conn manager before anything else has # chance to crash prefs.save() # set the default command handler from bauble.view import DefaultCommandHandler pluginmgr.register_command(DefaultCommandHandler) # now that we have a connection create the gui, start before the plugins # are initialized in case they have to do anything like add a menu import bauble.ui as ui gui = ui.GUI() def _post_loop():