Ñò
½i|Oc           @   sÄ   d  d k  Z  d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d d d	 „ Z	 d
 „  Z
 d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d d „ Z d „  Z d „  Z d S(   iÿÿÿÿNc         C   s^   | } x< |  d  j	 o. |  d | o d | n d } |  d }  q	 Wt d | d | ‚ d  S(   Ni   t   /t    i    s
   error in 's   ': (   t   Nonet	   Exception(   t
   xmlContextt   subsectionNamet   msgt   fileName(    (    s   scripts/common/items/_xml.pyt   raiseWrongXml   s      c         C   s   t  |  d d | ƒ d  S(   NR   s#   subsection '%s' is missing or wrong(   R   (   R   R   (    (    s   scripts/common/items/_xml.pyt   raiseWrongSection   s    c         C   sC   | | } | d  j o" t |  | o | n | i ƒ n | i ƒ  S(   N(   R   R	   t   namet   items(   t   xmlCtxt   sectionR   t
   subsection(    (    s   scripts/common/items/_xml.pyt   getChildren   s    
"c         C   s=   | | } | d  j o" t |  | o | n | i ƒ n | S(   N(   R   R	   R
   (   R   R   R   R   (    (    s   scripts/common/items/_xml.pyt   getSubsection   s    
"c         C   s@   | | } | d  j o" t |  | o | n | i ƒ n | i S(   N(   R   R	   R
   t   asString(   R   R   R   R   (    (    s   scripts/common/items/_xml.pyt
   readString$   s    
"c         C   s<   | i  | ƒ } | p" t |  | o | n | i ƒ n | S(   N(   R   R	   R
   (   R   R   R   t   v(    (    s   scripts/common/items/_xml.pyt   readNonEmptyString,   s    "c         C   s@   | | } | d  j o" t |  | o | n | i ƒ n | i S(   N(   R   R	   R
   t   asBool(   R   R   R   R   (    (    s   scripts/common/items/_xml.pyt   readBool3   s    
"c         C   s¡   d } | i  | | ƒ } | | j o" t |  | o | n | i ƒ n | d  j	 o | | j  p | d  j	 o/ | | j o" t |  | o | n | i ƒ n | S(   Nië2¤ø(   t   readIntR	   R
   R   (   R   R   R   t   minValt   maxValt   wrongValR   (    (    s   scripts/common/items/_xml.pyR   ;   s    "4"c         C   sO   d } | i  | | ƒ } | | d j  o" t |  | o | n | i ƒ n | S(   Ng    €„.Ág      ð?(   t	   readFloatR	   R
   (   R   R   R   R   R   (    (    s   scripts/common/items/_xml.pyR   E   s
    "c         C   sE   | i  | d ƒ } | d j o" t |  | o | n | i ƒ n | S(   Ng    €„.Ág        (   R   R	   R
   (   R   R   R   R   (    (    s   scripts/common/items/_xml.pyt   readPositiveFloatM   s    "c         C   sE   | i  | d ƒ } | d j  o" t |  | o | n | i ƒ n | S(   Ng    €„.Ág        (   R   R	   R
   (   R   R   R   R   (    (    s   scripts/common/items/_xml.pyt   readNonNegativeFloatT   s    "c         C   sV   | i  | d ƒ } d | j o
 d j n p" t |  | o | n | i ƒ n | S(   Ng    €„.Ág        g      ð?(   R   R	   R
   (   R   R   R   R   (    (    s   scripts/common/items/_xml.pyt   readFraction\   s    "c         C   sW   d } | i  | | ƒ } | d | d d j  o" t |  | o | n | i ƒ n | S(   Ng    €„.Ái    g      ð?(   g    €„.Ág    €„.Á(   t   readVector2R	   R
   (   R   R   R   R   R   (    (    s   scripts/common/items/_xml.pyR   c   s
    "c         C   s^   d } | i  | | ƒ } | i d j p | i d j o" t |  | o | n | i ƒ n | S(   Ng    €„.Ág        (   g    €„.Ág    €„.Á(   R   t   xt   yR	   R
   (   R   R   R   R   R   (    (    s   scripts/common/items/_xml.pyt   readPositiveVector2k   s
     "c         C   sW   d } | i  | | ƒ } | d | d d j  o" t |  | o | n | i ƒ n | S(   Ng    €„.Ái    g      ð?(   g    €„.Ág    €„.Ág    €„.Á(   t   readVector3R	   R
   (   R   R   R   R   R   (    (    s   scripts/common/items/_xml.pyR#   s   s
    "c         C   s•   t  |  | | ƒ i i ƒ  } t | ƒ | j o t |  | d | ƒ n y t t t | ƒ ƒ SWn1 t j
 o% t	 |  | o | n | i
 ƒ n Xd  S(   Ns   %d floats expected(   R   R   t   splitt   lenR   t   tuplet   mapt   floatR   R	   R
   (   R   R   R   t   countt   strings(    (    s   scripts/common/items/_xml.pyt   readTupleOfFloats{   s     c         C   s¢   t  |  | | ƒ i i ƒ  } | d  j	 o+ t | ƒ | j o t |  | d | ƒ n y t t t | ƒ ƒ SWn1 t	 j
 o% t
 |  | o | n | i ƒ n Xd  S(   Ns   %d ints expected(   R   R   R$   R   R%   R   R&   R'   t   intR   R	   R
   (   R   R   R   R)   R*   (    (    s   scripts/common/items/_xml.pyt   readTupleOfInts…   s      c         C   sH   | | d d  j	 o d t |  | | d ƒ f St |  | | d ƒ d f S(   Ns   /goldi    (   R   R   (   R   R   R   (    (    s   scripts/common/items/_xml.pyt	   readPrice“   s    c         C   s|   t  |  | | ƒ i i ƒ  } y) | d t | d ƒ t | d ƒ f SWn1 t j
 o% t |  | o | n | i ƒ n Xd  S(   Ni    i   i   (   R   R   R$   R,   R   R	   R
   (   R   R   R   R*   (    (    s   scripts/common/items/_xml.pyt   readIcon�   s
     )(   t   ResMgrR   R	   R   R   R   R   R   R   R   R   R   R   R   R   R"   R#   R+   R-   R.   R/   (    (    (    s   scripts/common/items/_xml.pyt   <module>   s&   							
								
	
