當前位置: 首頁>>代碼示例>>Python>>正文


Python yaml.constructor方法代碼示例

本文整理匯總了Python中yaml.constructor方法的典型用法代碼示例。如果您正苦於以下問題:Python yaml.constructor方法的具體用法?Python yaml.constructor怎麽用?Python yaml.constructor使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在yaml的用法示例。


在下文中一共展示了yaml.constructor方法的9個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的Python代碼示例。

示例1: __repr__

# 需要導入模塊: import yaml [as 別名]
# 或者: from yaml import constructor [as 別名]
def __repr__(self, config=None):
        class_name = self.__class__.__name__
        config = config or self._get_config()
        # attributes (including properties) that are in config
        attr_dict = {k: getattr(self, k) for k in dir(self) if k in config}
        # order attributes based in the order in which they appear in the constructor
        ordered_attr_pairs = []
        for arg_name in get_signature_args(self.__init__):
            try:
                ordered_attr_pairs.append((arg_name, attr_dict.pop(arg_name)))
            except KeyError:
                pass
        # add remaining attributes that doesn't appear in the constructor
        ordered_attr_pairs += list(attr_dict.items())
        kwargs = ', '.join(['%s=%r' % (k, v) for (k, v) in ordered_attr_pairs])
        return "%s(%s)" % (class_name, kwargs) 
開發者ID:alexlee-gk,項目名稱:visual_dynamics,代碼行數:18,代碼來源:config.py

示例2: construct_mapping

# 需要導入模塊: import yaml [as 別名]
# 或者: from yaml import constructor [as 別名]
def construct_mapping(self, node, deep=False):
        if isinstance(node, yaml.MappingNode):
            self.flatten_mapping(node)
        else:
            raise yaml.constructor.ConstructorError(None, None,
                'expected a mapping node, but found %s' % node.id, node.start_mark)

        mapping = OrderedDict()
        for key_node, value_node in node.value:
            key = self.construct_object(key_node, deep=deep)
            try:
                hash(key)
            except TypeError as exc:
                raise yaml.constructor.ConstructorError('while constructing a mapping',
                    node.start_mark, 'found unacceptable key (%s)' % exc, key_node.start_mark)
            value = self.construct_object(value_node, deep=deep)
            mapping[key] = value
        return mapping 
開發者ID:architecture-building-systems,項目名稱:CityEnergyAnalyst,代碼行數:20,代碼來源:yaml_ordered_dict.py

示例3: initialize

# 需要導入模塊: import yaml [as 別名]
# 或者: from yaml import constructor [as 別名]
def initialize():
    """
    Initialize the configuration system by installing YAML handlers.
    Automatically done on first call to load() specified in this file.
    """
    global is_initialized

    # Add the custom multi-constructor
    yaml.add_multi_constructor('!obj:', multi_constructor_obj)
    yaml.add_multi_constructor('!pkl:', multi_constructor_pkl)
    yaml.add_multi_constructor('!import:', multi_constructor_import)

    yaml.add_constructor('!import', constructor_import)
    yaml.add_constructor("!float", constructor_float)

    pattern = re.compile(SCIENTIFIC_NOTATION_REGEXP)
    yaml.add_implicit_resolver('!float', pattern)

    is_initialized = True


###############################################################################
# Callbacks used by PyYAML 
開發者ID:zchengquan,項目名稱:TextDetector,代碼行數:25,代碼來源:yaml_parse.py

示例4: construct_mapping

# 需要導入模塊: import yaml [as 別名]
# 或者: from yaml import constructor [as 別名]
def construct_mapping(self, node, deep=False):
        if isinstance(node, yaml.MappingNode):
            self.flatten_mapping(node)
        else:
            raise yaml.constructor.ConstructorError(None, None,
                                                    'expected a mapping node, but found %s' %
                                                    node.id, node.start_mark)

        mapping = OrderedDict()
        for key_node, value_node in node.value:
            key = self.construct_object(key_node, deep=deep)
            try:
                hash(key)
            except TypeError as exc:
                raise yaml.constructor.ConstructorError('while constructing a mapping',
                                                        node.start_mark,
                                                        'found unacceptable key (%s)' % exc,
                                                        key_node.start_mark)
            value = self.construct_object(value_node, deep=deep)
            mapping[key] = value
        return mapping 
開發者ID:sisl,項目名稱:MADRL,代碼行數:23,代碼來源:curriculum.py

示例5: testIfTableIsAMap

# 需要導入模塊: import yaml [as 別名]
# 或者: from yaml import constructor [as 別名]
def testIfTableIsAMap(self):

        from yaml.constructor import ConstructorError

        try:
            from yaml import CLoader as Loader
        except ImportError:
            from yaml import Loader

        # Credit https://gist.github.com/pypt/94d747fe5180851196eb
        def no_duplicates_constructor(loader, node, deep=False):
            """Check for duplicate keys."""

            mapping = {}
            for key_node, value_node in node.value:
                key = loader.construct_object(key_node, deep=deep)
                value = loader.construct_object(value_node, deep=deep)
                if key in mapping:
                    raise ConstructorError(
                        "while constructing a mapping", node.start_mark,
                        "found duplicate key (%s)" % key, key_node.start_mark)
                mapping[key] = value

            return loader.construct_mapping(node, deep)

        yaml.add_constructor(yaml.resolver.BaseResolver.DEFAULT_MAPPING_TAG, no_duplicates_constructor)

        file_path = '../translationtable/GLOBAL_TERMS.yaml'
        if os.path.exists(os.path.join(os.path.dirname(__file__), file_path)):
            tt_file = open(os.path.join(os.path.dirname(__file__), file_path), 'r')
            try:
                translation_table = yaml.safe_load(tt_file)
            except yaml.constructor.ConstructorError as e:
                tt_file.close()
                self.assertTrue(False)
                print(e)
            tt_file.close() 
開發者ID:monarch-initiative,項目名稱:dipper,代碼行數:39,代碼來源:test_trtable.py

示例6: construct_mapping

# 需要導入模塊: import yaml [as 別名]
# 或者: from yaml import constructor [as 別名]
def construct_mapping(node, deep=False):
    # This is a modified version of yaml.BaseConstructor.construct_mapping
    # in which a repeated key raises a ConstructorError
    if not isinstance(node, yaml.nodes.MappingNode):
        const = yaml.constructor
        message = "expected a mapping node, but found"
        raise const.ConstructorError(None, None,
                                     "%s %s " % (message, node.id),
                                     node.start_mark)
    mapping = {}
    constructor = yaml.constructor.BaseConstructor()
    for key_node, value_node in node.value:
        key = constructor.construct_object(key_node, deep=False)
        try:
            hash(key)
        except TypeError as exc:
            const = yaml.constructor
            reraise_as(const.ConstructorError("while constructing a mapping",
                                              node.start_mark,
                                              "found unacceptable key (%s)" %
                                              (exc, key_node.start_mark)))
        if key in mapping:
            const = yaml.constructor
            raise const.ConstructorError("while constructing a mapping",
                                         node.start_mark,
                                         "found duplicate key (%s)" % key)
        value = constructor.construct_object(value_node, deep=False)
        mapping[key] = value
    return mapping 
開發者ID:zchengquan,項目名稱:TextDetector,代碼行數:31,代碼來源:yaml_parse.py

示例7: constructor

# 需要導入模塊: import yaml [as 別名]
# 或者: from yaml import constructor [as 別名]
def constructor(_):
        raise NotImplementedError 
開發者ID:taverntesting,項目名稱:tavern,代碼行數:4,代碼來源:loader.py

示例8: __str__

# 需要導入模塊: import yaml [as 別名]
# 或者: from yaml import constructor [as 別名]
def __str__(self):
        return "<Tavern YAML sentinel for {}>".format(self.constructor) 
開發者ID:taverntesting,項目名稱:tavern,代碼行數:4,代碼來源:loader.py

示例9: from_yaml

# 需要導入模塊: import yaml [as 別名]
# 或者: from yaml import constructor [as 別名]
def from_yaml(cls, loader, node):
        value = loader.construct_scalar(node)

        try:
            # See if it's already a valid value (eg, if we do `!int "2"`)
            converted = cls.constructor(value)
        except ValueError:
            # If not (eg, `!int "{int_value:d}"`)
            return cls(value)
        else:
            return converted 
開發者ID:taverntesting,項目名稱:tavern,代碼行數:13,代碼來源:loader.py


注:本文中的yaml.constructor方法示例由純淨天空整理自Github/MSDocs等開源代碼及文檔管理平台,相關代碼片段篩選自各路編程大神貢獻的開源項目,源碼版權歸原作者所有,傳播和使用請參考對應項目的License;未經允許,請勿轉載。