diff options
author | Zhaoxing <meng.zhaoxing1@zte.com.cn> | 2017-09-22 15:40:57 +0800 |
---|---|---|
committer | Zhaoxing <meng.zhaoxing1@zte.com.cn> | 2017-09-22 15:40:57 +0800 |
commit | 6a3e9d53686eda1d45fb54b97869a594741f089c (patch) | |
tree | 9afe1eaae4311726ea30dd65142cd22325324c98 /nfvparser/toscaparser/capabilities.py | |
parent | 723a89591b73ed1f7ad43a31c38b40b2cc784e0e (diff) |
Move python files to root dir
Change-Id: I16a66e1f6bcb65cbb68f2b622618252885ab47fc
Issue-Id: MODELING-20
Signed-off-by: Zhaoxing <meng.zhaoxing1@zte.com.cn>
Diffstat (limited to 'nfvparser/toscaparser/capabilities.py')
-rw-r--r-- | nfvparser/toscaparser/capabilities.py | 45 |
1 files changed, 45 insertions, 0 deletions
diff --git a/nfvparser/toscaparser/capabilities.py b/nfvparser/toscaparser/capabilities.py new file mode 100644 index 0000000..c23ef72 --- /dev/null +++ b/nfvparser/toscaparser/capabilities.py @@ -0,0 +1,45 @@ +# Licensed under the Apache License, Version 2.0 (the "License"); you may +# not use this file except in compliance with the License. You may obtain +# a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, WITHOUT +# WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the +# License for the specific language governing permissions and limitations +# under the License. + +from toscaparser.properties import Property + + +class Capability(object): + '''TOSCA built-in capabilities type.''' + + def __init__(self, name, properties, definition): + self.name = name + self._properties = properties + self.definition = definition + + def get_properties_objects(self): + '''Return a list of property objects.''' + properties = [] + props = self._properties + if props: + for name, value in props.items(): + props_def = self.definition.get_properties_def() + if props_def and name in props_def: + properties.append(Property(name, value, + props_def[name].schema)) + return properties + + def get_properties(self): + '''Return a dictionary of property name-object pairs.''' + return {prop.name: prop + for prop in self.get_properties_objects()} + + def get_property_value(self, name): + '''Return the value of a given property name.''' + props = self.get_properties() + if props and name in props: + return props[name].value |