Entropy/SystemSettings:

- before bugging the Entropy client database on scan() check if it's valid and initialized


git-svn-id: http://svn.sabayonlinux.org/projects/entropy/trunk@2909 cd1c1023-2f26-0410-ae45-c471fc1f0318
This commit is contained in:
lxnay
2009-01-16 13:45:01 +00:00
parent 2f7c6b8e94
commit 141241a1ec
+20 -14
View File
@@ -10584,20 +10584,26 @@ class SystemSettings:
# match installed packages of system_mask
self.__settings['repos_system_mask_installed'] = []
self.__settings['repos_system_mask_installed_keys'] = {}
if self.Entropy.clientDbconn != None:
mc_cache = set()
m_list = self.__settings['repos_system_mask']+self.__settings['system_mask']
for atom in m_list:
m_ids,m_r = self.Entropy.clientDbconn.atomMatch(atom, multiMatch = True)
if m_r != 0: continue
mykey = self.entropyTools.dep_getkey(atom)
if mykey not in self.__settings['repos_system_mask_installed_keys']:
self.__settings['repos_system_mask_installed_keys'][mykey] = set()
for xm in m_ids:
if xm in mc_cache: continue
mc_cache.add(xm)
self.__settings['repos_system_mask_installed'].append(xm)
self.__settings['repos_system_mask_installed_keys'][mykey].add(xm)
if isinstance(self.Entropy.clientDbconn,EntropyDatabaseInterface):
while 1:
try:
self.Entropy.clientDbconn.validateDatabase()
except exceptionTools.SystemDatabaseError:
break
mc_cache = set()
m_list = self.__settings['repos_system_mask']+self.__settings['system_mask']
for atom in m_list:
m_ids,m_r = self.Entropy.clientDbconn.atomMatch(atom, multiMatch = True)
if m_r != 0: continue
mykey = self.entropyTools.dep_getkey(atom)
if mykey not in self.__settings['repos_system_mask_installed_keys']:
self.__settings['repos_system_mask_installed_keys'][mykey] = set()
for xm in m_ids:
if xm in mc_cache: continue
mc_cache.add(xm)
self.__settings['repos_system_mask_installed'].append(xm)
self.__settings['repos_system_mask_installed_keys'][mykey].add(xm)
break
# Live package masking
self.__settings.update(self.__persistent_settings)