Esempio n. 1
0
 def represent_bool(yaml_self, data):
     if data:
         value = u'yes'
     else:
         value = u'no'
     return yaml_self.represent_scalar(u'tag:yaml.org,2002:bool',
                                       text_type(value))
Esempio n. 2
0
 def determine_block_hints(self, text):
     hints = u''
     if text:
         if text[0] in u' \n\x85\u2028\u2029':
             hints += text_type(self.best_indent)
         if text[-1] not in u'\n\x85\u2028\u2029':
             hints += u'-'
         elif len(text) == 1 or text[-2] in u'\n\x85\u2028\u2029':
             hints += u'+'
     return hints
Esempio n. 3
0
 def determine_block_hints(self, text):
     hints = u''
     if text:
         if text[0] in u' \n\x85\u2028\u2029':
             hints += text_type(self.best_indent)
         if text[-1] not in u'\n\x85\u2028\u2029':
             hints += u'-'
         elif len(text) == 1 or text[-2] in u'\n\x85\u2028\u2029':
             hints += u'+'
     return hints
Esempio n. 4
0
 def represent_data(self, data):
     # type: (Any) -> Any
     if self.ignore_aliases(data):
         self.alias_key = None
     else:
         self.alias_key = id(data)
     if self.alias_key is not None:
         if self.alias_key in self.represented_objects:
             node = self.represented_objects[self.alias_key]
             # if node is None:
             #     raise RepresenterError(
             #          "recursive objects are not allowed: %r" % data)
             return node
         # self.represented_objects[alias_key] = None
         self.object_keeper.append(data)
     data_types = type(data).__mro__
     if PY2:
         # if type(data) is types.InstanceType:
         if isinstance(data, types.InstanceType):
             data_types = get_classobj_bases(data.__class__) + \
                 list(data_types)
     if data_types[0] in self.yaml_representers:
         node = self.yaml_representers[data_types[0]](self, data)
     else:
         for data_type in data_types:
             if data_type in self.yaml_multi_representers:
                 node = self.yaml_multi_representers[data_type](self, data)
                 break
         else:
             if None in self.yaml_multi_representers:
                 node = self.yaml_multi_representers[None](self, data)
             elif None in self.yaml_representers:
                 node = self.yaml_representers[None](self, data)
             else:
                 node = ScalarNode(None, text_type(data))
     # if alias_key is not None:
     #     self.represented_objects[alias_key] = node
     return node
Esempio n. 5
0
def test_marks(marks_filename, verbose=False):
    with open(marks_filename, 'r' if PY3 else 'rb') as fp0:
        inputs = fp0.read().split('---\n')[1:]
    for input in inputs:
        index = 0
        line = 0
        column = 0
        while input[index] != '*':
            if input[index] == '\n':
                line += 1
                column = 0
            else:
                column += 1
            index += 1
        mark = yaml.Mark(marks_filename, index, line, column, text_type(input), index)
        snippet = mark.get_snippet(indent=2, max_length=79)
        if verbose:
            print(snippet)
        assert isinstance(snippet, str), type(snippet)
        assert snippet.count('\n') == 1, snippet.count('\n')
        data, pointer = snippet.split('\n')
        assert len(data) < 82, len(data)
        assert data[len(pointer) - 1] == '*', data[len(pointer) - 1]
Esempio n. 6
0
 def represent_data(self, data):
     if self.ignore_aliases(data):
         self.alias_key = None
     else:
         self.alias_key = id(data)
     if self.alias_key is not None:
         if self.alias_key in self.represented_objects:
             node = self.represented_objects[self.alias_key]
             # if node is None:
             #     raise RepresenterError(
             #          "recursive objects are not allowed: %r" % data)
             return node
         # self.represented_objects[alias_key] = None
         self.object_keeper.append(data)
     data_types = type(data).__mro__
     if PY2:
         # if type(data) is types.InstanceType:
         if isinstance(data, types.InstanceType):
             data_types = self.get_classobj_bases(data.__class__) + \
                 list(data_types)
     if data_types[0] in self.yaml_representers:
         node = self.yaml_representers[data_types[0]](self, data)
     else:
         for data_type in data_types:
             if data_type in self.yaml_multi_representers:
                 node = self.yaml_multi_representers[data_type](self, data)
                 break
         else:
             if None in self.yaml_multi_representers:
                 node = self.yaml_multi_representers[None](self, data)
             elif None in self.yaml_representers:
                 node = self.yaml_representers[None](self, data)
             else:
                 node = ScalarNode(None, text_type(data))
     # if alias_key is not None:
     #     self.represented_objects[alias_key] = node
     return node
 def represent_long(self, data):
     return self.represent_scalar(u'tag:yaml.org,2002:int',
                                  text_type(data))
Esempio n. 8
0
 def represent_int(self, data):
     # type: (Any) -> Any
     return self.represent_scalar(u'tag:yaml.org,2002:int', text_type(data))
Esempio n. 9
0
 def represent_long(self, data):
     return self.represent_scalar(u'tag:yaml.org,2002:int',
                                  text_type(data))