def slot_sync(self, arg): if self.connect(): if (self.dbm.readValue(u"config", u"finalized") == u""): self.dlg = Output() synchronize(self.dbm, self.filepath, self.dlg) self.dlg.done() else: warning(_("This database is finalized, you can't access it")) # Disconnect from master database self.disconnect()
def slot_sync(self, arg): """Perform a synchronization with a selected database file but as adminstrative user. This allows even a finalized database to be updated. """ sfile = self.settings.getSetting("syncFile") if sfile: sdir = os.path.dirname(sfile) sfile = os.path.basename(sfile) else: sdir = None syncfile = getFile(_("User database file"), startDir=sdir, startFile=sfile, defaultSuffix=".zga", filter=(_("Report Files"), (u"*.zga", ))) if not syncfile: return self.settings.setSetting("syncFile", syncfile) dbs = DBs(syncfile) if not dbs.isOpen(): return sdbname = dbs.getConfig(u"dbname") dbs.close() if (self.dbname != sdbname): warning( _("%s: Database name does not match current master name") % syncfile) return self.dlg = Output() synchronize(self.master, syncfile, self.dlg) self.dlg.done()