Code:
|
# NB must be done by direct access
if not self.isLoaded or self.inConstructor or self.isReading:
raise ApiError("%s: cannot be saved while isLoaded:%s, inConstructor:%s, isReading:%s"
% (self, self.isLoaded, self.inConstructor, self.isReading))
if repository.format == 'xml' and repository.url.protocol == 'file':
# must be done before saving
activeRepositories = self.activeRepositories
from memops.format.xml import XmlIO
XmlIO.save(repository.url.getDataLocation(), self)
if repository not in activeRepositories:
aSet = set(activeRepositories)
aSet.add(repository)
dataDict['activeRepositories'][:] = (x for x in self.packageLocator.repositories if x in aSet)
else:
raise ApiError(" format %s, protocol %s not supported"
% (repository.format, repository.url.protocol))
|