ó
|£*^c           @   sƒ   d  Z  d Z d d g Z d d l Z d d l m Z e d d d	 ƒd
 d „ ƒ Z e d d d ƒd „  ƒ Z d „  Z	 d „  Z
 d S(   s	  
****
YAML
****
Read and write NetworkX graphs in YAML format.

"YAML is a data serialization format designed for human readability 
and interaction with scripting languages."
See http://www.yaml.org for documentation.

Format
------
http://pyyaml.org/wiki/PyYAML

s   Aric Hagberg (hagberg@lanl.gov)t	   read_yamlt
   write_yamliÿÿÿÿN(   t	   open_filei   t   modet   ws   UTF-8c         K   sG   y d d l  } Wn t k
 r/ t d ƒ ‚ n X| j |  | | � d S(   sT  Write graph G in YAML format to path. 

    YAML is a data serialization format designed for human readability 
    and interaction with scripting languages [1]_.

    Parameters
    ----------
    G : graph
       A NetworkX graph
    path : file or string
       File or filename to write. 
       Filenames ending in .gz or .bz2 will be compressed.
    encoding: string, optional
       Specify which encoding to use when writing file.

    Examples
    --------
    >>> G=nx.path_graph(4)
    >>> nx.write_yaml(G,'test.yaml')

    References
    ----------
    .. [1] http://www.yaml.org
    iÿÿÿÿNs0   write_yaml() requires PyYAML: http://pyyaml.org/(   t   yamlt   ImportErrort   dump(   t   Gt   patht   encodingt   kwdsR   (    (    sn   /home/gitlab-runner/builds/8480fa44/0/bergerc/fluidmanager-web/art-framework/bin/networkx/readwrite/nx_yaml.pyR      s
    i    t   rc         C   sC   y d d l  } Wn t k
 r/ t d ƒ ‚ n X| j |  ƒ } | S(   s-  Read graph in YAML format from path.

    YAML is a data serialization format designed for human readability 
    and interaction with scripting languages [1]_.

    Parameters
    ----------
    path : file or string
       File or filename to read.  Filenames ending in .gz or .bz2 
       will be uncompressed.

    Returns
    -------
    G : NetworkX graph

    Examples
    --------
    >>> G=nx.path_graph(4)
    >>> nx.write_yaml(G,'test.yaml')
    >>> G=nx.read_yaml('test.yaml')
 
    References
    ----------
    .. [1] http://www.yaml.org

    iÿÿÿÿNs/   read_yaml() requires PyYAML: http://pyyaml.org/(   R   R   t   load(   R	   R   R   (    (    sn   /home/gitlab-runner/builds/8480fa44/0/bergerc/fluidmanager-web/art-framework/bin/networkx/readwrite/nx_yaml.pyR    =   s    c         C   s:   d d l  m } y d d  l } Wn | d ƒ ‚ n Xd  S(   Niÿÿÿÿ(   t   SkipTests   PyYAML not available(   t   noseR   R   (   t   moduleR   R   (    (    sn   /home/gitlab-runner/builds/8480fa44/0/bergerc/fluidmanager-web/art-framework/bin/networkx/readwrite/nx_yaml.pyt   setup_modulec   s
    c         C   s   d d  l  } | j d ƒ d  S(   Niÿÿÿÿs	   test.yaml(   t   ost   unlink(   R   R   (    (    sn   /home/gitlab-runner/builds/8480fa44/0/bergerc/fluidmanager-web/art-framework/bin/networkx/readwrite/nx_yaml.pyt   teardown_modulek   s    (   t   __doc__t
   __author__t   __all__t   networkxt   nxt   networkx.utilsR   R   R    R   R   (    (    (    sn   /home/gitlab-runner/builds/8480fa44/0/bergerc/fluidmanager-web/art-framework/bin/networkx/readwrite/nx_yaml.pyt   <module>   s   &	