test sdrs and their availability early on

use polymorphism to load sdrs in
This commit is contained in:
Jakob Ketterl
2019-05-10 14:23:54 +02:00
parent 56ef86aab6
commit bbd6412e3d
3 changed files with 67 additions and 34 deletions

View File

@ -81,6 +81,9 @@ class PropertyManager(object):
p.setValue(other_pm[key])
return self
class UnknownFeatureException(Exception):
pass
class RequirementMissingException(Exception):
pass
@ -96,7 +99,10 @@ class FeatureDetector(object):
return self.has_requirements(self.get_requirements(feature))
def get_requirements(self, feature):
return FeatureDetector.features[feature]
try:
return FeatureDetector.features[feature]
except KeyError:
raise UnknownFeatureException("Feature \"{0}\" is not known.".format(feature))
def has_requirements(self, requirements):
passed = True