diff options
author | julien zhang <zhang.jun3g@zte.com.cn> | 2016-04-22 08:43:26 +0000 |
---|---|---|
committer | Gerrit Code Review <gerrit@172.30.200.206> | 2016-04-22 08:43:26 +0000 |
commit | 2fa4785aa218cf655f3405d832d2200d64fd033e (patch) | |
tree | 0061edccecca9a99aa9a50c6c0e2783c07370112 /tosca2heat/tosca-parser-0.3.0/toscaparser/elements/entity_type.py | |
parent | 56c2a5d3ba6193c9a98870a264bc5e3aca19a086 (diff) | |
parent | c8201c119ec686e79797721156767685fe848aca (diff) |
Merge "Update tosca lib to version 0.5"
Diffstat (limited to 'tosca2heat/tosca-parser-0.3.0/toscaparser/elements/entity_type.py')
-rw-r--r-- | tosca2heat/tosca-parser-0.3.0/toscaparser/elements/entity_type.py | 115 |
1 files changed, 0 insertions, 115 deletions
diff --git a/tosca2heat/tosca-parser-0.3.0/toscaparser/elements/entity_type.py b/tosca2heat/tosca-parser-0.3.0/toscaparser/elements/entity_type.py deleted file mode 100644 index 54aaa7e..0000000 --- a/tosca2heat/tosca-parser-0.3.0/toscaparser/elements/entity_type.py +++ /dev/null @@ -1,115 +0,0 @@ -# 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. - -import logging -import os -import toscaparser.utils.yamlparser - -log = logging.getLogger('tosca') - - -class EntityType(object): - '''Base class for TOSCA elements.''' - - SECTIONS = (DERIVED_FROM, PROPERTIES, ATTRIBUTES, REQUIREMENTS, - INTERFACES, CAPABILITIES, TYPE, ARTIFACTS) = \ - ('derived_from', 'properties', 'attributes', 'requirements', - 'interfaces', 'capabilities', 'type', 'artifacts') - - '''TOSCA definition file.''' - TOSCA_DEF_FILE = os.path.join( - os.path.dirname(os.path.abspath(__file__)), - "TOSCA_definition_1_0.yaml") - - loader = toscaparser.utils.yamlparser.load_yaml - - TOSCA_DEF = loader(TOSCA_DEF_FILE) - - RELATIONSHIP_TYPE = (DEPENDSON, HOSTEDON, CONNECTSTO, ATTACHESTO, - LINKSTO, BINDSTO) = \ - ('tosca.relationships.DependsOn', - 'tosca.relationships.HostedOn', - 'tosca.relationships.ConnectsTo', - 'tosca.relationships.AttachesTo', - 'tosca.relationships.network.LinksTo', - 'tosca.relationships.network.BindsTo') - - NODE_PREFIX = 'tosca.nodes.' - RELATIONSHIP_PREFIX = 'tosca.relationships.' - CAPABILITY_PREFIX = 'tosca.capabilities.' - INTERFACE_PREFIX = 'tosca.interfaces.' - ARTIFACT_PREFIX = 'tosca.artifacts.' - POLICY_PREFIX = 'tosca.policies.' - # currently the data types are defined only for network - # but may have changes in the future. - DATATYPE_PREFIX = 'tosca.datatypes.network.' - TOSCA = 'tosca' - - def derived_from(self, defs): - '''Return a type this type is derived from.''' - return self.entity_value(defs, 'derived_from') - - def is_derived_from(self, type_str): - '''Check if object inherits from the given type. - - Returns true if this object is derived from 'type_str'. - False otherwise. - ''' - if not self.type: - return False - elif self.type == type_str: - return True - elif self.parent_type: - return self.parent_type.is_derived_from(type_str) - else: - return False - - def entity_value(self, defs, key): - if key in defs: - return defs[key] - - def get_value(self, ndtype, defs=None, parent=None): - value = None - if defs is None: - if not hasattr(self, 'defs'): - return - defs = self.defs - if ndtype in defs: - value = defs[ndtype] - if parent and not value: - p = self.parent_type - while value is None: - # check parent node - if not p: - break - if p and p.type == 'tosca.nodes.Root': - break - value = p.get_value(ndtype) - p = p.parent_type - return value - - def get_definition(self, ndtype): - value = None - defs = self.defs - if ndtype in defs: - value = defs[ndtype] - p = self.parent_type - if p: - inherited = p.get_definition(ndtype) - if inherited: - inherited = dict(inherited) - if not value: - value = inherited - else: - inherited.update(value) - value.update(inherited) - return value |