Ignore:
Timestamp:
04/16/06 19:45:21 (9 years ago)
Author:
xi
Message:

Refactor resolver.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • pyyaml/trunk/lib/yaml/emitter.py

    r136 r137  
    461461            if self.style is None: 
    462462                self.style = self.choose_scalar_style() 
    463             if self.style == '': 
     463            if ((not self.canonical or tag is None) and 
     464                ((self.style == '' and self.event.implicit[0]) 
     465                        or (self.style != '' and self.event.implicit[1]))): 
    464466                self.prepared_tag = None 
    465467                return 
    466             if self.event.implicit and not tag: 
     468            if self.event.implicit[0] and not tag: 
    467469                tag = u'!' 
    468470                self.prepared_tag = None 
     471        else: 
     472            if (not self.canonical or tag is None) and self.event.implicit: 
     473                self.prepared_tag = None 
     474                return 
    469475        if not tag: 
    470             self.prepared_tag = None 
    471             return 
     476            raise EmitterError("tag is not specified") 
    472477        if self.prepared_tag is None: 
    473478            self.prepared_tag = self.prepare_tag(tag) 
     
    481486        if self.event.style == '"' or self.canonical: 
    482487            return '"' 
    483         if not self.event.style and self.event.implicit: 
     488        if not self.event.style and self.event.implicit[0]: 
    484489            if (not (self.simple_key_context and 
    485490                    (self.analysis.empty or self.analysis.multiline)) 
Note: See TracChangeset for help on using the changeset viewer.