Пример #1
0
	def init(self):
		
		dbFile = os.path.join(smDataPath(),'scanmanager.settings')
		
		if not os.path.exists(dbFile):
			shutil.copyfile(os.path.join(smBasePath(),'scanmanager.settings.default'),dbFile)
		
		# open a db and check we can access its keys
		db = shelve.open(dbFile)
		[i for i in db.keys()]
		db.close()
		
		# db seems OK -- make a backup and then open it for real
		shutil.copyfile(dbFile,os.path.join(smDataPath(),'scanmanager.settings.backup'))
		self.db = shelve.open(dbFile)
		
		if not self.db.keys():
			self.db['version'] = base.smGetSettingsVersion()
		self.settings = ApplicationMainSettings(db=self.db)
		if not self.settings.load():
				log.error('Settings file out of date')
				e = QtGui.QMessageBox.critical(
					None,
					self.tr('Error'),
					self.tr('''
						<p>Your scanmanager.settings file appears to be out of date (existing settings version %s, app settings version %s).</p>
						<p>Try deleting %s</p>''') % (
							self.db.get('version',None),
							base.smGetSettingsVersion(),
							os.path.join(base.smDataPath(),'scanmanager.settings')
						)
				)
				self.quit()
				return
			
		self.images = []
		
		backend.apis = backend.BackendManager(trace=base.runtimeOptions.trace)
		apis = backend.apis
		apis.loadAll()
		apis.openAll(db=self.db)
		errorText = apis.formatAPIErrors()
		if errorText:
			sys.stderr.write(errorText)
		

		self.processingQueue = processing.ProcessingQueue()
		
		self.setWindowIcon(QtGui.QIcon(':/scanmanager-16.png'))
		self.SetupWindow.initialiseOptions()
		self.SetupWindow.show()
		self.SetupWindow.loadSettings()
Пример #2
0
    def init(self):

        dbFile = os.path.join(smDataPath(), 'scanmanager.settings')

        if not os.path.exists(dbFile):
            shutil.copyfile(
                os.path.join(smBasePath(), 'scanmanager.settings.default'),
                dbFile)

        # open a db and check we can access its keys
        db = shelve.open(dbFile)
        [i for i in db.keys()]
        db.close()

        # db seems OK -- make a backup and then open it for real
        shutil.copyfile(
            dbFile, os.path.join(smDataPath(), 'scanmanager.settings.backup'))
        self.db = shelve.open(dbFile)

        if not self.db.keys():
            self.db['version'] = base.smGetSettingsVersion()
        self.settings = ApplicationMainSettings(db=self.db)
        if not self.settings.load():
            log.error('Settings file out of date')
            e = QtGui.QMessageBox.critical(
                None, self.tr('Error'),
                self.tr('''
						<p>Your scanmanager.settings file appears to be out of date (existing settings version %s, app settings version %s).</p>
						<p>Try deleting %s</p>''') %
                (self.db.get('version', None), base.smGetSettingsVersion(),
                 os.path.join(base.smDataPath(), 'scanmanager.settings')))
            self.quit()
            return

        self.images = []

        backend.apis = backend.BackendManager(trace=base.runtimeOptions.trace)
        apis = backend.apis
        apis.loadAll()
        apis.openAll(db=self.db)
        errorText = apis.formatAPIErrors()
        if errorText:
            sys.stderr.write(errorText)

        self.processingQueue = processing.ProcessingQueue()

        self.setWindowIcon(QtGui.QIcon(':/scanmanager-16.png'))
        self.SetupWindow.initialiseOptions()
        self.SetupWindow.show()
        self.SetupWindow.loadSettings()
Пример #3
0
 def load(self):
     if self._db.get('version', None) != base.smGetSettingsVersion():
         return False
     for k, v in self._db.items():
         if k not in self._children:
             continue
         setattr(self, k, v)
     for k in self._children:
         if k not in self:
             setattr(self, k, ApplicationSettings())
     return True
Пример #4
0
	def load(self):
		if self._db.get('version',None) != base.smGetSettingsVersion():
			return False
		for k,v in self._db.items():
			if k not in self._children:
				continue
			setattr(self,k,v)
		for k in self._children:
			if k not in self:
				setattr(self,k,ApplicationSettings())
		return True