Ignore:
Timestamp:
08/25/05 01:30:06 (9 years ago)
Author:
xi
Message:

Adding some docstrings.

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/lib/syck/loaders.py

    r22 r25  
     1""" 
     2syck.loaders is a high-level wrapper for the Syck YAML parser. 
     3Do not use it directly, use the module 'syck' instead. 
     4""" 
    15 
    26# Python 2.2 compatibility 
     
    2731 
    2832class GenericLoader(_syck.Parser): 
     33    """ 
     34    GenericLoader constructs primitive Python objects from YAML documents. 
     35    """ 
    2936 
    3037    def load(self): 
     38        """ 
     39        Loads a YAML document from the source and return a native Python 
     40        object. On EOF, returns None and set the eof attribute on. 
     41        """ 
    3142        node = self.parse() 
    3243        if self.eof: 
     
    7182 
    7283    def construct(self, node): 
     84        """Constructs a Python object by the given node.""" 
    7385        return node.value 
    7486 
    7587class Merge: 
     88    """Represents the merge key '<<'.""" 
    7689    pass 
    7790 
    7891class Default: 
     92    """Represents the default key '='.""" 
    7993    pass 
    8094 
    8195class Loader(GenericLoader): 
     96    """ 
     97    Loader constructs native Python objects from YAML documents. 
     98    """ 
    8299 
    83100    inf_value = 1e300000 
     
    109126 
    110127    def find_constructor(self, node): 
     128        """ 
     129        Returns the contructor for generating a Python object for the given 
     130        node. 
     131 
     132        The node tags are mapped to constructors by the following rule: 
     133 
     134        Tag                             Constructor 
     135        ---                             ----------- 
     136        tag:yaml.org,2002:type          construct_type 
     137        tag:python.yaml.org,2002:type   construct_python_type 
     138        x-private:type                  construct_private_type 
     139        tag:domain.tld,2002:type        construct_domain_tld_2002_type 
     140 
     141        See the method code for more details. 
     142        """ 
    111143        parts = [] 
    112144        if node.tag: 
     
    130162 
    131163    def construct(self, node): 
     164        """Constructs a Python object by the given node.""" 
    132165        if node.kind == 'map' and self.merge_key in node.value: 
    133166            self.merge_maps(node) 
     
    301334            if isinstance(state, tuple) and len(state) == 2: 
    302335                state, slotstate = state 
    303             object.__dict__.update(state) 
     336            if hasattr(object, '__dict__'): 
     337                object.__dict__.update(state) 
     338            elif state: 
     339                slotstate.update(state) 
    304340            for key, value in slotstate.items(): 
    305341                setattr(object, key, value) 
     
    349385 
    350386def parse_documents(source, Loader=Loader, **parameters): 
    351     """Iterates over 'source' and yields the root node of each document.""" 
     387    """Iterates over 'source' and yields the root 'Node' for each document.""" 
    352388    loader = Loader(source, **parameters) 
    353389    while True: 
     
    358394 
    359395def load_documents(source, Loader=Loader, **parameters): 
    360     """Iterates over 'source' and yields the root object of each document.""" 
     396    """Iterates over 'source' and yields the root object for each document.""" 
    361397    loader = Loader(source, **parameters) 
    362398    while True: 
Note: See TracChangeset for help on using the changeset viewer.