MINI MINI MANI MO
ó
o‘P\c           @   sÒ   d  Z  d d l Z d d l Z y d d l m Z Wn! e k
 rU d d l m Z n Xd d l Z d d l Z d d l	 Z	 d d l
 Z
 d d l m Z d „  Z
 d d d „  ƒ  YZ d	 „  Z d
 d
 d „  ƒ  YZ d S(   sU   
Utilities for dealing with the compilation of modules and creation
of module tress.
iÿÿÿÿN(   t   getstatusoutputi   (   t   defaultsc         C   s@   t  j d |  ƒ } t | ƒ d k r8 |  d j ƒ  r8 t St Sd S(   s'   Check that a module name is valid.
    s   [^a-zA-Z0-9_\-\.]i    N(   t   ret   findallt   lent   isalphat   Truet   False(   t   modnamet   m(    (    s5   /usr/lib64/python2.7/site-packages/sepolgen/module.pyt
   is_valid_name(   s    "t
   ModuleTreec           B   sS   e  Z d  „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d d „ Z
 RS(	   c         C   s   | |  _  d  |  _ d  S(   N(   R   t   Nonet   dirname(   t   selfR   (    (    s5   /usr/lib64/python2.7/site-packages/sepolgen/module.pyt   __init__2   s    	c         C   s   |  j  S(   N(   R
   (   R   (    (    s5   /usr/lib64/python2.7/site-packages/sepolgen/module.pyt   dir_name6   s    c         C   s   |  j  d |  j d S(   Nt   /s   .te(   R
   R   (   R   (    (    s5   /usr/lib64/python2.7/site-packages/sepolgen/module.pyt   te_name9   s    c         C   s   |  j  d |  j d S(   NR   s   .fc(   R
   R   (   R   (    (    s5   /usr/lib64/python2.7/site-packages/sepolgen/module.pyt   fc_name<