Changeset 130 for pyyaml/trunk/lib/yaml/scanner.py
- Timestamp:
- 04/03/06 14:20:25 (7 years ago)
- File:
-
- 1 edited
-
pyyaml/trunk/lib/yaml/scanner.py (modified) (10 diffs)
Legend:
- Unmodified
- Added
- Removed
-
pyyaml/trunk/lib/yaml/scanner.py
r118 r130 380 380 mark = self.reader.get_mark() 381 381 382 # Add STREAM-END. 383 self.tokens.append(StreamStartToken(mark, mark)) 382 # Add STREAM-START. 383 self.tokens.append(StreamStartToken(mark, mark, 384 encoding=self.reader.encoding)) 384 385 385 386 … … 639 640 640 641 def fetch_literal(self): 641 self.fetch_block_scalar( folded=False)642 self.fetch_block_scalar(style='|') 642 643 643 644 def fetch_folded(self): 644 self.fetch_block_scalar( folded=True)645 646 def fetch_block_scalar(self, folded):645 self.fetch_block_scalar(style='>') 646 647 def fetch_block_scalar(self, style): 647 648 648 649 # A simple key may follow a block scalar. … … 653 654 654 655 # Scan and add SCALAR. 655 self.tokens.append(self.scan_block_scalar( folded))656 self.tokens.append(self.scan_block_scalar(style)) 656 657 657 658 def fetch_single(self): 658 self.fetch_flow_scalar( double=False)659 self.fetch_flow_scalar(style='\'') 659 660 660 661 def fetch_double(self): 661 self.fetch_flow_scalar( double=True)662 663 def fetch_flow_scalar(self, double):662 self.fetch_flow_scalar(style='"') 663 664 def fetch_flow_scalar(self, style): 664 665 665 666 # A flow scalar could be a simple key. … … 670 671 671 672 # Scan and add SCALAR. 672 self.tokens.append(self.scan_flow_scalar( double))673 self.tokens.append(self.scan_flow_scalar(style)) 673 674 674 675 def fetch_plain(self): … … 987 988 return TagToken(value, start_mark, end_mark) 988 989 989 def scan_block_scalar(self, folded): 990 # See the specification for details. 990 def scan_block_scalar(self, style): 991 # See the specification for details. 992 993 if style == '>': 994 folded = True 995 else: 996 folded = False 991 997 992 998 chunks = [] … … 1022 1028 breaks, end_mark = self.scan_block_scalar_breaks(indent) 1023 1029 if self.reader.column == indent and self.reader.peek() != u'\0': 1030 1024 1031 # Unfortunately, folding rules are ambiguous. 1025 1032 # … … 1054 1061 1055 1062 # We are done. 1056 return ScalarToken(u''.join(chunks), False, start_mark, end_mark) 1063 return ScalarToken(u''.join(chunks), False, start_mark, end_mark, 1064 style) 1057 1065 1058 1066 def scan_block_scalar_indicators(self, start_mark): … … 1138 1146 return chunks, end_mark 1139 1147 1140 def scan_flow_scalar(self, double):1148 def scan_flow_scalar(self, style): 1141 1149 # See the specification for details. 1142 1150 # Note that we loose indentation rules for quoted scalars. Quoted … … 1145 1153 # restrictive then the specification requires. We only need to check 1146 1154 # that document separators are not included in scalars. 1155 if style == '"': 1156 double = True 1157 else: 1158 double = False 1147 1159 chunks = [] 1148 1160 start_mark = self.reader.get_mark() … … 1155 1167 self.reader.forward() 1156 1168 end_mark = self.reader.get_mark() 1157 return ScalarToken(u''.join(chunks), False, start_mark, end_mark) 1169 return ScalarToken(u''.join(chunks), False, start_mark, end_mark, 1170 style) 1158 1171 1159 1172 ESCAPE_REPLACEMENTS = {
Note: See TracChangeset
for help on using the changeset viewer.
