Ignore:
Timestamp:
02/17/06 17:39:52 (8 years ago)
Author:
xi
Message:

Working on the scanner.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/pyyaml3000/lib/yaml/reader.py

    r46 r47  
    6666        self.pointer = pointer 
    6767 
    68     def get_snippet(self, max_length=79): 
     68    def get_snippet(self, indent=4, max_length=75): 
    6969        if self.buffer is None: 
    7070            return None 
     
    8686                break 
    8787        snippet = self.buffer[start:end].encode('utf-8') 
    88         return head + snippet + tail + '\n'  \ 
    89                 + ' '*(self.pointer-start+len(head)) + '^' + '\n' 
     88        return ' '*indent + head + snippet + tail + '\n'  \ 
     89                + ' '*(indent+self.pointer-start+len(head)) + '^' 
     90 
     91    def __str__(self): 
     92        snippet = self.get_snippet() 
     93        where = "  in \"%s\", line %d, column %d"   \ 
     94                % (self.name, self.line+1, self.column+1) 
     95        if snippet is not None: 
     96            where += ":\n"+snippet 
     97        return where 
    9098 
    9199class ReaderError(YAMLError): 
     
    101109        if isinstance(self.character, str): 
    102110            return "'%s' codec can't decode byte #x%02x: %s\n"  \ 
    103                     "\tin '%s', position %d."   \ 
     111                    "  in \"%s\", position %d"    \ 
    104112                    % (self.encoding, ord(self.character), self.reason, 
    105113                            self.name, self.position) 
    106114        else: 
    107115            return "unacceptable character #x%04x: %s\n"    \ 
    108                     "\tin '%s', position %d."   \ 
     116                    "  in \"%s\", position %d"    \ 
    109117                    % (ord(self.character), self.reason, 
    110118                            self.name, self.position) 
Note: See TracChangeset for help on using the changeset viewer.