ó
Õ¼åXc           @  s  d  Z  d d l m Z d d l Z d d l Z d d l Z d d l Z d d l m Z	 d d l m
 Z
 d Z d e Z e d	 ƒ Z d
 e e ƒ d Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d S(   s   
Print report header
iÿÿÿÿ(   t   print_functionNi   (   t
   exceptions(   t	   get_rulesi2   t   =s   Modified by Emails   {0:>s   }: {1}c         C  s>   t  j r" t  j |  t  j ƒ } n t  j |  ƒ } t  j | ƒ S(   N(   t   timet   daylightt   gmtimet   altzonet	   localtimet   asctime(   t	   timestampt   adjusted(    (    sx   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/devel/pytest/lib/python2.7/site-packages/enforcer/header.pyt   pretty_timestamp*   s    	c         C  sM   y t  j t j |  d ƒ ƒ SWn) t k
 rH t j d j |  ƒ ƒ ‚ n Xd  S(   Ns   %Y-%m-%dT%H:%M:%S.%fZs*   The time value ({0}) cannot be reformatted(   t   calendart   timegmR   t   strptimet
   ValueErrort   ext   Unrecognized3339TimeWarningt   format(   t   tval(    (    sx   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/devel/pytest/lib/python2.7/site-packages/enforcer/header.pyt   rfc3339_to_timestamp2   s
    c         C  s   t  j |  | ƒ S(   N(   t   LINE_FMTR   (   t   labelt   data(    (    sx   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/devel/pytest/lib/python2.7/site-packages/enforcer/header.pyt
   build_line:   s    c         C  s*   | | k r& |  j  | | | f ƒ n  d  S(   N(   t   append(   t   outt   infoR   t   key(    (    sx   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/devel/pytest/lib/python2.7/site-packages/enforcer/header.pyt   optional_append>   s    c         C  sl   d |  k rd y! d t  t |  d ƒ ƒ f g SWqh t j k
 r` } t j | ƒ d |  d f g SXn g  Sd  S(   Nt   modifiedTimet   Modified(   R   R   R   R   t   express(   R   t   warn(    (    sx   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/devel/pytest/lib/python2.7/site-packages/enforcer/header.pyt   build_google_modtimeC   s    c         C  sI   g  } d |  k rE |  d } t  | | d d ƒ t  | | d d ƒ n  | S(   Nt   lastModifyingUsers   Modified by Usert   displayNames   Modified by Emailt   emailAddress(   R   (   R   R   t   lastmod(    (    sx   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/devel/pytest/lib/python2.7/site-packages/enforcer/header.pyt   build_google_lastmodO   s    
c         C  s¶   g  } d |  k r² t  |  d ƒ d k } | r= d } d } n d } d } xf |  d D]W } t | | d j | | ƒ d ƒ t | | d j | | ƒ d ƒ | rT | d 7} qT qT Wn  | S(	   Nt   ownersi   t   #t    s   Owner Name{0}{1}R%   s   Owner Email{0}{1}R&   (   t   lenR   R   (   R   R   t   multit   sept   cntt   owner(    (    sx   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/devel/pytest/lib/python2.7/site-packages/enforcer/header.pyt   build_google_ownersX   s     	c         C  s—   g  } | j  d |  d f ƒ t | |  d d ƒ | j  d |  d f ƒ t | |  d d ƒ | j t |  ƒ ƒ | j t |  ƒ ƒ | j t |  ƒ ƒ | S(	   Nt   Namet   namet   Versiont   versiont   Idt   idt   Descriptiont   description(   R   R   t   extendR#   R(   R1   (   R   R   (    (    sx   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/devel/pytest/lib/python2.7/site-packages/enforcer/header.pyt   build_googleinfom   s    c         C  s>   g  } | j  d |  d f ƒ | j  d t |  d ƒ f ƒ | S(   Nt   Patht   pathR    t   mtime(   R   R   (   R   R   (    (    sx   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/devel/pytest/lib/python2.7/site-packages/enforcer/header.pyt   build_fileinfoy   s    c         C  sa   |  \ } } g  } | j  d | f ƒ | t j k rJ | j t | ƒ ƒ n | j t | ƒ ƒ | S(   Ns   --Sheet--  Source(   R   R   t   FILE_SOURCER:   R?   R;   (   t   metainfot   typeR   R   (    (    sx   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/devel/pytest/lib/python2.7/site-packages/enforcer/header.pyt   build_metainfo€   s    c           C  s#   t  t j t d ƒ ƒ j d ƒ d S(   Nt   VERSIONs   
i    (   t   strt   pkg_resourcest   resource_stringt   __name__t   split(    (    (    sx   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/devel/pytest/lib/python2.7/site-packages/enforcer/header.pyt   get_version‹   s    c         C  se   g  } | j  d t ƒ  f ƒ | j  d t |  ƒ f ƒ | j  d t j ƒ  f ƒ | j t | ƒ ƒ | S(   Ns   Enforcer versions
   Start times	   Top level(   R   RJ   R   t   ost   getcwdR:   RC   (   t
   start_timeRA   R   (    (    sx   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/devel/pytest/lib/python2.7/site-packages/enforcer/header.pyt   build   s    c         C  s>   t  |  | ƒ } t t ƒ x | D] } t t | Œ  ƒ q  Wd  S(   N(   RN   t   printt   BREAKR   (   RM   RA   R   t   line(    (    sx   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/devel/pytest/lib/python2.7/site-packages/enforcer/header.pyt   print_headerš   s    
(   t   __doc__t
   __future__R    R   RK   RF   R   R+   R   R   R   t   BREAK_WIDTHRP   R,   t	   LABEL_LENt   reprR   R   R   R   R   R#   R(   R1   R;   R?   RC   RJ   RN   RR   (    (    (    sx   /home/kop/biz/barnett/enforcer_project/BRIEF-Script/Enforcer/devel/pytest/lib/python2.7/site-packages/enforcer/header.pyt   <module>   s0   
													
