core: multiple identities with same category/type are now managed with getServerServiceEntities
This commit is contained in:
parent
6fa813eabd
commit
783ccee380
1 changed files with 17 additions and 4 deletions
|
|
@ -553,12 +553,25 @@ class Memory:
|
|||
@param profile: which profile is using this server ?"""
|
||||
if not self.server_identities.has_key(profile):
|
||||
self.server_identities[profile] = {}
|
||||
self.server_identities[profile][(category, type)] = entity
|
||||
if not self.server_identities[profile].has_key((category, type)):
|
||||
self.server_identities[profile][(category, type)]=set()
|
||||
self.server_identities[profile][(category, type)].add(entity)
|
||||
|
||||
def getServerServiceEntities(self, category, type, profile):
|
||||
"""Return all available entities for a service"""
|
||||
if self.server_identities.has_key(profile):
|
||||
return self.server_identities[profile].get((category, type), set())
|
||||
else:
|
||||
return None
|
||||
|
||||
def getServerServiceEntity(self, category, type, profile):
|
||||
if self.server_identities.has_key(profile):
|
||||
return self.server_identities[profile].get((category, type))
|
||||
return None
|
||||
"""Helper method to get first available entity for a service"""
|
||||
entities = self.getServerServiceEntities(category, type, profile)
|
||||
if entities == None:
|
||||
warning(_("Entities not available, maybe they haven't been asked to server yet ?"))
|
||||
return None
|
||||
else:
|
||||
return list(entities)[0] if entities else None
|
||||
|
||||
def hasServerFeature(self, feature, profile_key='@DEFAULT@'):
|
||||
"""Tell if the server of the profile has the required feature"""
|
||||
|
|
|
|||
Loading…
Reference in a new issue