³ò
…³ÅFc           @   s”   d  d k  Z  d  d k Z d  d k Z d  d k l Z d  d k l Z d Z d Z d Z d d d „  ƒ  YZ d	 „  Z	 e
 d
 j o e ƒ  i ƒ  n d S(   iÿÿÿÿN(   t   PackageGroup(   t   Packages   msm.confs   group:s   package:t   PackageConfigc           B   s,   e  Z d  „  Z d „  Z d „  Z d „  Z RS(   c         C   sJ   d |  _  d |  _ d  |  _ g  |  _ h  |  _ h  |  _ d } |  i ƒ  d  S(   Ns   The Me Software Mapt    (   t   namet   descriptiont   Nonet   hostt   packageGroupListt   packageGroupMapt
   packageMapt
   readConfig(   t   selft   path(    (    s7   /home/leonardr/public_html/cgi-bin/msm/PackageConfig.pyt   __init__   s    						c      
   C   sZ  t  i i t ƒ o t t ƒ } nM xI t i D]> } t  i i | t ƒ } t  i i | ƒ o t | ƒ } q- q- W|  } d } x\| i ƒ  D]N} | d d j o7| t t	 ƒ  t	 j oI t
 | t t	 ƒ d !ƒ } d } |  i i | ƒ | |  i | i <d  } qÖ| t t ƒ  t j o3 t | t t ƒ d !ƒ } d } | |  i | i <qÖ| pl t i | d ƒ } | d j o3 t i | d  d d ƒ \ }	 }
 t | |	 |
 ƒ qÒ| i | | _ d } qÖ| i | | _ d } qˆ qˆ WxU |  i i ƒ  D]D } x; | i ƒ  D]- } |  i | } | i | ƒ | i | ƒ qýWqêWx! |  i D] } | i i t ƒ q<Wd  S(   Ni    t   #iÿÿÿÿt   :i   (   t   osR   t   existst   CONFIGt   opent   syst   joint	   readlinest   lent   GROUP_SIGNIFIERR    R   t   appendR	   R   R   t   PACKAGE_SIGNIFIERR   R
   t   stringt   findt   splitt   setattrR   t   valuest   getGroupNamest
   addPackaget   addGroupt   packagest   sortt
   cmpPackage(   R   t   fileR   t   pt   curObjt   startedDescriptiont   linet   packaget   iR   t   valuet	   groupNamet   group(    (    s7   /home/leonardr/public_html/cgi-bin/msm/PackageConfig.pyR      sR    
  

  
 c         C   s   t  |  d d ƒ S(   Nt   footerR   (   t   getattr(   R   (    (    s7   /home/leonardr/public_html/cgi-bin/msm/PackageConfig.pyt	   getFooterL   s    c         C   s"   x |  i  D] } | i ƒ  q
 Wd  S(   N(   R   t   selfTest(   R   R0   (    (    s7   /home/leonardr/public_html/cgi-bin/msm/PackageConfig.pyR4   O   s    
 (   t   __name__t
   __module__R   R   R3   R4   (    (    (    s7   /home/leonardr/public_html/cgi-bin/msm/PackageConfig.pyR      s   		0	c         C   s%   t  t i |  i ƒ t i | i ƒ ƒ S(   s<   Compare two packages alphabetically by case-insensitive name(   t   cmpR   t   lowerR   (   t   at   b(    (    s7   /home/leonardr/public_html/cgi-bin/msm/PackageConfig.pyR&   S   s    t   __main__(    (   R   R   R   R    R   R   R   R   R   R&   R5   R4   (    (    (    s7   /home/leonardr/public_html/cgi-bin/msm/PackageConfig.pys   <module>   s   D	