[Fusionforge-commits] r6953 - in trunk/gforge/www/scm/viewvc/lib: . vclib vclib/svn

Roland Mas lolando at libremir.placard.fr.eu.org
Fri Feb 6 10:19:51 CET 2009


Author: lolando
Date: 2009-02-06 10:19:51 +0100 (Fri, 06 Feb 2009)
New Revision: 6953

Removed:
   trunk/gforge/www/scm/viewvc/lib/accept.pyc
   trunk/gforge/www/scm/viewvc/lib/compat.pyc
   trunk/gforge/www/scm/viewvc/lib/config.pyc
   trunk/gforge/www/scm/viewvc/lib/debug.pyc
   trunk/gforge/www/scm/viewvc/lib/ezt.pyc
   trunk/gforge/www/scm/viewvc/lib/idiff.pyc
   trunk/gforge/www/scm/viewvc/lib/popen.pyc
   trunk/gforge/www/scm/viewvc/lib/sapi.pyc
   trunk/gforge/www/scm/viewvc/lib/vclib/__init__.pyc
   trunk/gforge/www/scm/viewvc/lib/vclib/svn/__init__.pyc
   trunk/gforge/www/scm/viewvc/lib/viewvc.pyc
Log:
Removed byte-compiled Python files

Deleted: trunk/gforge/www/scm/viewvc/lib/accept.pyc
===================================================================
--- trunk/gforge/www/scm/viewvc/lib/accept.pyc	2009-02-06 03:03:08 UTC (rev 6952)
+++ trunk/gforge/www/scm/viewvc/lib/accept.pyc	2009-02-06 09:19:51 UTC (rev 6953)
@@ -1,64 +0,0 @@
-mò
-ž-{Dc           @   s°   d  k  Z  d  k Z d „  Z e  i d ƒ Z e  i d ƒ Z e  i d ƒ Z d „  Z d f  d „  ƒ  YZ d e f d	 „  ƒ  YZ	 d
- f  d „  ƒ  YZ
- d e f d
- „  ƒ  YZ d „  Z
- d  S(   Nc         C   s   t  |  t ƒ  ƒ S(   s    Parse an Accept-Language header.N(   t   _parset   hdrt   _LanguageSelector(   R   (    (    t/   /opt/gforge/gforge/www/scm/viewvc/lib/accept.pyt   language   s     s   \s*([^\s;,"]+|"[^"]*")+\s*s   ;\s*([^;,"]+|"[^"]*")+\s*s   ([^\s=])\s*=\s*(.*)c         C   sï  |  p | Sn d } xÓ| t |  ƒ j  o¿t i |  | ƒ } | p
- t ƒ  ‚ n | i t	 i
- | i d ƒ ƒ ƒ } | i
- ƒ  } x2t i |  | ƒ } | p Pn | i d ƒ } | i
- ƒ  } t i | ƒ } | p q n t	 i
- | i d ƒ ƒ } | d j p
- | d j o6 y t | i d ƒ ƒ | _ Wq®t j
- o q®Xq | d j o6 y t | i d ƒ ƒ | _ Wq®t j
- o q®Xq | d j o t	 i
- | i d ƒ ƒ | _ q q W| i | ƒ |  | | d !d j o | d } q q W| S(	   Ni    i   t   qt   qsi   t   levelt   charsett   ,(   R   t   resultt   post   lent	   _re_tokent   matcht   namet   AcceptParseErrort
-   item_classt   stringt   lowert   groupt   at   endt	   _re_paramt   paramt   _re_split_paramt   pnamet   floatt   qualityt
-   ValueErrorR   R   t   append(   R   R
-   R   R   R   R   R   R   (    (    R   R    !   sJ     
-!  	
-	
-$
-t   _AcceptItemc           B   s   t  Z d „  Z d „  Z RS(   Nc         C   s(   | |  _  d |  _ d |  _ d |  _ d  S(   Nf1.0f0.0t    (   R   t   selfR   R   R   (   R!   R   (    (    R   t   __init__R   s    			c         C   s|   |  i } |  i d j o d | |  i f } n |  i d j o d | |  i f } n |  i o d | |  i f } n | S(   Nf1.0s	   %s;q=%.3ff0.0s
-   %s;level=%.3fs
-   %s;charset=%s(   R!   R   t   sR   R   R   (   R!   R#   (    (    R   t   __str__X   s    	
-(   t   __name__t
-   __module__R"   R$   (    (    (    R   R   Q   s   	t   _LanguageRangec           B   s   t  Z d „  Z RS(   Nc         C   sN   | |  i j o |  i Sn |  i d } | t | ƒ  | j o |  i Sn d S(   sH   Match the tag against self. Returns the qvalue, or None if non-matching.t   -N(   t   tagR!   R   R   R   t   None(   R!   R)   R   (    (    R   t   matchesc   s     
-(   R%   R&   R+   (    (    (    R   R'   b   s   R   c           B   s/   t  Z d  Z e Z d „  Z d „  Z d „  Z RS(   s_  Instances select an available language based on the user's request.
-
-  Languages found in the user's request are added to this object with the
-  append() method (they should be instances of _LanguageRange). After the
-  languages have been added, then the caller can use select_from() to
-  determine which user-request language(s) best matches the set of
-  available languages.
-
-  Strictly speaking, this class is pretty close for more than just
-  language matching. It has been implemented to enable q-value based
-  matching between requests and availability. Some minor tweaks may be
-  necessary, but simply using a new 'item_class' should be sufficient
-  to allow the _parse() function to construct a selector which holds
-  the appropriate item implementations (e.g. _LanguageRange is the
-  concrete _AcceptItem class that handles matching of language tags).
-  c         C   s
-   g  |  _ d  S(   N(   R!   t	   requested(   R!   (    (    R   R"   ‚   s    c         C   sw  g  } x— | D] } d } d } x\ |  i D]Q } | i  | ƒ } | d j	 o/ t
- | i ƒ | j o | } t
- | i ƒ } q) q) W| o | i | | f ƒ q
- q
- W| p | d Sn | i
- ƒ  | d \ } } | p | d Sn t
- | ƒ d j o€ | d d | j ok x! | d d | j o | d =qWxD |  i D]5 } x, | D]$ \ } } | i  | ƒ o | SqCqCWq6Wn | S(   sB  Select one of the available choices based on the request.
-
-    Note: if there isn't a match, then the first available choice is
-    considered the default. Also, if a number of matches are equally
-    relevant, then the first-requested will be used.
-
-    avail is a list of language-tag strings of available languages
-    i    f0.0iÿÿÿÿi   iþÿÿÿN(   R+   t   availR)   t   longestt   finalR!   R,   t   wantt   qvalueR*   R   R   R   t   sort(   R!   R-   R1   R+   R)   R.   R0   R/   (    (    R   t   select_from…   s>      
- #
-( 
-  
-c         C   s   |  i i | ƒ d  S(   N(   R!   R,   R   t   item(   R!   R4   (    (    R   R   Ò   s    (   R%   R&   t   __doc__R'   R   R"   R3   R   (    (    (    R   R   n   s
-    		MR   c           B   s   t  Z RS(   N(   R%   R&   (    (    (    R   R   Õ   s   c          C   s  t  d ƒ }  |  i d g ƒ d j p t ‚ |  i d d g ƒ d j p t ‚ |  i d d g ƒ d j p t ‚ t  d ƒ }  |  i d d g ƒ d j p t ‚ t  d ƒ }  |  i d g ƒ d j p t ‚ |  i d g ƒ d j p t ‚ |  i d d g ƒ d j p t ‚ |  i d d g ƒ d j p t ‚ |  i d d g ƒ d j p t ‚ |  i d	 g ƒ d	 j p t ‚ |  i d
- d g ƒ d j p t ‚ d  S(   Nt   ent   des   en, jat   jas4   fr, de;q=0.9, en-gb;q=0.7, en;q=0.6, en-gb-foo;q=0.8s	   en-gb-foot   frs   en-gbs   en-bars	   en-gb-bar(   R   R#   R3   t   AssertionError(   R#   (    (    R   t   _testØ   s     ###  ### (   t   reR   R   t   compileR
-   R   R   R    R   R'   R   t	   ExceptionR   R;   (   R   R   R   R   R   R;   R   R<   R'   R    R
-   R   (    (    R   t   ?   s   				0g
\ No newline at end of file

Deleted: trunk/gforge/www/scm/viewvc/lib/compat.pyc
===================================================================
--- trunk/gforge/www/scm/viewvc/lib/compat.pyc	2009-02-06 03:03:08 UTC (rev 6952)
+++ trunk/gforge/www/scm/viewvc/lib/compat.pyc	2009-02-06 09:19:51 UTC (rev 6953)
@@ -1,63 +0,0 @@
-mò
-ž-{Dc           @   s  d  k  Z  d  k Z d  k Z d  k Z d  k Z d  k Z d  k Z d  k Z d  k Z y
- e  i	 Z	 Wn e
- j
- o d „  Z	 n Xe e d ƒ o
- d „  Z n e i
- d ƒ Z d „  Z y
- e i Z Wn e
- j
- o d d „ Z n Xy
- e i Z Wn e
- j
- o d „  Z n Xy
- e i Z Wn+ e
- j
- o d	 „  Z d
- Z d „  Z n Xy
- e i Z Wn e
- j
- o d „  Z n Xd
- „  Z d  S(   Nc         C   sr   |  p d Sn t i } g  } xA |  i ƒ  D]3 \ } } | i | | ƒ d | t	 | ƒ ƒ ƒ q+ Wt
- i | d ƒ S(   s6   Encode a dictionary as application/x-url-form-encoded.t    t   =t   &N(   t   dictt   urllibt
-   quote_plust   quotet   keyvaluet   itemst   keyt   valuet   appendt   strt   stringt   join(   R   R   R
-   R	   R   (    (    t/   /opt/gforge/gforge/www/scm/viewvc/lib/compat.pyt	   urlencode!   s     	
- +t   strptimec         C   s   t  i |  d ƒ d  d S(   s"   Parse a CVS-style date/time value.s   %Y/%m/%d %H:%M:%Siÿÿÿÿi    N(   i    (   t   timeR   t   timestr(   R   (    (    R   t   cvs_strptime/   s     sK   ([0-9]{4})/([0-9][0-9])/([0-9][0-9]) ([0-9][0-9]):([0-9][0-9]):([0-9][0-9])c         C   sG   t  i |  ƒ } | o! t t t | i ƒ  ƒ ƒ d Sn
- t d ƒ ‚ d S(   s"   Parse a CVS-style date/time value.i    i   s   date is not in cvs formatN(   i    i   i    (   t   _re_rev_datet   matchR   t   tuplet   mapt   intt   groupst
-   ValueError(   R   R   (    (    R   R   5   s
-     !iÿ  c         C   s_   t  i i |  ƒ \ } } | o, | o% t  i i | ƒ o t | | ƒ n t  i |  | ƒ d  S(   N(	   t   ost   patht   splitt   headt   tailt   existst   makedirst   modet   mkdir(   R   R#   R   R    (    (    R   R"   C   s    "c         C   sª   |  d  j o t i ƒ  }  n t i |  ƒ }  d d d d d d d d g |  d	 |  d
- d d d
- d d d d d d d d d g |  d d |  d |  d |  d |  d f S(   Ns#   %s, %02d %s %04d %02d:%02d:%02d GMTt   Mont   Tuet   Wedt   Thut   Frit   Satt   Suni   i   t   Jant   Febt   Mart   Aprt   Mayt   Junt   Jult   Augt   Sept   Octt   Novt   Deci   i    i   i   i   (   t   timevalt   NoneR   t   gmtime(   R8   (    (    R   t
-   formatdateO   s    
-c         C   sD   |  d }  | d } | d |  d | d |  d | d |  d S(   sR   Return number of leap years in range [year1, year2).
-       Assume year1 <= year2.i   i   id   i  N(   t   year1t   year2(   R<   R=   (    (    R   t   leapdaysa   s     
-
-i²  c         C   sÉ   |  d  \ } } }
- } } } d | t t t | ƒ } x( t
- d | ƒ D] } | t i
- | } qG W| d j o t i | ƒ o | d } n | |
- d } | d | } | d | }	 |	 d | } | S(   sB   Unrelated but handy function to calculate Unix timestamp from GMT.i   im  i   i   i   i<   N(   R   t   yeart   montht   dayt   hourt   minutet   secondt   EPOCHR>   t   dayst   ranget   it   calendart   mdayst   isleapt   hourst   minutest   seconds(   R   RB   RH   RF   R@   RL   RN   RD   R?   RM   RA   RC   (    (    R   t   timegmj   s      c          C   s†   xm t  d ƒ D]_ } t i ƒ  } y t i | d ƒ | SWq
- t j
- o& }  |  i	 t	 i
- j o q
- n ‚  q
- Xq
- Wt t	 i
- d f ‚ d  S(   Ni
-   iÀ  s(   No usable temporary directory name found(   RG   RH   t   tempfilet   mktempt   dirR   R$   t   OSErrort   et   errnot   EEXISTt   IOError(   RT   RH   RR   (    (    R   t   mkdtemp€   s    
- c          C   sF   d  k  }  t |  i d ƒ p& d |  i f d „  ƒ  Y} | |  _ n d  S(   Nt
-   close_requestt	   TCPServerc           B   s   t  Z d „  Z d „  Z RS(   Nc         C   s!   |  i | | ƒ |  i | ƒ d S(   sV   Call finish_request.
-
-        Overridden by ForkingMixIn and ThreadingMixIn.
-
-        N(   t   selft   finish_requestt   requestt   client_addressRY   (   R[   R]   R^   (    (    R   t   process_request™   s     c         C   s   | i ƒ  d S(   s)   Called to clean up an individual request.N(   R]   t   close(   R[   R]   (    (    R   RY   ¢   s     (   t   __name__t
-   __module__R_   RY   (    (    (    R   RZ   ˜   s   		(   t   SocketServert   hasattrRZ   (   Rc   RZ   (    (    R   t   for_standalone’   s    	(   R   R
-   R   RI   t   reR   t   rfc822RP   RU   R   t   AttributeErrorRd   R   t   compileR   R"   R;   RO   R>   RE   RX   Re   (   R   R>   RO   R
-   Rg   RP   RU   R"   R;   R   R   Rf   RE   Re   R   RI   R   R   RX   (    (    R   t   ?   sF   									
-
-
-	
-	
-
-	
-
\ No newline at end of file

Deleted: trunk/gforge/www/scm/viewvc/lib/config.pyc
===================================================================
--- trunk/gforge/www/scm/viewvc/lib/config.pyc	2009-02-06 03:03:08 UTC (rev 6952)
+++ trunk/gforge/www/scm/viewvc/lib/config.pyc	2009-02-06 09:19:51 UTC (rev 6953)
@@ -1,77 +0,0 @@
-mò
-ž-{Dc           @   s°   d  k  Z  d  k Z d  k Z d  k Z d  k Z d f  d „  ƒ  YZ d „  Z d e f d „  ƒ  YZ d f  d „  ƒ  YZ	 e
- e  d ƒ p* d  k Z e i d	 e i
- d
- ƒ e _ n d  S(   Nt   Configc           B   s_   t  Z d Z d Z d „  Z d  d „ Z d
- „  Z d „  Z d „  Z	 d „  Z
- d „  Z d „  Z RS(   Nt   generalt   optionst   cvsdbt	   templatest	   cvs_rootst	   forbiddent	   svn_rootst	   languagest   kv_filest   root_parentsc         C   s+   x$ |  i D] } t |  | t ƒ  ƒ q
- Wd  S(   N(   t   selft	   _sectionst   sectiont   setattrt   _sub_config(   R   R
-   (    (    t/   /opt/gforge/gforge/www/scm/viewvc/lib/config.pyt   __init__.   s    
- c         C   s»   t  i i | ƒ o | p d  |  _ t  i i | ƒ |  _ t	 i	 ƒ  } | i | ƒ x8 |  i D]- } | i | ƒ o |  i | | | ƒ q[ q[ W| o$ | i d ƒ o |  i | | ƒ n d  S(   Nt   vhosts(   t   ost   patht   isfilet   pathnamet   NoneR   t	   conf_patht   dirnamet   baset   ConfigParsert   parsert   readR   R
-   t   has_sectiont   _process_sectiont   vhostt   _process_vhost(   R   R   R    R   R
-   (    (    R   t   load_config2   s    #
-
- c   
-   	   C   sz  t  ƒ  }	 xj|  i i D]\}
- |
- d d j oF t i |
- d ƒ } t i	 |
- d | !d ƒ } t i |
- | d ƒ }
- n g  } t i |
- d | ƒ }
- t i ƒ  } | i t i i |  i |
- ƒ ƒ x¶ | i ƒ  D]¨ } xŸ | i | ƒ D]Ž } | | g } |	 } xV | D]N } y t | | ƒ } Wqü t j
- o& t  ƒ  } t | | | ƒ | } qü Xqü Wt | | | i  | | ƒ ƒ qÜ WqÆ Wq W|	 S(   Ni    t   [t   ]i   t   .s   %lang%(!   R   t   kvR   R   R	   t   fnamet   stringt   indext   idxt   splitt   partst   stript   replacet   languageR   R   R   R   R   t   joinR   t   sectionsR
-   R   t   optiont	   full_namet   obt   namet   getattrt   AttributeErrort   cR   t   get(
-   R   R/   R8   R   R*   R4   R3   R5   R,   R&   R'   R2   R
-   (    (    R   t
-   load_kv_files@   s6    	
- 
-  
- 	(c         C   sÝ   t  |  | ƒ } xÇ | i | ƒ D]¶ } | i | | ƒ } | |  i
- j o+ t t i
- t d  t i | d ƒ ƒ ƒ } n' y t | ƒ } Wn t j
- o n X| d j p
- | d j o t | | ƒ } n t | | | ƒ q Wd  S(   Nt   ,R   R   (   R6   R   t   subcfg_namet   scR   R   R
-   t   optR9   t   valuet   _force_multi_valuet   mapR(   R-   t   filterR   R+   t   intt
-   ValueErrort   _parse_rootsR   (   R   R   R
-   R<   R>   R?   R=   (    (    R   R   ]   s     +c         C   s~   |  i | | ƒ } | p d  Sn | d } t | ƒ } x@ | i ƒ  D]2 } | |  | j o |  i
- | | | | ƒ qD qD Wd  S(   Nt   -(   R   t   _find_canon_vhostR   R    t   canon_vhostt   cvt   lent   lcvR1   R
-   R   (   R   R   R    RK   RH   R
-   RI   (    (    R   R!   o   s    
-
- c      
-   C   s´   t  i | ƒ } t  i | d ƒ d } xˆ | i d ƒ D]w } | i d | ƒ } t	 t  i t	 t  i
- t d  t  i | d ƒ ƒ ƒ ƒ } x) | D]! } t i | | ƒ o | Sq‡ q‡ Wq5 Wd  S(   Nt   :i    R   R;   (   R(   t   lowerR    R+   R   R   RH   R9   R?   RA   R-   RB   R   t   patternst   patt   fnmatcht   fnmatchcase(   R   R   R    RO   RN   R?   RH   (    (    R   RG   {   s     ! c         C   sà  h  |  i _ h  |  i _ g  |  i _ d |  i _ d |  i _ t i d j o d |  i _	 n
- d |  i _	 d |  i _ d |  i _ d |  i _
- d |  i _ f  |  i _ g  |  i _ d g |  i _ d |  i _ d |  i _ d |  i _ d |  i _ d |  i _ d |  i _ d |  i _ d |  i _ d |  i _ d |  i _ d |  i _ d |  i _ d |  i _  d |  i _! d |  i _" d |  i _# d |  i _$ d |  i _% d |  i _& d |  i _' d	 |  i _( d |  i) _* d
- |  i) _+ d |  i) _, d |  i) _- d |  i) _. d |  i) _/ d
- |  i) _0 d |  i) _1 d |  i) _2 d |  i) _3 d |  i) _4 d |  i) _5 d |  i) _6 d |  i) _7 d |  i) _8 d |  i) _9 d |  i) _: d |  i) _; d |  i) _< d |  i) _= d |  i) _> d |  i) _? d |  i) _@ d |  i) _A d |  i) _B d |  i) _C d |  i) _D d |  i) _E d |  i) _F d |  i) _G d |  i) _H d |  i) _I d |  i) _J d |  i) _K d |  i) _L d |  i) _M d |  i) _N d |  i) _O d |  i) _P d	 |  i) _Q d |  i) _R d |  i) _S d |  i) _T d S(   s-   Set some default values in the configuration.t    t   win32t   cvsi    sV   <a href="mailto:user at insert.your.domain.here">No admin address has been configured</a>s   en-usiê  iè  id   t   logt   filei   t   datet   hR   R%   iP   i   t   phps
-   cvsgraph.confiX  N(U   R   R   R   R   R
-   t   default_roott   rcs_patht   syst   platformt   cvsnt_exe_pathR   t   use_rcsparset   svn_patht   mime_types_filet   addressR   R	   R   R   t	   directoryRU   t   queryt   difft   grapht   annotatet   markupt   errort
-   query_formt
-   query_resultst   rootsR   t   enabledt   hostt   portt
-   database_namet   usert   passwdt
-   readonly_usert   readonly_passwdt	   row_limitt
-   rss_row_limitR   t   root_as_url_componentt   default_file_viewt   checkout_magict   sort_byt   sort_group_dirst
-   hide_attict   log_sortt   diff_formatt   hide_cvsroott   hr_breakablet	   hr_funoutt   hr_ignore_whitet   hr_ignore_keyword_substt   hr_intralinet   allow_annotatet   allow_markupt   allow_compresst   template_dirt   docroott   show_subdir_lastmodt	   show_logst   show_log_in_markupt   cross_copiest   py2html_patht
-   short_log_lent   use_enscriptt
-   enscript_patht
-   use_highlightt   highlight_patht   highlight_line_numberst   highlight_convert_tabst   use_phpt   php_exe_patht	   allow_tart   use_cvsgrapht
-   cvsgraph_patht
-   cvsgraph_conft
-   use_re_searcht   use_pagesizet
-   limit_changest
-   use_localtimet   http_expiration_timet   generate_etags(   R   (    (    R   t   set_defaultsŠ   s      c         C   s…   | p d Sn d } xi |  i i D][ } | d d j o) d } t i | | d ƒ o d Sq} q" t i | | ƒ o d Sq" q" W| S(   Ni    t   !i   (   t   modulet   defaultR   R   R   RO   RP   RQ   (   R   R¤   R¥   RO   (    (    R   t   is_forbiddená   s    
- (   s   generals   optionss   cvsdbs	   templates(   s	   cvs_rootss	   forbiddens	   svn_rootss	   languagess   kv_filess   root_parents(
-   t   __name__t
-   __module__R   R@   R   R   R"   R:   R   R!   RG   R¢   R¦   (    (    (    R   R    (   s   						Wc         C   s   h  } xt | D]l } t i | d ƒ } | d j  o t |  | ƒ ‚ n t t i	 | |  | | d f ƒ \ } } | | | <q
- W| S(   NRL   i    i   (   Rl   t   config_valuet   rootR(   t   findt   post
-   MalformedRoott   config_nameRA   R-   R5   R   (   R®   R©   R¬   R   Rª   Rl   R5   (    (    R   RE   ï   s     
-*R­   c           B   s   t  Z d „  Z d „  Z RS(   Nc         C   s)   t  i |  | | ƒ | |  _ | |  _ d  S(   N(   t	   ExceptionR   R   R®   t   value_given(   R   R®   R°   (    (    R   R   û   s    	c         C   s   d |  i |  i f S(   Ns5   malformed configuration: '%s' uses invalid syntax: %s(   R   R®   R°   (   R   (    (    R   t   __str__ÿ   s    (   R§   R¨   R   R±   (    (    (    R   R­   ú   s   	R   c           B   s   t  Z RS(   N(   R§   R¨   (    (    (    R   R     s   t
-   hexversions   ^\([-A-Za-z0-9._]+\)\(:\|[s   ]*=\)\(.*\)$(   R\   R   R(   R   RP   R    RE   R¯   R­   R   t   hasattrt   regext   compilet
-   whitespacet
-   option_cre(
-   R´   R­   R(   RE   R    R   R\   RP   R   R   (    (    R   t   ?   s   					Ç	
-	
\ No newline at end of file

Deleted: trunk/gforge/www/scm/viewvc/lib/debug.pyc
===================================================================
--- trunk/gforge/www/scm/viewvc/lib/debug.pyc	2009-02-06 03:03:08 UTC (rev 6952)
+++ trunk/gforge/www/scm/viewvc/lib/debug.pyc	2009-02-06 09:19:51 UTC (rev 6953)
@@ -1,90 +0,0 @@
-mò
-ž-{Dc           @   sº   d  k  Z  d Z d Z e o4 d  k Z h  Z h  Z d „  Z d „  Z d „  Z n d „  Z Z Z d f  d „  ƒ  YZ	 d „  Z
- d	 „  Z e o  d
- f  d „  ƒ  YZ d „  Z
- n
- d
- „  Z
- d  S(   Ni    c         C   s   t  i  ƒ  t |  <d  S(   N(   t   timet   _timerst   which(   R   (    (    t.   /opt/gforge/gforge/www/scm/viewvc/lib/debug.pyt   t_start   s    c         C   sH   t  i  ƒ  t |  } t i |  ƒ o t |  | t |  <n | t |  <d  S(   N(   R    R   R   t   tt   _timest   has_key(   R   R   (    (    R   t   t_end"   s    c          C   s0   x) t  i ƒ  D] \ }  } d |  | f GHq
- Wd  S(   Ns   %s: %.6f<br />(   R   t   itemst   namet   value(   R
-   R   (    (    R   t   dump)   s    
- c          G   s   d  S(   N(   t   None(   t   args(    (    R   t   <lambda>/   s    t   ViewVCExceptionc           B   s   t  Z d  d „ Z d „  Z RS(   Nc         C   s   | |  _  | |  _ d  S(   N(   t   msgt   selft   status(   R   R   R   (    (    R   t   __init__3   s    	c         C   s-   |  i o d |  i |  i f Sn d |  i S(   Ns   %s: %ss   ViewVC Unrecoverable Error: %s(   R   R   R   (   R   (    (    R   t   __str__7   s    
-(   t   __name__t
-   __module__R
-   R   R   (    (    (    R   R   2   s   c         C   s¹   | d } | d } | d } |  i d | ƒ |  i d ƒ d } | o d |  i | ƒ } n | o | d | } n |  i | ƒ |  i d ƒ |  i |  i | ƒ ƒ |  i d	 ƒ d  S(
-   NR   R   t
-   stacktraces#   <h3>An Exception Has Occurred</h3>
-t    s   <p><pre>%s</pre></p>s:   <h4>HTTP Response Status</h4>
-<p><pre>
-%s</pre></p><hr />
-s"   <h4>Python Traceback</h4>
-<p><pre>s   </pre></p>
-(	   t   exc_dataR   R   t   tbt   servert   headert   writet   st   escape(   R   R   R   R   R   R   (    (    R   t   PrintException=   s    
-
-
-
-
-
-c          C   s°   t  i ƒ  \ } }  } h  d d  <d d  <d d  <} zo d  k } d  k } t	 |  t
- ƒ o |  i | d <|  i | d <n | i
- | i | |  | ƒ d ƒ } | | d <Wd  ~ X| S(   NR   R   R   R   (   t   syst   exc_infot   exc_typet   exct   exc_tbR
-   t   exc_dictt	   tracebackt   stringt
-   isinstanceR   R   R   t   joint   format_exceptionR   (   R%   R(   R$   R'   R   R&   R)   (    (    R   t   GetExceptionDataR   s    !
-! t   Processc           B   s   t  Z d „  Z RS(   Nc         C   s‰   | |  _  | |  _ | |  _ | |  _ d  k } | i	 d  j	 oH | i	 i i d ƒ p |  g | i	 i d <q… | i	 i d i
- |  ƒ n d  S(   Nt	   processes(   t   commandR   t   inStreamt   debugInt	   outStreamt   debugOutt	   errStreamt   debugErrt   sapiR   R
-   t   pageGlobalsR   t   append(   R   R0   R1   R3   R5   R7   (    (    R   R   r   s    					(   R   R   R   (    (    (    R   R.   q   s   c         C   sî  d  k  } |  i i d ƒ p d  Sn |  i ƒ  d  } d } x|  i d D]} | d } |  i	 d ƒ |  i	 d | ƒ |  i	 d ƒ |  i	 |  i
- | i ƒ ƒ |  i	 d ƒ |  i	 d ƒ | i | j o& | d  j	 o |  i	 d	 | d ƒ nH | i o= |  i	 d
- ƒ |  i	 |  i
- | i i
- ƒ  ƒ ƒ |  i	 d ƒ n |  i	 d ƒ | i | i j oK |  i	 d
- ƒ | i o# |  i	 |  i
- | i i
- ƒ  ƒ ƒ n |  i	 d ƒ n |  i	 d ƒ | i o# |  i	 |  i
- | i i
- ƒ  ƒ ƒ n |  i	 d ƒ |  i	 d ƒ | i o# |  i	 |  i
- | i i
- ƒ  ƒ ƒ n |  i	 d ƒ |  i	 d ƒ |  i ƒ  | i } qH W|  i	 d ƒ |  i	 d ƒ xp | i i ƒ  D]_ \ } } |  i	 d ƒ |  i	 |  i
- | ƒ ƒ |  i	 d ƒ |  i	 |  i
- | ƒ ƒ |  i	 d ƒ qzW|  i	 d ƒ d  S(   NR/   i    i   s   <table>
-s-   <tr><td colspan="2">Child Process%i</td></tr>sB   <tr>
-  <td style="vertical-align:top">Command Line</td>  <td><pre>s   </pre></td>
-</tr>
-s=   <tr>
-  <td style="vertical-align:top">Standard In:</td>  <td>s   <em>Output from process %i</em>s   <pre>s   </pre>s   </td>
-</tr>
-sK   <tr>
-  <td style="vertical-align:top">Standard Out & Error:</td>  <td><pre>sC   <tr>
-  <td style="vertical-align:top">Standard Out:</td>  <td><pre>sE   <tr>
-  <td style="vertical-align:top">Standard Error:</td>  <td><pre>s	   </table>
-s3   <tr><td colspan="2">Environment Variables</td></tr>s+   <tr>
-  <td style="vertical-align:top"><pre>s2   </pre></td>
-  <td style="vertical-align:top"><pre>s   </pre></td>
-</tr>s   </table>(   t   osR   R8   R   R   R
-   t   lastOutt   it   kR   R    R0   R2   t   getvalueR4   R6   t   flusht   environR	   t   v(   R   R<   R=   RA   R;   R:   (    (    R   t   DumpChildren   s`    	
- 
-
-
-
-
-
-
-
-
-
-#
-
-#
-
-
-#
-
-
-
-
-
- 
-
-c         C   s   d  S(   N(    (   R   (    (    R   RB   »   s    (   R"   t
-   SHOW_TIMESt   SHOW_CHILD_PROCESSESR    R   R   R   R   R   R   R!   R-   R.   RB   (   R   R   R.   R   RB   R   R"   R!   R    RC   R-   RD   R   R   (    (    R   t   ?   s"   				
-		
-<
\ No newline at end of file

Deleted: trunk/gforge/www/scm/viewvc/lib/ezt.pyc
===================================================================
--- trunk/gforge/www/scm/viewvc/lib/ezt.pyc	2009-02-06 03:03:08 UTC (rev 6952)
+++ trunk/gforge/www/scm/viewvc/lib/ezt.pyc	2009-02-06 09:19:51 UTC (rev 6953)
@@ -1,436 +0,0 @@
-mò
-ž-{Dc           @   s3  d  Z  d k Z d k Z d k l Z l Z l Z l Z l Z d k	 Z	 d k
- Z
- y
- d k Z Wn" e j
- o d k
- Z
- e
- Z n Xd Z d Z d Z d Z e i d e e f ƒ Z e i d ƒ Z h  d	 d
- <d d <d
- d
- <d d <d d <Z e i ƒ  Z e i d ƒ Z e i d ƒ Z e i d ƒ Z d f  d „  ƒ  YZ d „  Z d „  Z d „  Z d „  Z d f  d „  ƒ  YZ  d f  d „  ƒ  YZ! d e! f d „  ƒ  YZ" d e! f d  „  ƒ  YZ# d! f  d" „  ƒ  YZ$ d# f  d$ „  ƒ  YZ% y e& Wn e' j
- o
- e% Z( n Xe$ Z( d% e) f d& „  ƒ  YZ* d' e* f d( „  ƒ  YZ+ d) e* f d* „  ƒ  YZ, d+ e* f d, „  ƒ  YZ- d- e* f d. „  ƒ  YZ. d/ e* f d0 „  ƒ  YZ/ d1 e* f d2 „  ƒ  YZ0 d3 e* f d4 „  ƒ  YZ1 d5 „  Z2 d6 „  Z3 h  e e2 <e e3 <e e3 <Z4 d7 „  Z5 d8 „  Z6 e7 d9 j o' d k8 Z8 e8 i9 e6 e8 i: ƒ d: ƒ n d S(;   s{  ezt.py -- easy templating
-
-ezt templates are simply text files in whatever format you so desire
-(such as XML, HTML, etc.) which contain directives sprinkled
-throughout.  With these directives it is possible to generate the
-dynamic content from the ezt templates.
-
-These directives are enclosed in square brackets.  If you are a
-C-programmer, you might be familar with the #ifdef directives of the C
-preprocessor 'cpp'.  ezt provides a similar concept.  Additionally EZT
-has a 'for' directive, which allows it to iterate (repeat) certain
-subsections of the template according to sequence of data items
-provided by the application.
-
-The final rendering is performed by the method generate() of the Template
-class.  Building template instances can either be done using external
-EZT files (convention: use the suffix .ezt for such files):
-
-    >>> template = Template("../templates/log.ezt")
-
-or by calling the parse() method of a template instance directly with 
-a EZT template string:
-
-    >>> template = Template()
-    >>> template.parse('''<html><head>
-    ... <title>[title_string]</title></head>
-    ... <body><h1>[title_string]</h1>
-    ...    [for a_sequence] <p>[a_sequence]</p>
-    ...    [end] <hr />
-    ...    The [person] is [if-any state]in[else]out[end].
-    ... </body>
-    ... </html>
-    ... ''')
-
-The application should build a dictionary 'data' and pass it together
-with the output fileobject to the templates generate method:
-
-    >>> data = {'title_string' : "A Dummy Page",
-    ...         'a_sequence' : ['list item 1', 'list item 2', 'another element'],
-    ...         'person': "doctor",
-    ...         'state' : None }
-    >>> import sys
-    >>> template.generate(sys.stdout, data)
-    <html><head>
-    <title>A Dummy Page</title></head>
-    <body><h1>A Dummy Page</h1>
-     <p>list item 1</p>
-     <p>list item 2</p>
-     <p>another element</p>
-     <hr />
-    The doctor is out.
-    </body>
-    </html>
-
-Template syntax error reporting should be improved.  Currently it is 
-very sparse (template line numbers would be nice):
-
-    >>> Template().parse("[if-any where] foo [else] bar [end unexpected args]")
-    Traceback (innermost last):
-      File "<stdin>", line 1, in ?
-      File "ezt.py", line 220, in parse
-        self.program = self._parse(text)
-      File "ezt.py", line 275, in _parse
-        raise ArgCountSyntaxError(str(args[1:]))
-    ArgCountSyntaxError: ['unexpected', 'args']
-    >>> Template().parse("[if unmatched_end]foo[end]")
-    Traceback (innermost last):
-      File "<stdin>", line 1, in ?
-      File "ezt.py", line 206, in parse
-        self.program = self._parse(text)
-      File "ezt.py", line 266, in _parse
-        raise UnmatchedEndError()
-    UnmatchedEndError
-
-
-Directives
-==========
-
- Several directives allow the use of dotted qualified names refering to objects
- or attributes of objects contained in the data dictionary given to the 
- .generate() method.
-
- Qualified names
- ---------------
-
-   Qualified names have two basic forms: a variable reference, or a string
-   constant. References are a name from the data dictionary with optional
-   dotted attributes (where each intermediary is an object with attributes,
-   of course).
-
-   Examples:
-
-     [varname]
-
-     [ob.attr]
-
-     ["string"]
-
- Simple directives
- -----------------
-
-   [QUAL_NAME]
-
-   This directive is simply replaced by the value of the qualified name.
-   If the value is a number it's converted to a string before being 
-   outputted. If it is None, nothing is outputted. If it is a python file
-   object (i.e. any object with a "read" method), it's contents are
-   outputted. If it is a callback function (any callable python object
-   is assumed to be a callback function), it is invoked and passed an EZT
-   Context object as an argument.
-
-   [QUAL_NAME QUAL_NAME ...]
-
-   If the first value is a callback function, it is invoked with an EZT
-   Context object as a first argument, and the rest of the values as
-   additional arguments.
-
-   Otherwise, the first value defines a substitution format, specifying
-   constant text and indices of the additional arguments. The arguments
-   are substituted and the result is inserted into the output stream.
-
-   Example:
-     ["abc %0 def %1 ghi %0" foo bar.baz]
-
-   Note that the first value can be any type of qualified name -- a string
-   constant or a variable reference. Use %% to substitute a percent sign.
-   Argument indices are 0-based.
-
-   [include "filename"]  or [include QUAL_NAME]
-
-   This directive is replaced by content of the named include file. Note
-   that a string constant is more efficient -- the target file is compiled
-   inline. In the variable form, the target file is compiled and executed
-   at runtime.
-
- Block directives
- ----------------
-
-   [for QUAL_NAME] ... [end]
-   
-   The text within the [for ...] directive and the corresponding [end]
-   is repeated for each element in the sequence referred to by the
-   qualified name in the for directive.  Within the for block this
-   identifiers now refers to the actual item indexed by this loop
-   iteration.
-
-   [if-any QUAL_NAME [QUAL_NAME2 ...]] ... [else] ... [end]
-
-   Test if any QUAL_NAME value is not None or an empty string or list.
-   The [else] clause is optional.  CAUTION: Numeric values are
-   converted to string, so if QUAL_NAME refers to a numeric value 0,
-   the then-clause is substituted!
-
-   [if-index INDEX_FROM_FOR odd] ... [else] ... [end]
-   [if-index INDEX_FROM_FOR even] ... [else] ... [end]
-   [if-index INDEX_FROM_FOR first] ... [else] ... [end]
-   [if-index INDEX_FROM_FOR last] ... [else] ... [end]
-   [if-index INDEX_FROM_FOR NUMBER] ... [else] ... [end]
-
-   These five directives work similar to [if-any], but are only useful
-   within a [for ...]-block (see above).  The odd/even directives are
-   for example useful to choose different background colors for
-   adjacent rows in a table.  Similar the first/last directives might
-   be used to remove certain parts (for example "Diff to previous"
-   doesn't make sense, if there is no previous).
-
-   [is QUAL_NAME STRING] ... [else] ... [end]
-   [is QUAL_NAME QUAL_NAME] ... [else] ... [end]
-
-   The [is ...] directive is similar to the other conditional
-   directives above.  But it allows to compare two value references or
-   a value reference with some constant string.
-
-   [define VARIABLE] ... [end]
-
-   The [define ...] directive allows you to create and modify template
-   variables from within the template itself.  Essentially, any data
-   between inside the [define ...] and its matching [end] will be
-   expanded using the other template parsing and output generation
-   rules, and then stored as a string value assigned to the variable
-   VARIABLE.  The new (or changed) variable is then available for use
-   with other mechanisms such as [is ...] or [if-any ...], as long as
-   they appear later in the template.
-
-   [format STRING] ... [end]
-
-   The format directive controls how the values substituted into
-   templates are escaped before they are put into the output stream. It
-   has no effect on the literal text of the templates, only the output
-   from [QUAL_NAME ...] directives. STRING can be one of "raw" "html" 
-   or "xml". The "raw" mode leaves the output unaltered. The "html" and
-   "xml" modes escape special characters using entity escapes (like
-   &quot; and &gt;)
-
-   [format CALLBACK]
- 
-   Python applications using EZT can provide custom formatters as callback
-   variables. "[format CALLBACK][QUAL_NAME][end]" is in most cases
-   equivalent to "[CALLBACK QUAL_NAME]"
-N(   s
-   StringTypes   IntTypes	   FloatTypes   LongTypes	   TupleTypet   rawt   htmlt   xmls   (?:"(?:[^\\"]|\\.)*"|[-\w.]+)s&   \[(%s(?: +%s)*)\]|(\[\[\])|\[#[^\]]*\]s   "(?:[^\\"]|\\.)*"|[-\w.]+s   if-indexi   t   fori   t   ist   definet   formats   [ 	
-]*
-\s*s   \s\s+s   %(%|[0-9]+)t   Templatec           B   s°   t  Z d  d e d „ Z e d „ Z e d „ Z d „  Z d  f  d  d „ Z d „  Z	 d „  Z
- d	 „  Z d
- „  Z d „  Z
- d „  Z d
- „  Z d „  Z d „  Z d „  Z d „  Z RS(   Ni   c         C   s(   | |  _  | o |  i | | ƒ n d  S(   N(   t   compress_whitespacet   selft   fnamet
-   parse_filet   base_format(   R	   R
-   R   R   (    (    t,   /opt/gforge/gforge/www/scm/viewvc/lib/ezt.pyt   __init__!  s    	c         C   s   |  i t | ƒ | ƒ d S(   sH   fname -> a string object with pathname of file containg an EZT template.N(   R	   t   parset   _FileReaderR
-   R   (   R	   R
-   R   (    (    R
-   R   '  s     c         C   s<   t  | t ƒ p t | ƒ } n |  i | d | ƒ|  _ d S(   sÿ   Parse the template specified by text_or_reader.
-
-    The argument should be a string containing the template, or it should
-    specify a subclass of ezt.Reader which can read templates. The base
-    format for printing values is given by base_format.
-    R   N(   t
-   isinstancet   text_or_readert   Readert   _TextReaderR	   t   _parseR   t   program(   R	   R   R   (    (    R
-   R   ,  s     c         C   sŠ   t  | d ƒ p t t | d d  ƒ ƒ o# d f  d „  ƒ  Y} | | ƒ } n t | ƒ } | | _ h  | _	 h  | _
- |  i |  i
- | ƒ d  S(   Nt   __getitem__t   keyst   _data_obc           B   s   t  Z d „  Z RS(   Nc         C   s   t  |  ƒ i | ƒ d  S(   N(   t   varsR	   t   updatet   d(   R	   R   (    (    R
-   R   >  s    (   t   __name__t
-   __module__R   (    (    (    R
-   R   =  s   (   t   hasattrt   datat   callablet   getattrt   NoneR   t   Contextt   fpt   ctxt
-   for_iteratorst   definesR	   t   _executeR   (   R	   R%   R    R&   R   (    (    R
-   t   generate9  s    )			c         C   s¡  t  i | i ƒ } g  } g  } | p
- g  } n | o | i	 |  i t | f ƒ n x2t
- t | ƒ ƒ D]} | | } | d } | d j oH | o= |  i o" t i d t i d | ƒ ƒ } n | i	 | ƒ q…qg | d j o | o | i	 d ƒ q…qg | ot i | ƒ } | d } | d j o^ t | ƒ d j o t t | d ƒ ƒ ‚ n | d	 d } | | } | | 3| | d	 d <q…| d
- j oö t | ƒ d j o t t | d ƒ ƒ ‚ n y | i ƒ  \ } } } } Wn t j
- o t  ƒ  ‚ n X| | }
- | d j o | i	 |  i" d f ƒ qt$ |  d t% i d
- d | ƒ ƒ } | | | |
- f f g | | )| d j o | i ƒ  qq…| t' j oTt | ƒ t( | d j o t t | d ƒ ƒ ‚ n | d j o t) | d | | ƒ | d <n | d j o t) | d | | ƒ | d <n£ | d j o | i	 | d d ƒ n} | d j oo | d d o | d } n9 t i, | d d ƒ } | p t- t | d ƒ ƒ ‚ n | i	 |  i | f ƒ n | i	 | t | ƒ | d d g ƒ q…| d j oÜ | d d d j on | d d d	 !}	 g  }
- x+ | d D] } |
- i	 t) | | | ƒ ƒ q2W| i1 |  i2 | i3 |	 ƒ | |
- ƒ ƒ qt | ƒ d j o t t | ƒ ƒ ‚ n | i	 |  i4 t) | d | | ƒ | f f ƒ q…| d j oW g  }
- x+ | d D] } |
- i	 t) | | | ƒ ƒ qõW| i	 d t | ƒ |
- d g ƒ q…g  }
- x' | D] } |
- i	 t) | | | ƒ ƒ qHW| i	 |  i5 |
- f ƒ qg qg W| o
- t6 ƒ  ‚ n | S(   sW  text -> string object containing the template.
-
-    This is a private helper function doing the real work for method parse.
-    It returns the parsed template as a 'program'.  This program is a sequence
-    made out of strings or (function, argument) 2-tuples.
-
-    Note: comment directives [# ...] are automatically dropped by _re_parse.
-    i   i    t    s   
-i   t   [t   elsei   iÿÿÿÿt   endR   t   _cmd_t   -t   _R   R   R   t   includet   "s   if-anyN(7   t	   _re_parset   splitt   readert   textt   partsR   t   stackt	   for_namesR   t   appendR	   t   _cmd_formatt	   _printerst   ranget   lent   it   piecet   whichR   t   _re_whitespacet   subt   _re_newlinet   _re_argst   findallt   argst   cmdt   ArgCountSyntaxErrort   strt   idxt   true_sectiont   popt
-   IndexErrort   UnmatchedEndErrort   else_sectiont   _cmd_end_formatR#   R"   t   ret   funct   _block_cmdst   _block_cmd_specst   _prepare_reft	   file_argst   printert   gett   UnknownFormatConstantErrort   include_filenamet   f_argst   argt   extendR   t
-   read_othert   _cmd_includet
-   _cmd_printt   UnclosedBlocksError(   R	   R6   R:   RX   R   RY   R^   R   RB   R\   R]   RH   RT   RQ   R9   RL   R@   RI   R8   RM   RA   (    (    R
-   R   H  s®     
- 
-
-
-
-"
-
-
-
-
-
-
-"
-
-
-
-
-
-'
- 0
- # 
-c         C   sN   xG | D]? } t | t ƒ o | i i | ƒ q | d | d | ƒ q Wd S(   sË   This private helper function takes a 'program' sequence as created
-    by the method '_parse' and executes it step by step.  strings are written
-    to the file object 'fp' and functions are called.
-    i    i   N(   R   t   stepR   t
-   StringTypeR&   R%   t   write(   R	   R   R&   Rd   (    (    R
-   R)   ¾  s      c         C   s@   t  | d | ƒ } t | d „ | d ƒ } t | | | ƒ d  S(   Ni    c         C   s
-   t  |  | ƒ S(   N(   t
-   _get_valuet   valrefR&   (   Rh   R&   (    (    R
-   t   <lambda>Ë  s    i   (   Rg   t   valrefsR&   t   valuet   mapRH   t   _write_value(   R	   Rj   R&   RH   Rk   (    (    R
-   Rb   É  s    c         C   s:   t  | ƒ t j o t | | ƒ } n | i i | ƒ d  S(   N(   t   typeRY   t	   TupleTypeRg   R&   t   printersR;   (   R	   RY   R&   (    (    R
-   R<   Î  s    c         C   s   | i i ƒ  d  S(   N(   R&   Rp   RN   (   R	   Rh   R&   (    (    R
-   RR   Ó  s    c         C   sA   | \ } } t | | ƒ } |  i |  i | i | ƒ ƒ | ƒ d  S(   N(	   Rh   R6   Rg   R&   R
-   R	   R)   R   R`   (   R	   t   .2R&   Rh   R6   R
-   (    (    R
-   Ra   Ö  s   c         C   s[   | \ } } } d } x) | D]! } t | | ƒ o d } Pq q W|  i	 | | | | ƒ d S(   sD   If any value is a non-empty string or non-empty list, then T else F.i    i   N(
-   RH   Rj   t	   t_sectiont	   f_sectionRk   Rh   Rg   R&   R	   t   _do_if(   R	   RH   R&   Rj   Rk   Rr   Rh   Rs   (    (    R
-   t   _cmd_if_anyÜ  s      	c         C   sÚ   | \ \ } } } } | i | d } | d j o | i d d j } nw | d j o | i d d j } nS | d j o | i d j } n3 | d j o | i	 ƒ  } n | i t
- | ƒ j } |  i | | | | ƒ d  S(   Ni    t   eveni   t   oddi   t   firstt   last(
-   RH   Rh   Rk   Rr   Rs   R&   R'   t   iteratort   indext   is_lastt   intR	   Rt   (   R	   RH   R&   Rz   Rk   Rr   Rh   Rs   (    (    R
-   t
-   _cmd_if_indexæ  s    
-
-
-
-c         C   se   | \ \ } } } } t | | ƒ } t i	 t | | ƒ ƒ t i	 | ƒ j } |  i | | | | ƒ d  S(   N(   RH   t   left_reft	   right_refRr   Rs   Rg   R&   Rk   t   stringt   lowerR	   Rt   (   R	   RH   R&   R€   R   Rk   Rr   Rs   (    (    R
-   t   _cmd_isõ  s    'c         C   sY   | d  j o | } d  } n | o
- | } n | } | d  j	 o |  i | | ƒ n d  S(   N(   Rr   R#   Rs   Rk   t   sectionR	   R)   R&   (   R	   Rk   Rr   Rs   R&   R„   (    (    R
-   Rt   û  s    
-
-
-
-c   	      C   sŽ   | \ \ } } } t | | ƒ } t | t ƒ o
- t	 ƒ  ‚ n | d } t | ƒ | i | <} x | D] } |  i | | ƒ qf W| i | =d  S(   Ni    (   RH   Rh   t   unusedR„   Rg   R&   t   listR   Re   t   NeedSequenceErrort   refnamet   _iterR'   Rz   R	   R)   (	   R	   RH   R&   Rz   R†   Rˆ   R…   Rh   R„   (    (    R
-   t   _cmd_for  s    
-
- c         C   sn   | \ \ } } } | i } t i ƒ  | _ | d  j	 o |  i | | ƒ n | i i ƒ  | i
- | <| | _ d  S(   N(   RH   t   nameR…   R„   R&   R%   t   origfpt	   cStringIOt   StringIOR#   R	   R)   t   getvalueR(   (   R	   RH   R&   R‹   R…   RŒ   R„   (    (    R
-   t   _cmd_define  s    	
-(   R   R   R#   t
-   FORMAT_RAWR   R   R   R*   R   R)   Rb   R<   RR   Ra   Ru   R~   Rƒ   Rt   RŠ   R   (    (    (    R
-   R     s    
-	v						
-				c         C   s   |  o d Sn d S(   sB   Return a value suitable for [if-any bool_var] usage in a template.t   yesN(   Rk   R#   (   Rk   (    (    R
-   t   boolean  s     c         C   s…  |  d d j o d |  d d !d f Sn t i |  d ƒ } | d } | d } | d  d j o² y t | d ƒ } Wn t	 j
- o qX| t
- | ƒ j  oq | | \ } } } | d j o d | d f Sn | | d *| p | | g  f Sn | d t i | d ƒ }  qn | o_ x\ t t
- | ƒ d d ƒ D]> }	 t i | |	  d ƒ }
- |
- | j o |  |
- | |	 f Sq2q2Wn |  | | f S(	   sä   refname -> a string containing a dotted identifier. example:"foo.bar.bang"
-  for_names -> a list of active for sequences.
-
-  Returns a `value reference', a 3-tuple made out of (refname, start, rest), 
-  for fast access later.
-  i    R3   i   iÿÿÿÿt   .i   R^   N(   Rˆ   R#   R   R5   R8   t   startt   restR}   RL   t
-   ValueErrorR?   RX   t   orig_refnamet	   more_restt   joinR:   R>   R@   R‹   (   Rˆ   R:   RX   R™   RL   R–   R•   R8   R˜   R@   R‹   (    (    R
-   RW   !  s4     
-
-
-
-" 
-c         C   sA  |  \ } } } | d j o | Sn | i i | ƒ o | i | i } nZ | i	 i | ƒ o | i	 | } n6 t
- | i | ƒ o t | i | ƒ } n
- t
- | ƒ ‚ xC | D]; } y t | | ƒ } Wq« t j
- o t
- | ƒ ‚ q« Xq« Wt | t ƒ p  t | t ƒ p t | t ƒ o t | ƒ Sn | d j o d Sn | S(   s  (refname, start, rest) -> a prepared `value reference' (see above).
-  ctx -> an execution context instance.
-
-  Does a name space lookup within the template name space.  Active 
-  for blocks take precedence over data dictionary members with the 
-  same name.
-  t    N(   Rˆ   R•   R–   R#   R&   R'   t   has_keyt	   last_itemt   obR(   R   R    R"   t   UnknownReferencet   attrt   AttributeErrorR   t   IntTypet   LongTypet	   FloatTypeRK   (   t   .0R&   Rˆ   R•   R–   R    Rž   (    (    R
-   Rg   Q  s*    
- 0
-c   	      C   sN  t  |  ƒ o" t |  | g t | ƒ ƒ d  Sn | i i ƒ  } zø t	 |  d ƒ o4 xá |  i
- d ƒ } | p Pn | | | ƒ qT Wn± | oœ t i
- |  ƒ } x— t t | ƒ ƒ D]r } | | } | d d j oQ | d j oD t | ƒ } | t | ƒ j  o | | } n d } | | | ƒ q® q® Wn | | |  ƒ Wd  | i i | ƒ Xd  S(   Nt   readi   i @  i   t   %s   <undef>(   R!   Rk   t   applyR&   R†   RH   Rp   RN   RY   R   R¦   t   chunkt	   _re_substR5   R8   R>   R?   R@   RA   R}   RL   R;   (	   Rk   RH   R&   RY   RL   R@   R©   R8   RA   (    (    R
-   Rm   y  s4    
-   
- R$   c           B   s#   t  Z d  Z d „  Z f  d „ Z RS(   s%   A container for the execution contextc         C   s   | |  _  g  |  _ d  S(   N(   R%   R	   Rp   (   R	   R%   (    (    R
-   R   ¢  s    	c         C   s   t  | | |  ƒ d  S(   N(   Rm   Rk   RH   R	   (   R	   Rk   RH   (    (    R
-   Rf   ¥  s    (   R   R   t   __doc__R   Rf   (    (    (    R
-   R$      s    	R   c           B   s   t  Z d  Z RS(   s9   Abstract class which allows EZT to detect Reader objects.(   R   R   R«   (    (    (    R
-   R   ¨  s   R   c           B   s    t  Z d  Z d „  Z d „  Z RS(   s$   Reads templates from the filesystem.c         C   s1   t  | d ƒ i ƒ  |  _ t i i | ƒ |  _ d  S(   Nt   rb(	   t   openR
-   R¦   R	   R7   t   ost   patht   dirnamet   _dir(   R	   R
-   (    (    R
-   R   ­  s    c         C   s   t  t i i |  i | ƒ ƒ S(   N(   R   R®   R¯   Rš   R	   R±   t   relative(   R	   R²   (    (    R
-   R`   °  s    (   R   R   R«   R   R`   (    (    (    R
-   R   «  s    	R   c           B   s    t  Z d  Z d „  Z d „  Z RS(   s&   'Reads' a template from provided text.c         C   s
-   | |  _  d  S(   N(   R7   R	   (   R	   R7   (    (    R
-   R   µ  s    c         C   s
-   t  ƒ  ‚ d  S(   N(   t   BaseUnavailableError(   R	   R²   (    (    R
-   R`   ·  s    (   R   R   R«   R   R`   (    (    (    R
-   R   ³  s    	t	   _Iteratorc           B   s2   t  Z d  Z d „  Z d „  Z d „  Z d „  Z RS(   s  Specialized iterator for EZT that counts items and can look ahead
-
-  Implements standard iterator interface and provides an is_last() method
-  and two public members:
-
-    index - integer index of the current item
-    last_item - last item returned by next()c         C   s   t  | ƒ |  _ d  S(   N(   t   itert   sequenceR	   R‰   (   R	   R¶   (    (    R
-   R   Ã  s    c         C   sl   t  |  d ƒ o |  i |  _ |  ` n |  i i ƒ  |  _ t  |  d ƒ o |  i d |  _ n
- d |  _ |  i S(   Nt
-   _next_itemR{   i   i    (   R   R	   R·   R   R‰   t   nextR{   (   R	   (    (    R
-   R¸   Æ  s    
-	c         C   sH   t  |  d ƒ p4 y |  i i ƒ  |  _ WqD t j
- o d SqD Xn d S(   s;   Return true if the current item is the last in the sequenceR·   i   i    N(   R   R	   R‰   R¸   R·   t
-   StopIteration(   R	   (    (    R
-   R|   Ô  s     
-c         C   s   |  S(   N(   R	   (   R	   (    (    R
-   t   __iter__ß  s    (   R   R   R«   R   R¸   R|   Rº   (    (    (    R
-   R´   º  s
-    			t   _OldIteratorc           B   s)   t  Z d  Z d „  Z d „  Z d „  Z RS(   sˆ  Alternate implemention of _Iterator for old Pythons without iterators
-
-  This class implements the sequence protocol, instead of the iterator
-  interface, so it's really not an iterator at all. But it can be used in
-  python "for" loops as a drop-in replacement for _Iterator. It also provides
-  the is_last() method and "last_item" and "index" members described in the
-  _Iterator docstring.c         C   s
-   | |  _ d  S(   N(   R¶   R	   t   _seq(   R	   R¶   (    (    R
-   R   ë  s    c         C   s    |  i | |  _ | |  _ |  i S(   N(   R	   R¼   R{   R   (   R	   R{   (    (    R
-   R   î  s    	c         C   s   |  i d t |  i ƒ j S(   Ni   (   R	   R{   R?   R¼   (   R	   (    (    R
-   R|   ó  s    (   R   R   R«   R   R   R|   (    (    (    R
-   R»   â  s    		t   EZTExceptionc           B   s   t  Z d  Z RS(   s#   Parent class of all EZT exceptions.(   R   R   R«   (    (    (    R
-   R½   ý  s   RJ   c           B   s   t  Z d  Z RS(   s6   A bracket directive got the wrong number of arguments.(   R   R   R«   (    (    (    R
-   RJ      s   RŸ   c           B   s   t  Z d  Z RS(   sG   The template references an object not contained in the data dictionary.(   R   R   R«   (    (    (    R
-   RŸ     s   R‡   c           B   s   t  Z d  Z RS(   sG   The object dereferenced by the template is no sequence (tuple or list).(   R   R   R«   (    (    (    R
-   R‡     s   Rc   c           B   s   t  Z d  Z RS(   s)   This error may be simply a missing [end].(   R   R   R«   (    (    (    R
-   Rc   	  s   RP   c           B   s   t  Z d  Z RS(   s6   This error may be caused by a misspelled if directive.(   R   R   R«   (    (    (    R
-   RP     s   R³   c           B   s   t  Z d  Z RS(   s6   Base location is unavailable, which disables includes.(   R   R   R«   (    (    (    R
-   R³     s   R[   c           B   s   t  Z d  Z RS(   s)   The format specifier is an unknown value.(   R   R   R«   (    (    (    R
-   R[     s   c         C   s   |  i i | ƒ d  S(   N(   R&   R%   Rf   t   s(   R&   R¾   (    (    R
-   t   _raw_printer  s    c         C   s   |  i i t i | ƒ ƒ d  S(   N(   R&   R%   Rf   t   cgit   escapeR¾   (   R&   R¾   (    (    R
-   t
-   _html_printer  s    c           C   s  t  i d ƒ d d d  d g j p t ‚ t  i d ƒ d d d  d d d  d g j p t ‚ t  i d ƒ d d d  d d d  d g j p t ‚ t  i d ƒ d	 d d  d
- d d  d g j p t ‚ t  i d ƒ d d d  d g j p t ‚ t  i d
- ƒ d d
- d  d g j p t ‚ d  S(   Ns   [a]R›   s   [a] [b]R+   s   [b]s	   [a c] [b]s   [a c]s
-   x [a] y [b] zs   x s    y s    zs
-   [a "b" c "d"]s   ["a \"b[foo]" c.d f](   R4   R5   R#   t   AssertionError(    (    (    R
-   t
-   test_parse"  s    )222)c         C   s1   d  k  } d  k } d |  j } | i | d | ƒS(   Ns   -vt   verbose(   t   doctestt   eztt   argvRÅ   t   testmod(   RÈ   RÇ   RÆ   RÅ   (    (    R
-   t   _test/  s    t   __main__i    (;   R«   R   RS   t   typesRe   R¢   R¤   R£   Ro   R®   RÀ   R   t   ImportErrorRŽ   R‘   t   FORMAT_HTMLt
-   FORMAT_XMLt   _itemt   compileR4   RF   RV   R   RU   RE   RC   Rª   R   R“   RW   Rg   Rm   R$   R   R   R   R´   R»   Rµ   t	   NameErrorR‰   t	   ExceptionR½   RJ   RŸ   R‡   Rc   RP   R³   R[   R¿   R   R=   RÄ   RÊ   R   t   syst   exitRÈ   (0   R   RE   R¢   RÊ   R³   R‡   R“   RŸ   R   R   R´   RJ   R‰   Re   RV   R¤   R   R½   RC   RS   Rc   RP   R4   RÐ   RÀ   Rg   R   R[   RW   RÔ   R$   Ro   RF   R=   Rª   RÎ   R£   R‘   RŽ   R¿   RÏ   R»   R   RÄ   RU   Rm   R   R®   (    (    R
-   t   ?É   sj    		%		
-	3û		0	(	'(		!	
-	
-	
\ No newline at end of file

Deleted: trunk/gforge/www/scm/viewvc/lib/idiff.pyc
===================================================================
--- trunk/gforge/www/scm/viewvc/lib/idiff.pyc	2009-02-06 03:03:08 UTC (rev 6952)
+++ trunk/gforge/www/scm/viewvc/lib/idiff.pyc	2009-02-06 09:19:51 UTC (rev 6953)
@@ -1,76 +0,0 @@
-mò
-ž-{Dc           @   sà   d  k  l Z d k Z d k Z d k Z d k Z d k Z d „  Z e i d ƒ Z	 d „  Z
- d „  Z d „  Z e i d ƒ Z
- d „  Z d	 f  d
- „  ƒ  YZ y e i Wn e j
- o
- d Z n Xd S(   (   s
-   generatorsNc   
-      c   sÑ   d „  } t | |  ƒ }  t | | ƒ } t } x t i |  | | ƒ D]† \ } } } | d j o$ | d j o | d j o
- t
- } qC t | | ƒ } t | | ƒ }	 t d t i | ƒ d | |	 f ƒ Vt } qC Wd S(   s   Generate side by side diffc         C   s
-   |  i d ƒ S(   Ns   
-(   t   linet   rstrip(   R    (    (    t.   /opt/gforge/gforge/www/scm/viewvc/lib/idiff.pyt   <lambda>   s    t   gapt   columnsN(   t
-   line_stript   mapt	   fromlinest   tolinest   FalseR   t   difflibt   _mdifft   contextt   fromdatat   todatat   flagt   Nonet   Truet   _mdiff_splitt	   from_itemt   to_itemt   _itemt   eztt   boolean(
-   R   R	   R
-   R   R   R   R   R   R   R   (    (    R   t
-   sidebyside   s     	 '
-"t    ([+-^])(.*?)c         C   s®  | \ } } g  } d } x€t oxt i | | ƒ } | p. | i t	 d t
- i | | ƒ d d ƒ ƒ Pn | i
- ƒ  | j o6 | i t	 d t
- i | | | i
- ƒ  !ƒ d d ƒ ƒ n | i d ƒ d j o2 | i t	 d t
- i | i d ƒ ƒ d d ƒ ƒ n‘ | i d ƒ d j o2 | i t	 d t
- i | i d ƒ ƒ d d	 ƒ ƒ nI | i d ƒ d
- j o2 | i t	 d t
- i | i d ƒ ƒ d d ƒ ƒ n | i ƒ  } q Wt	 d | d
- | ƒ S(   s,   Break up row from mdiff output into segmentsi    t   textt   typei   t   +i   t   addt   -t   removet   ^t   changet   segmentst   line_numberN(   R$   R   R#   t   posR   t	   _re_mdifft   searcht   mt   appendR   t   cgit   escapeR   t   startt   groupt   end(   R   t   .2R$   R   R#   R(   R%   (    (    R   R   -   s&     )6222c         c   s¡   t  i ƒ  i |  | ƒ } d } xd t | | ƒ D]S } | d i d ƒ o t | | d ƒ Vd } q. | o t | d ƒ Vn | } q. W| o t | d ƒ Vn d S(   s   Generate unified diffi    s   ? N(
-   R   t   Differt   compareR   R	   t   diffR   t   lastrowt
-   _trim_contextR
-   t   rowt
-   startswitht
-   _differ_split(   R   R	   R
-   R2   R3   R5   (    (    R   t   unifiedE   s      
-
-c         c   sÍ  d g | p d } d } } d }
- d } } t } x’|  D]Š} d } }	 | i d ƒ o# | d } | | d f } | }
- n¥ | i d ƒ o# | d } | d | f } | }
- nr | i d ƒ oR | d } } | d } } |
- d j o |
- d }
- q| d j	 o
- t }	 qn | | | f } |	 oE | | | | | <| | j o | d | } t } qÅ| d } q; | | j x9 | o1 | | | f Vt } | d | } | d } q{W| | f Vt } q; Wd S(   sr   Trim context lines that don't surround changes from Differ results
-
-  yields (line, leftnum, rightnum, gap) tuplesi    s   - i   s   + s     N(   R   t   context_sizet   context_buffert
-   context_startt   context_lent   context_owedt   leftnumt   rightnumR
-   R   t   linesR    R5   t   saveR6   R   (   R@   R9   R?   R>   R   R<   R:   R;   R    RA   R=   R5   (    (    R   R4   W   sP     
-
- 
-
-
-
-
-
-
-
-
-
- s   [+-^]+c   
-      C   s{  |  \ } } }	 } | o |	 o
- d } n# | o
- d } n |	 o
- d } n g  } d } | oÅ | i	 d ƒ p t
- ‚ x« t i | | ƒ D]“ } | i ƒ  | j o6 | i t d t i | | | i ƒ  !ƒ d d
- ƒ ƒ n | i t d t i | | i ƒ  | i ƒ  !ƒ d d ƒ ƒ | i ƒ  } q‰ Wn | i t d t i | | ƒ d d
- ƒ ƒ t d	 t i | ƒ d | d
- | d | d |	 ƒ S(   s(   Break row into segments using guide linet    R    R   i   s   ? R   R   R"   R   R#   t   left_numbert   right_numberN(   R5   R    RC   RD   R   R   R#   R%   t   guideR6   t   AssertionErrort
-   _re_differt   finditerR(   R,   R)   R   R*   R+   R   R.   R   R   (
-   R5   RE   RC   R#   R(   R%   R   R    R   RD   (    (    R   R7   –   s,     
-
-
- 6+
-)R   c           B   s   t  Z d „  Z RS(   Nc         K   s   t  |  ƒ i | ƒ d  S(   N(   t   varst   selft   updatet   kw(   RJ   RL   (    (    R   t   __init__´   s    (   t   __name__t
-   __module__RM   (    (    (    R   R   ³   s   (   t
-   __future__t
-   generatorsR   t   syst   reR   R*   R   t   compileR&   R   R8   R4   RG   R7   R   R   t   AttributeErrorR   (   R*   R8   RG   R   R4   R&   R   RR   RS   RQ   R   R   R   R7   (    (    R   t   ?   s"   
-									=	
\ No newline at end of file

Deleted: trunk/gforge/www/scm/viewvc/lib/popen.pyc
===================================================================
--- trunk/gforge/www/scm/viewvc/lib/popen.pyc	2009-02-06 03:03:08 UTC (rev 6952)
+++ trunk/gforge/www/scm/viewvc/lib/popen.pyc	2009-02-06 09:19:51 UTC (rev 6953)
@@ -1,101 +0,0 @@
-mò
-ž-{Dc           @   s¶   d  k  Z  d  k Z d  k Z d  k Z d  k Z e i d j o1 d  k Z d  k Z d  k Z d  k	 Z	 d  k
- Z
- n d d „ Z d  d „ Z
- d e i f d „  ƒ  YZ d f  d „  ƒ  YZ d  S(	   Nt   win32i   c         C   sí  t  i d j ot i |  | ƒ } t i | d ƒ d j o d  } t i
- ov d  t i ƒ  } } t i d d | f ƒ \ } } | o | } | }
- qù t i ƒ  }
- t i d  d |
- f ƒ \ } } q¯t i d d ƒ \ } } | o
- | } q¯t i d ƒ } n³ t i
- o„ t i ƒ  t i ƒ  t i ƒ  } } }
- t i d d | f ƒ \ } } t i d  d | f ƒ \ } } t i d  d |
- f ƒ \ } } n% t i d d ƒ \ } } d  } d  } t i | | | | ƒ \ }	 } } }
- t i
- o t i | | | |
- ƒ n t  t i! | | ƒ |	 ƒ Sn t  i" i# ƒ  t  i$ i# ƒ  t% i& ƒ  \ } } t% i) ƒ  } | om t i | d ƒ d j o* t% i* | ƒ t  t% i+ | | ƒ | ƒ Sn t% i* | ƒ t  t% i+ | | ƒ | ƒ Sn t% i, d t% i- ƒ } t i | d ƒ d j oO t% i/ | d ƒ t% i/ | d ƒ | o t% i/ | d ƒ qmt% i/ | d ƒ n1 t% i/ | d ƒ t% i/ | d ƒ t% i/ | d ƒ t% i* | ƒ t% i* | ƒ t% i* | ƒ y! t% i0 |  |  f t1 | ƒ ƒ Wn$ d G|  Gt i2 | ƒ Gd GH‚  n Xt  i3 d	 ƒ d  S(
-   NR    t   ri    i   s	   /dev/nulli   s   <h2>exec failed:</h2><pre>s   </pre>i   (4   t   syst   platformt
-   win32popent   CommandLinet   cmdt   argst   commandt   stringt   findt   modet   Nonet   hStdInt   debugt   SHOW_CHILD_PROCESSESt   StringIOt   dbgInt   dbgOutt   MakeSpyPipet   handlet   hStdOutt   capture_errt   hStdErrt   dbgErrt   xt
-   CreatePipet   NullFilet
-   CreateProcesst   phandlet   pidt   thandlet   tidt   Processt   _pipet   File2FileObjectt   stdoutt   flusht   stderrt   ost   pipeR   t   wt   forkt   closet   fdopent   opent   O_RDWRt   nullt   dup2t   execvpt   tuplet   joint   exit(   R   R   R   R   R
-   R   R   R/   R   R   R    R   R   R   R   R   R   R)   R   R   (    (    t.   /opt/gforge/gforge/www/scm/viewvc/lib/popen.pyt   popen#   sr    
-
-"
-
-&"$
-
-
-
-
-
-
-
-!c         C   sú  | d j o
- t i } n t i d j oåt i oŒt i ƒ  } t	 i
- d d | f ƒ \ } }
- d } xˆ|  D]M} | d } t i ƒ  t i ƒ  } } | t |  ƒ j  o@ t	 i
- d d | f ƒ \ }	 } t	 i
- d d | f ƒ \ } } nd t i d d d d ƒ } t	 i
- d d | t i i ƒ  f | ƒ \ }	 } t	 i
- d d | f ƒ \ } } t	 i | d | d ƒ } t	 i | | | | ƒ \ }
- } } } t i o t i$ | | | | ƒ n | } |	 } qk Wn0t	 i% d d ƒ \ } }
- d } d } x|  D] } | d } | t |  ƒ j  o t	 i% d d ƒ \ }	 } n~ d }	 t i i' o( t	 i( t	 i) t i ƒ d ƒ } d } nC t i d d d d ƒ } t	 i
- d d t i i ƒ  f | ƒ \ } } t	 i | d | d ƒ } t	 i | | | d ƒ \ }
- } } } |	 } qëWt* t	 i+ |
- d ƒ |
- | ƒ Sn t i i, ƒ  t i- i, ƒ  t. i/ ƒ  \ } } t. i2 d t. i3 ƒ } g  } x|  d  D]ü } t. i/ ƒ  \ } } t. i8 ƒ  } | p¤ t. i9 | d ƒ t. i9 | d ƒ t. i9 | d ƒ t. i: | ƒ t. i: | ƒ t. i: | ƒ t. i: | ƒ t. i: | ƒ y t. i; | d | ƒ Wn n Xt i< d ƒ n | i= | ƒ t. i: | ƒ t. i: | ƒ | } qaWt. i: | ƒ t> | d	 ƒ p t. i/ ƒ  \ } } n t. i8 ƒ  } | pÚ t. i9 | d ƒ t> | d	 ƒ o; | i? ƒ  d j o$ t. i9 | i? ƒ  d ƒ | i: ƒ  q,n+ t. i9 | d ƒ t. i: | ƒ t. i: | ƒ t. i: | ƒ t. i: | ƒ y  t. i; |  d d |  d ƒ Wn n Xt i< d ƒ n | i= | ƒ t. i: | ƒ t> | d	 ƒ p* t. i: | ƒ t@ | | ƒ } | iB ƒ  n d } t* t. iC | d
- ƒ | d | ƒS(
-   s’  Executes a sequence of commands. The output of each command is directed to
-  the input of the next command. A _pipe object is returned for writing to the
-  first command's input. The output of the last command is directed to the
-  "out" file object or the standard output if "out" is None. If "out" is not an
-  OS file descriptor, a separate thread will be spawned to send data to its
-  write() method.R    i   i    t   wbs	   /dev/nulliÿÿÿÿi   i   t   filenoR)   t   threadN(D   t   outR   R   R$   R   R   R   R   R   R   R   R
-   R   t   it   cmdsR   R   R   t   lent	   nextStdInR   R   R   t
-   win32eventt   CreateEventt   ehandlet   sapit   servert   fileR   R   R   R   R   R   R    R!   R   t   spoolt   inheritableOutt   MakeInheritedHandlet   FileObject2FileR"   R#   R%   R&   R'   R(   t   prev_rt   parent_wR-   R.   R/   t
-   child_pidsR   R)   R*   R0   R+   R1   R4   t   appendt   hasattrR8   t   _copyR9   t   startR,   (   R<   R:   R
-   RA   RI   R   R/   R   RE   R>   R   R    R   R   R   R   RK   R   RJ   R9   R;   R   R   R   R)   R   R   (    (    R5   t	   pipe_cmds†   s     
-
-
- 
-"-$
- 
-
-
-*$
- 
-
- 
-
-
-
-
-
-
-
-
-
-
-
-
-
- 
-
-
-RN   c           B   s   t  Z d „  Z d „  Z RS(   Nc         C   s&   | |  _  | |  _ t i i |  ƒ d  S(   N(   t   srcfdt   selft   destfilet	   threadingt   Threadt   __init__(   RR   RQ   RS   (    (    R5   RV   3  s    		c         C   sU   z= x6 t  i |  i d ƒ } | p Pn |  i i | ƒ q WWd  t  i |  i ƒ Xd  S(   Ni   i   (   R'   t   readRR   RQ   t   sRS   t   writeR+   (   RR   RX   (    (    R5   t   run8  s       (   t   __name__t
-   __module__RV   RZ   (    (    (    R5   RN   2  s   	R"   c           B   sA   t  Z d  Z e e d „ Z d „  Z d „  Z d „  Z d „  Z RS(   sE   Wrapper for a file which can wait() on a child process at close time.c         C   sY   | |  _  | |  _ t i d j o* | o | | f |  _ qU | f |  _ n
- | |  _ d  S(   NR    (   RD   RR   t	   child_pidR   R   t
-   done_eventt   wait_forR9   (   RR   RD   R]   R^   R9   (    (    R5   RV   E  s    		c         C   sÓ   t  i d j oZ t i |  i d d ƒ } | t i j o* |  i i	 ƒ  d  |  _ t i |  i
- ƒ Sn d  Sn |  i o |  i i ƒ  o d  Sn t i |  i
- t i ƒ \ } } | o |  i i	 ƒ  d  |  _ | Sn d  S(   NR    i   i    (   R   R   R?   t   WaitForMultipleObjectsRR   R_   R   t
-   WAIT_OBJECT_0RD   R+   R   t   win32processt   GetExitCodeProcessR]   R9   t   isAliveR'   t   waitpidt   WNOHANGR   t   status(   RR   Rg   R   R   (    (    R5   t   eofP  s    
-	
-	c         C   så   |  i o× |  i i ƒ  d  |  _ t i d j o- t i |  i d t i	 ƒ t
- i |  i ƒ Sqá |  i
- o |  i
- i ƒ  n t |  i ƒ t g  ƒ j o2 x' |  i D] } t i | d ƒ d } qž W| Sqá t i |  i d ƒ d Sn d  S(   NR    i   i    (   RR   RD   R+   R   R   R   R?   R`   R_   t   INFINITERb   Rc   R]   R9   R3   t   typeR   R'   Re   R4   (   RR   R   R4   (    (    R5   R+   e  s    
-
-	
-
- c         C   s   t  |  i | ƒ S(   N(   t   getattrRR   RD   t   name(   RR   Rl   (    (    R5   t   __getattr__w  s    c         C   s   |  i ƒ  d  S(   N(   RR   R+   (   RR   (    (    R5   t   __del__z  s    (	   R[   R\   t   __doc__R   RV   Rh   R+   Rm   Rn   (    (    (    R5   R"   B  s    			(   R'   R   RB   RT   R	   R   R   R?   Rb   R   R   R6   R   RP   RU   RN   R"   (   RB   R   Rb   RN   R   R6   R"   RP   R   RT   R   R'   R?   R	   (    (    R5   t   ?   s   									
-c¬
\ No newline at end of file

Deleted: trunk/gforge/www/scm/viewvc/lib/sapi.pyc
===================================================================
--- trunk/gforge/www/scm/viewvc/lib/sapi.pyc	2009-02-06 03:03:08 UTC (rev 6952)
+++ trunk/gforge/www/scm/viewvc/lib/sapi.pyc	2009-02-06 09:19:51 UTC (rev 6953)
@@ -1,119 +0,0 @@
-mò
-ž-{Dc           @   sé   d  k  Z  d  k Z d  k Z d  k Z d  k Z d  a d f  d „  ƒ  YZ d e f d „  ƒ  YZ d f  d „  ƒ  YZ	 d f  d „  ƒ  YZ
- d	 e f d
- „  ƒ  YZ d e f d „  ƒ  YZ e i
- d
- ƒ Z d e f d „  ƒ  YZ d „  Z d „  Z d  S(   Nt   Serverc           B   s#   t  Z d „  Z d „  Z d „  Z RS(   Nc         C   s
-   h  |  _ d  S(   N(   t   selft   pageGlobals(   R   (    (    t-   /opt/gforge/gforge/www/scm/viewvc/lib/sapi.pyt   __init__   s    c         C   s   |  S(   N(   R   (   R   (    (    R   R   "   s    c         C   s   d  S(   N(    (   R   (    (    R   t   close%   s    (   t   __name__t
-   __module__R   R   R   (    (    (    R   R       s   		t   ThreadedServerc           B   s#   t  Z d „  Z d „  Z d „  Z RS(   Nc         C   sj   t  i |  ƒ d |  _ t t t ƒ p
- t ƒ  a n t t i t	 ƒ p t	 t ƒ t _ n t i
- |  ƒ d  S(   Ni    (   R    R   R   t   inheritableOutt
-   isinstancet   servert   ThreadedServerProxyt   syst   stdoutt   Filet   registerThread(   R   (    (    R   R   *   s    
-	 
-c         C   s
-   t  |  ƒ S(   N(   R   R   (   R   (    (    R   t   file6   s    c         C   s   t  i ƒ  d  S(   N(   R   t   unregisterThread(   R   (    (    R   R   9   s    (   R   R   R   R   R   (    (    (    R   R   )   s   		R   c           B   sM   t  Z d  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 RS(   sÈ   In a multithreaded server environment, ThreadedServerProxy stores the
-  different server objects being used to display pages and transparently
-  forwards access to them based on the current thread id.c         C   s   h  |  i d <d  k a d  S(   Nt   servers(   R   t   __dict__t   thread(   R   (    (    R   R   B   s    
- c         C   s   | |  i d t i ƒ  <d  S(   NR   (   R   R   R   R   t	   get_ident(   R   R   (    (    R   R   G   s    c         C   s   |  i d t i ƒ  =d  S(   NR   (   R   R   R   R   (   R   (    (    R   R   J   s    c         C   s   |  i d t i ƒ  S(   sa   This function bypasses the getattr and setattr trickery and returns
-    the actual server object.R   N(   R   R   R   R   (   R   (    (    R   R   M   s     c         C   s   t  |  i ƒ  | ƒ S(   N(   t   getattrR   t   key(   R   R   (    (    R   t   __getattr__R   s    c         C   s   t  |  i ƒ  | | ƒ d  S(   N(   t   setattrR   R   t   value(   R   R   R   (    (    R   t   __setattr__U   s    c         C   s   t  |  i ƒ  | ƒ d  S(   N(   t   delattrR   R   (   R   R   (    (    R   t   __delattr__X   s    (
-   R   R   t   __doc__R   R   R   R   R   R   R   (    (    (    R   R   =   s    						R   c           B   s>   t  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z RS(   Nc         C   s1   d |  _ d |  _ d |  _ d |  _ | |  _ d  S(   Ni    t   ws   <AspFile file>(   R   t   closedt   modet   namet	   softspaceR   (   R   R   (    (    R   R   ]   s
-    				c         C   s   |  i i | ƒ d  S(   N(   R   R   t   writet   s(   R   R&   (    (    R   R%   d   s    c         C   s%   x | D] } |  i i | ƒ q Wd  S(   N(   t   listR&   R   R   R%   (   R   R'   R&   (    (    R   t
-   writelinesg   s     c         C   s   |  i i ƒ  d  S(   N(   R   R   t   flush(   R   (    (    R   R)   k   s    c         C   s   d  S(   N(    (   R   t   size(    (    R   t   truncaten   s    c         C   s   d  S(   N(    (   R   (    (    R   R   q   s    (   R   R   R   R%   R(   R)   R+   R   (    (    (    R   R   \   s   					t	   CgiServerc           B   s   t  Z d d „ Z d „  Z d d  d „ Z d „  Z d  d „ Z d  d „ Z d	 „  Z	 d  d  d
- e
- i d d d „ Z d
- „  Z
- d „  Z d „  Z RS(   Ni   c         C   s   t  i |  ƒ d |  _ g  |  _ | |  _ t i i d d ƒ d  d j |  _	 t
- i d j o0 | o) d  k } | i
- t
- i i ƒ  t i ƒ n |  a d  k a d  S(   Ni    t   SERVER_SOFTWAREt    i
-   s
-   Microsoft-IISt   win32(   R    R   R   t
-   headerSentt   headersR	   t   ost   environt   gett   iisR
-   t   platformt   msvcrtt   setmodeR   t   filenot   O_BINARYR   t   cgi(   R   R	   R7   (    (    R   R   v   s    
-			"	   c         C   s   |  i i | | f ƒ d  S(   N(   R   R1   t   appendR#   R   (   R   R#   R   (    (    R   t	   addheader‡   s    s	   text/htmlc         C   s¨   |  i pš d |  _ d } x+ |  i D]  \ } } | d | | f } q# W| d  j p | d  d j o |  i o
- d } n d | } t	 i
- i d | | | f ƒ n d  S(   Ni   R.   s   %s: %s
-i   t   304s   Status: %s
-s   %sContent-Type: %s
-%s
-(
-   R   R0   t   extraheadersR1   R#   R   t   statust   NoneR5   R
-   R   R%   t   content_type(   R   RB   R@   R#   R?   R   (    (    R   t   headerŠ   s    
-	
- (
-
-c         C   sW   |  i o t |  | ƒ } n |  i d | ƒ |  i d d ƒ d | GHt i d ƒ d  S(   Nt   LocationR@   s	   301 Moveds/   This document is located <a href="%s">here</a>.i    (   R   R5   t   fix_iis_urlt   urlR=   RC   R
-   t   exit(   R   RF   (    (    R   t   redirect   s    
- 	c         C   s   t  i | | ƒ S(   N(   R;   t   escapeR&   t   quote(   R   R&   RJ   (    (    R   RI   ¤   s    c         C   sJ   t  i i | | ƒ } |  i o' | d j o | o t |  | ƒ } n | S(   Nt	   PATH_INFO(	   R2   R3   R4   R#   R   t   retR   R5   t   fix_iis_path_info(   R   R#   R   RL   (    (    R   t   getenv§   s    c         C   s
-   t  i ƒ  S(   N(   R;   t   parse(   R   (    (    R   t   params­   s    R.   i    c         C   s   t  i |  | | | | | ƒ S(   N(   R;   t   FieldStoraget   fpR1   t
-   outerboundaryR3   t   keep_blank_valuest   strict_parsing(   RR   R1   RS   R3   RT   RU   (    (    R   RQ   °   s    c         C   s   t  i i | ƒ d  S(   N(   R
-   R   R%   R&   (   R   R&   (    (    R   R%   µ   s    c         C   s   t  i i ƒ  d  S(   N(   R
-   R   R)   (   R   (    (    R   R)   ¸   s    c         C   s   t  i S(   N(   R
-   R   (   R   (    (    R   R   »   s    (   R   R   R   R=   RA   RC   RH   RI   RN   RP   R2   R3   RQ   R%   R)   R   (    (    (    R   R,   u   s   					t	   AspServerc           B   sƒ   t  Z d „  Z d „  Z d  d  d „ Z d „  Z d  d „ Z d  d „ Z d „  Z	 d  d  d e
- i d	 d	 d
- „ Z d „  Z
- d „  Z RS(
-   Nc         C   s>   t  i |  ƒ d |  _ | |  _ | |  _ | |  _	 | |  _ d  S(   Ni    (   R   R   R   R0   R    R   t   Requestt   requestt   Responset   responset   Applicationt   application(   R   R    RW   RY   R[   (    (    R   R   À   s    
-				c         C   s   |  i i | | ƒ d  S(   N(   R   RZ   t	   AddHeaderR#   R   (   R   R#   R   (    (    R   R=   È   s    c         C   so   |  i pa yG d |  _ | d  j	 o | |  i _ n | d  j	 o | |  i _ n Wqk t j
- o qk Xn d  S(   Ni   (	   R   R0   RB   RA   RZ   t   ContentTypeR@   t   Statust   AttributeError(   R   RB   R@   (    (    R   RC   Ë   s    
-	
- 
- c         C   s   |  i i | ƒ t i ƒ  d  S(   N(   R   RZ   t   RedirectRF   R
-   RG   (   R   RF   (    (    R   RH   Ù   s    c         C   s   |  i i t | ƒ ƒ S(   N(   R   R   t
-   HTMLEncodet   strR&   (   R   R&   RJ   (    (    R   RI   Ý   s    c         C   sc   |  i i | ƒ ƒ  } t | ƒ t i j	 o | Sn t	 | ƒ } | d j o t
- |  | ƒ } n | S(   NRK   (   R   RX   t   ServerVariablesR#   RL   t   typet   typest   UnicodeTypeR   Rc   RM   (   R   R#   R   RL   (    (    R   RN   à   s    
-c         C   s~   h  } x7 |  i i D]) } t t |  i i | ƒ | t | ƒ <q Wx7 |  i i D]) } t t |  i i | ƒ | t | ƒ <qM W| S(   N(   t   pR   RX   t   Formt   it   mapRc   t   QueryString(   R   Rj   Rh   (    (    R   RP   é   s    
- '
- 'R.   i    c   
-      C   s¹   d k  l  } d k l }
- h  } x9 |  i i D]+ }	 t |  i i |	 ƒ ƒ  ƒ | t |	 ƒ <q- W|  i i	 t
- | d ƒ ƒ \ } } | t | ƒ ƒ } |
- | d  d | | | ƒ } | i ƒ  | S(   N(   s   StringIO(   s   FieldStoraget   CONTENT_LENGTHR.   (   t   StringIOR;   RQ   R3   R   RX   Rd   Rj   Rc   t
-   BinaryReadt   intt
-   binaryContentR*   RR   RA   RT   RU   t   fsR   (
-   R   RR   R1   RS   R3   RT   RU   Rr   Rn   Rj   RQ   Rq   R*   (    (    R   RQ   ñ   s    
-
-
- )"
-c         C   sf   t  | ƒ } | t i j o t | ƒ } n' | t i j	 o t t | ƒ ƒ } n |  i	 i
- | ƒ d  S(   N(   Re   R&   t   tRf   t
-   StringTypet   buffert
-   BufferTypeRc   R   RZ   t   BinaryWrite(   R   R&   Rs   (    (    R   R%     s    c         C   s   |  i i ƒ  d  S(   N(   R   RZ   t   Flush(   R   (    (    R   R)     s    (   R   R   R   R=   RA   RC   RH   RI   RN   RP   R2   R3   RQ   R%   R)   (    (    (    R   RV   ¿   s   							s   \d+t   ModPythonServerc           B   sƒ   t  Z d „  Z d „  Z d  d  d „ Z d „  Z d  d „ Z d  d „ Z d „  Z	 d  d  d e
- i d	 d	 d
- „ Z d „  Z
- d „  Z RS(
-   Nc         C   s,   t  i |  ƒ | |  _ d |  _ d  k a d  S(   Ni    (   R   R   R   RX   R0   R;   (   R   RX   (    (    R   R     s
-    
-		 c         C   s   |  i i i | | ƒ d  S(   N(   R   RX   t   headers_outt   addR#   R   (   R   R#   R   (    (    R   R=      s    c         C   s   | d  j o d |  i _  n
- | |  i _  d |  _ | d  j	 o< t i | ƒ } | d  j	 o t	 | i
- ƒ  ƒ |  i _ q{ n d  S(   Ns	   text/htmli   (   RB   RA   R   RX   R0   R@   t
-   _re_statust   matcht   mRp   t   group(   R   RB   R@   R~   (    (    R   RC   #  s    
-	
-
-c         C   sS   d  k  } | |  i i d <| i i |  i _ |  i i	 d | | f ƒ t
- i ƒ  d  S(   NRD   s/   You are being redirected to <a href="%s">%s</a>(   t   mod_python.apachet
-   mod_pythonRF   R   RX   Rz   t   apachet   HTTP_MOVED_TEMPORARILYR@   R%   R
-   RG   (   R   RF   R   (    (    R   RH   /  s
-    	c         C   s   t  i | | ƒ S(   N(   R;   RI   R&   RJ   (   R   R&   RJ   (    (    R   RI   7  s    c         C   s0   y |  i i | SWn t j
- o | Sn Xd  S(   N(   R   RX   t   subprocess_envR#   t   KeyErrorR   (   R   R#   R   (    (    R   RN   :  s    c         C   s>   d  k  } |  i i d  j o h  Sn | i i |  i i ƒ Sd  S(   N(   t   mod_python.utilR   R   RX   t   argsRA   t   utilt   parse_qs(   R   R   (    (    R   RP   @  s    	R.   i    c         C   s"   d  k  } | i i |  i | | ƒ S(   N(   R†   R   Rˆ   RQ   R   RX   RT   RU   (   R   RR   R1   RS   R3   RT   RU   R   (    (    R   RQ   G  s    	c         C   s   |  i i | ƒ d  S(   N(   R   RX   R%   R&   (   R   R&   (    (    R   R%   L  s    c         C   s   d  S(   N(    (   R   (    (    R   R)   O  s    (   R   R   R   R=   RA   RC   RH   RI   RN   RP   R2   R3   RQ   R%   R)   (    (    (    R   Ry     s   					c         C   s—   | d d j o‚ |  i d ƒ d j o d } d } n
- d } d } | |  i d	 ƒ } |  i d
- ƒ | j o | d |  i d
- ƒ } n | | Sn | S(
-   s‰  When a CGI application under IIS outputs a "Location" header with a url
-  beginning with a forward slash, IIS tries to optimise the redirect by not
-  returning any output from the original CGI script at all and instead just
-  returning the new page in its place. Because of this, the browser does
-  not know it is getting a different page than it requested. As a result,
-  The address bar that appears in the browser window shows the wrong location
-  and if the new page is in a different folder than the old one, any relative
-  links on it will be broken.
-
-  This function can be used to circumvent the IIS "optimization" of local
-  redirects. If it is passed a location that begins with a forward slash it
-  will return a URL constructed with the information in CGI environment.
-  If it is passed a URL or any location that doens't begin with a forward slash
-  it will return just argument unaltered.
-  i    t   /t   HTTPSt   ont   443s   https://t   80s   http://t	   HTTP_HOSTt   SERVER_PORTt   :N(   RF   R   RN   t   dportt   prefix(   R   RF   R’   R“   (    (    R   RE   S  s     
-c         C   s   | t |  i d d ƒ ƒ S(   s   Fix the PATH_INFO value in IISt   SCRIPT_NAMER.   N(   t	   path_infot   lenR   RN   (   R   R•   (    (    R   RM   q  s     (   Rf   t   stringR2   R
-   t   reRA   R   R    R   R   R   R,   RV   t   compileR|   Ry   RE   RM   (   RV   R,   Ry   R—   R|   R   R
-   R˜   RE   R   R   RM   R    R2   Rf   (    (    R   t   ?   s   					JU<	
\ No newline at end of file

Deleted: trunk/gforge/www/scm/viewvc/lib/vclib/__init__.pyc
===================================================================
--- trunk/gforge/www/scm/viewvc/lib/vclib/__init__.pyc	2009-02-06 03:03:08 UTC (rev 6952)
+++ trunk/gforge/www/scm/viewvc/lib/vclib/__init__.pyc	2009-02-06 09:19:51 UTC (rev 6953)
@@ -1,118 +0,0 @@
-mò
-ž-{Dc           @   s  d  Z  d k Z d k Z d Z d Z d Z d Z d Z d f  d „  ƒ  YZ d	 f  d
- „  ƒ  YZ	 d f  d „  ƒ  YZ
- d
- e f d „  ƒ  YZ d e f d „  ƒ  YZ
- d e f d „  ƒ  YZ d e f d „  ƒ  YZ d k Z d k Z d k Z d „  Z d f  d „  ƒ  YZ d S(   sQ   Version Control lib is an abstract API to access versioning systems
-such as CVS.
-Nt   FILEt   DIRi   i   i   t
-   Repositoryc           B   sP   t  Z d  Z d „  Z d „  Z d „  Z d „  Z d „  Z h  d „ Z d „  Z	 RS(   s)   Abstract class representing a repository.c         C   s   d S(   s3  Return the type of the item (file or dir) at the given path and revision
-
-    The result will be vclib.DIR or vclib.FILE
-
-    The path is specified as a list of components, relative to the root
-    of the repository. e.g. ["subdir1", "subdir2", "filename"]
-
-    rev is the revision of the item to check
-    N(    (   t   selft
-   path_partst   rev(    (    t7   /opt/gforge/gforge/www/scm/viewvc/lib/vclib/__init__.pyt   itemtype#   s    	c         C   s   d S(   so  Open a file object to read file contents at a given path and revision.
-
-    The return value is a 2-tuple of containg the file object and revision
-    number in canonical form.
-
-    The path is specified as a list of components, relative to the root
-    of the repository. e.g. ["subdir1", "subdir2", "filename"]
-
-    rev is the revision of the file to check out
-    N(    (   R   R   R   (    (    R   t   openfile/   s    
-c         C   s   d S(   sP  Return list of files in a directory
-
-    The result is a list of DirEntry objects
-
-    The path is specified as a list of components, relative to the root
-    of the repository. e.g. ["subdir1", "subdir2", "filename"]
-
-    rev is the revision of the directory to list
-
-    options is a dictionary of implementation specific options
-    N(    (   R   R   R   t   options(    (    R   t   listdir;   s    c         C   s   d S(   sÝ  Augment directory entries with log information
-
-    New properties will be set on all of the DirEntry objects in the entries
-    list. At the very least, a "rev" property will be set to a revision
-    number or None if the entry doesn't have a number. Other properties that
-    may be set include "date", "author", and "log".
-
-    The path is specified as a list of components, relative to the root
-    of the repository. e.g. ["subdir1", "subdir2", "filename"]
-
-    rev is the revision of the directory listing and will effect which log
-    messages are returned
-
-    entries is a list of DirEntry objects returned from a previous call to
-    the listdir() method
-
-    options is a dictionary of implementation specific options
-    N(    (   R   R   R   t   entriesR	   (    (    R   t   dirlogsH   s    c         C   s   d S(   s^  Retrieve an item's log information
-
-    The result is a list of Revision objects
-
-    The path is specified as a list of components, relative to the root
-    of the repository. e.g. ["subdir1", "subdir2", "filename"]
-
-    rev is the revision of the item to return information about
-
-    options is a dictionary of implementation specific options
-    N(    (   R   R   R   R	   (    (    R   t   itemlog\   s    c         C   s   d S(   s¯  Return a diff (in GNU diff format) of two file revisions
-
-    type is the requested diff type (UNIFIED, CONTEXT, etc)
-
-    options is a dictionary that can contain the following options plus
-    implementation-specific options
-
-      context - integer, number of context lines to include
-      funout - boolean, include C function names
-      ignore_white - boolean, ignore whitespace
-
-    Return value is a python file object
-    N(    (   R   t   path_parts1t   rev1t   path_parts2t   rev2t   typeR	   (    (    R   t   rawdiffi   s    
-c         C   s   d S(   so  Return a list of annotate file content lines and a revision.
-
-    The annotated lines are an collection of objects with the
-    following addressable members:
-
-       text        - raw text of a line of file contents
-       line_number - line number on which the line is found
-       rev         - revision in which the line was last modified
-       prev_rev    - revision prior to 'rev'
-       author      - author who last modified the line
-       date        - date on which the line was last modified, in seconds
-                     since the epoch, GMT
-
-    These object are sort by their line_number components.
-    N(    (   R   R   R   (    (    R   t   annotatex   s    (
-   t   __name__t
-   __module__t   __doc__R   R   R
-   R   R
-   R   R   (    (    (    R   R       s    			
-		
-t   DirEntryc           B   s   t  Z d  Z g  d „ Z RS(   s0   Instances represent items in a directory listingc         C   s   | |  _  | |  _ | |  _ d  S(   N(   t   nameR   t   kindt   errors(   R   R   R   R   (    (    R   t   __init__Ž   s    		(   R   R   R   R   (    (    (    R   R   ‹   s    t   Revisionc           B   s    t  Z d  Z d „  Z d „  Z RS(   sB   Instances holds information about revisions of versioned resourcesc         C   sC   | |  _  | |  _ | |  _ | |  _ | |  _ | |  _ | |  _ d  S(   N(   t   numberR   t   stringt   datet   authort   changedt   logt   size(   R   R   R   R    R!   R"   R#   R$   (    (    R   R   Ÿ   s    						c         C   s   t  |  i | i ƒ S(   N(   t   cmpR   R   t   other(   R   R&   (    (    R   t   __cmp__¨   s    (   R   R   R   R   R'   (    (    (    R   R   “   s    
- 		t   Errorc           B   s   t  Z RS(   N(   R   R   (    (    (    R   R(   ­   s   t
-   ReposNotFoundc           B   s   t  Z RS(   N(   R   R   (    (    (    R   R)   ¯   s   t   ItemNotFoundc           B   s   t  Z d „  Z RS(   Nc         C   sI   t  | ƒ t i t i f j o t i | d ƒ } n t i |  | ƒ d  S(   Nt   /(
-   R   t   patht   typest	   TupleTypet   ListTypeR   t   joinR(   R   R   (   R   R,   (    (    R   R   ²   s    (   R   R   R   (    (    (    R   R*   ±   s   t   InvalidRevisionc           B   s   t  Z d  d „ Z RS(   Nc         C   s?   | d  j o t i |  d ƒ n t i |  d t | ƒ ƒ d  S(   Ns   Invalid revisions   Invalid revision (   t   revisiont   NoneR(   R   R   t   str(   R   R2   (    (    R   R   ¹   s    
-(   R   R   R3   R   (    (    (    R   R1   ¸   s   c         C   s  g  } |  t j o: | i d ƒ o | i d | d ƒ qÅ | i d ƒ ny |  t j o: | i d ƒ o | i d | d ƒ qÅ | i d ƒ n2 |  t j o | i d ƒ | i d ƒ n t ‚ | i	 d d	 ƒ o | i d
- ƒ n | i	 d d	 ƒ o | i d ƒ n | S(   s1   generate argument list to pass to diff or rcsdifft   contexts   --context=%is   -cs   --unified=%is   -us   --side-by-sides   --width=164t   funouti    s   -pt   ignore_whites   -wN(
-   t   argsR   t   CONTEXTR	   t   has_keyt   appendt   UNIFIEDt   SIDE_BY_SIDEt   NotImplementedErrort   get(   R   R	   R8   (    (    R   t
-   _diff_argsÆ   s&     
-
-
-
-t   _diff_fpc           B   sM   t  Z d  Z e e g  d „ Z d „  Z d „  Z d „  Z d „  Z d „  Z	 RS(   sJ   File object reading a diff between temporary files, cleaning up
-  on closec         C   s…   | |  _  | |  _ | } | o6 | o/ | i d |  i | ƒ d |  i | ƒ g ƒ n | i | | g ƒ t	 i	 d | d ƒ |  _
- d  S(   Ns   -Lt   difft   r(   t   temp1R   t   temp2t	   diff_optsR8   t   info1t   info2t   extendt   _labelt   popent   fp(   R   RD   RE   RG   RH   RF   R8   (    (    R   R   å   s    		/c         C   s   |  i i | ƒ S(   N(   R   RL   t   readt   bytes(   R   RN   (    (    R   RM   î   s    c         C   s
-   |  i i ƒ  S(   N(   R   RL   t   readline(   R   (    (    R   RO   ñ   s    c         C   s†   z( |  i o |  i i ƒ  d  |  _ n Wd  z+ |  i o t i |  i ƒ d  |  _ n Wd  |  i o t i |  i ƒ d  |  _ n XXd  S(   N(   R   RL   t   closeR3   RD   t   ost   removeRE   (   R   (    (    R   RP   ô   s    
-
- 
- 
-c         C   s   |  i ƒ  d  S(   N(   R   RP   (   R   (    (    R   t   __del__  s    c         C   sB   | \ } } } | o t i d t i | ƒ ƒ } d | | | f S(   Ns   %Y/%m/%d %H:%M:%Ss   %s	%s	%s(   R,   R    R   t   timet   strftimet   gmtime(   R   t   .2R,   R    R   (    (    R   RJ     s   "(
-   R   R   R   R3   R   RM   RO   RP   RS   RJ   (    (    (    R   RA   á   s    					(   R   R   R-   R    R   R<   R9   R=   R   R   R   t	   ExceptionR(   R)   R*   R1   RK   RQ   RT   R@   RA   (   R<   R   R9   R   R(   R@   RK   R*   R1   R)   R-   R    R=   RA   R   RQ   RT   R   R   (    (    R   t   ?   s&   		k
-				
\ No newline at end of file

Deleted: trunk/gforge/www/scm/viewvc/lib/vclib/svn/__init__.pyc
===================================================================
--- trunk/gforge/www/scm/viewvc/lib/vclib/svn/__init__.pyc	2009-02-06 03:03:08 UTC (rev 6952)
+++ trunk/gforge/www/scm/viewvc/lib/vclib/svn/__init__.pyc	2009-02-06 09:19:51 UTC (rev 6953)
@@ -1,254 +0,0 @@
-mò
-ž-{Dc           @   s   d  Z  d k Z d k Z d k Z d k Z d k Z d k Z d k Z d k Z d k	 Z	 d k
- Z
- d k l Z l
- Z
- l Z l Z e i e i e i f d, j  o
- e d ‚ n d „  Z d „  Z d	 „  Z d
- „  Z d „  Z d „  Z d
- „  Z d „  Z d d „ Z d „  Z d e i f d „  ƒ  YZ d f  d „  ƒ  YZ  h  d „ Z! d f  d „  ƒ  YZ" d f  d „  ƒ  YZ# d „  Z$ d „  Z% d „  Z& d „  Z' d „  Z( d „  Z) d  „  Z* d! f  d" „  ƒ  YZ+ e
- i, d# ƒ Z- d$ f  d% „  ƒ  YZ. d& e f d' „  ƒ  YZ/ d( e i0 f d) „  ƒ  YZ1 d* f  d+ „  ƒ  YZ2 d S(-   sI   Version Control lib driver for locally accessible Subversion repositoriesN(   s   fss   reposs   cores   deltai   i   i    s3   Version requirement not met (needs 1.2.0 or better)c         C   s   d S(   s8   Generic authz_read_func that permits access to all pathsi   N(    (   t   roott   patht   pool(    (    t;   /opt/gforge/gforge/www/scm/viewvc/lib/vclib/svn/__init__.pyt
-   _allow_all!   s     c         C   s9   |  d | } t d  t i | d ƒ ƒ } t i | d ƒ S(   Nt   /(	   t   baset   relativet   joined_patht   filtert   Nonet   stringt   splitt   partst   join(   R   R   R
-   R   (    (    R   t
-   _fs_path_join&   s    c         C   s%   t  i t d t  i |  d ƒ ƒ d ƒ S(   s.   Return a cleaned-up Subversion filesystem pathR   N(   R   R   R	   R
-   R   R   (   R   (    (    R   t
-   _cleanup_path-   s     c         C   sM  t  |  ƒ } t  | ƒ } t | | ƒ } d } |  | j o d Sn x1 | | j  o# |  | | | j o | d } qE Wd } d } | | j  o |  | } n | | j  o | | } n | d j o | | j o d Sn | d j o | | j o d Sn | | j  o | d j o d Sn | | j  o | d j o d Sn t
- | | ƒ S(   Ni    i   t    R   iÿÿÿÿ(   t   lent   path1t	   path1_lent   path2t	   path2_lent   mint   min_lent   it   char1t   char2t   cmp(   R   R   R   R   R   R   R   R   (    (    R   t   _compare_paths2   s0    
- "
-
-c         C   s)   |  d  j o d  Sn t i |  | ƒ d S(   Ni at B (   t   datestrR
-   t   coret   svn_time_from_cstringR   (   R   R   (    (    R   t   _datestr_to_dateW   s    
-c         C   s^   t  i |  | t i | ƒ } t  i |  | t i | ƒ } t  i |  | t i
- | ƒ } | | | f S(   N(   t   fst
-   revision_propt   fsptrt   revR   t   SVN_PROP_REVISION_AUTHORR   t   authort   SVN_PROP_REVISION_LOGt   msgt   SVN_PROP_REVISION_DATEt   date(   R$   R%   R   R'   R+   R)   (    (    R   t
-   _fs_rev_props]   s    c         C   sa   | d j  p | |  i j o t i | ƒ ‚ n t i |  i | t i	 |  i
- ƒ } t | |  i
- ƒ S(   Ni    (
-   R%   t   svnrepost   youngestt   vclibt   InvalidRevisionR"   R#   t   fs_ptrR   R*   R   R   R!   (   R-   R%   R   (    (    R   t
-   date_from_revd   s
-    c         C   s¬   y+ t  i |  i | | | g t |  i ƒ } WnA t
- i j
- o2 } | i
- t
- i j o t i | ƒ ‚ n ‚  n Xy | | } Wn" t j
- o t i | ƒ ‚ n Xt | ƒ S(   N(   t   repost   svn_repos_trace_node_locationsR-   R1   R   R%   t   old_revR   R   t   resultsR   t   SubversionExceptiont   et   apr_errt   SVN_ERR_FS_NOT_FOUNDR/   t   ItemNotFoundt   old_patht   KeyErrorR   (   R-   R   R%   R5   R8   R6   R<   (    (    R   t   get_locationl   s    	c         C   sè  |  i | ƒ } |  i | ƒ } z¸| | j o | | f Snš| | j o§ |  i | ƒ } t i | | |  i	 ƒ }
- xi |
- oa t i |
- |  i	 ƒ \ } } | | j o t | | ƒ t
- | ƒ f Sn t i |
- d |  i	 ƒ }
- qs W| t
- | ƒ f Snæ t i |  i | ƒ | |  i	 ƒ } x· | | j o© | d | d } y% t i |  i | ƒ | |  i	 ƒ } Wn8 t i j
- o) } | i t i j o
- d }	 q¥‚  n Xt i | | ƒ }	 |	 d j o
- | } q| d } qW| | f SWd |  i ƒ  Xd S(   sÕ   Given PATH, known to exist in PEG_REVISION, find the youngest
-  revision older than, or equal to, LIMIT_REVISION in which path
-  exists.  Return that revision, and the path at which PATH exists in
-  that revision.i   i   iÿÿÿÿi    N(   i    i   (   R-   t   _getrevt   peg_revisiont   limit_revisionR   t   _getroott   fsrootR"   t   node_historyt   scratch_poolt   historyt   history_locationt   maxR   t   history_prevt   node_idt   orig_idt   midt   mid_idR   R7   R8   R9   R:   R   t   compare_idst   _scratch_clear(   R-   R   R@   RA   RM   RC   R8   RK   RL   R   RF   (    (    R   t   last_rev~   sH     
-
- 	
- 
-
-
-
- c         C   s%   |  i | ƒ } t i | | |  i ƒ S(   N(   R-   RB   R%   RC   R"   t   node_created_revt	   full_nameR   (   R-   RR   R%   RC   (    (    R   t   created_rev¹   s    t   Revisionc           B   s   t  Z d  Z d „  Z RS(   s)   Hold state for each revision's log entry.c	   	   	   C   sJ   t  i i |  | t | ƒ | | d  | | ƒ | |  _ | |  _ | |  _
- d  S(   N(   R/   RT   t   __init__t   selfR%   t   strR+   R'   R
-   R)   t   sizet   filenamet	   copy_patht   copy_rev(	   RV   R%   R+   R'   R)   RX   RY   RZ   R[   (    (    R   RU   À   s    +		(   t   __name__t
-   __module__t   __doc__RU   (    (    (    R   RT   ¾   s    t   NodeHistoryc           B   s   t  Z d „  Z d „  Z RS(   Nc         C   s   h  |  _ | |  _ | |  _ d  S(   N(   RV   t	   historiesR1   t
-   show_all_logs(   RV   R1   Ra   (    (    R   RU   É   s    		c   
-      C   s4  |  i pt i |  i | | ƒ }	 t i |	 | ƒ } | i
- ƒ  } | | j oÌ | } d } t i | ƒ } xŽ t i | ƒ t i | d ƒ } | d j  o Pn | d | !} | | j o> t i |	 | | ƒ \ }
- } |
- d j o | o d } Pqô qk qk Wt i | ƒ | p d  Sqqn t | ƒ |  i | <d  S(   Ni    i   R   (   RV   Ra   R"   t
-   revision_rootR1   t   revisionR   t   rev_roott
-   paths_changedt
-   changed_pathst   keyst   pathsR   t	   test_patht   foundR   t   svn_pool_createt   subpoolt   svn_pool_clearR   t   rfindt   offt   copied_fromt   copyfrom_revt
-   copyfrom_patht   svn_pool_destroyR   R`   (
-   RV   R   Rc   R   Rh   Rf   Ri   Rl   Ro   Rd   Rq   Rr   Rj   (    (    R   t   add_historyÎ   s0    
-
-  
-
-
-
-
-(   R\   R]   RU   Rt   (    (    (    R   R_   È   s   	c   	      C   s±   |  i | ƒ } | i d d ƒ } | p6 t i | | |  i
- ƒ } | t i
- j o
- d } q^ n t |  i | ƒ } | i d d ƒ } t i |  i | | i d | | |  i
- ƒ | i S(   Nt   svn_show_all_dir_logsi    i   t   svn_cross_copies(   R-   RB   R%   RC   t   optionst   getRa   R"   t
-   check_pathRR   R   t   kindR   t
-   svn_node_fileR_   R1   RF   t   cross_copiesR3   t   svn_repos_historyRt   R`   (	   R-   RR   R%   Rw   Rz   RC   Ra   R|   RF   (    (    R   t   _get_historyï   s    t   ChangedPathc           B   s   t  Z d „  Z RS(   Nc	   	      C   sL   | |  _  | |  _ | |  _ | |  _ | |  _ | |  _ | |  _ | |  _ d  S(   N(	   RY   RV   t   pathtypet	   prop_modst	   text_modst	   base_patht   base_revt   actiont   is_copy(	   RV   RY   R€   R   R‚   Rƒ   R„   R…   R†   (    (    R   RU     s    							(   R\   R]   RU   (    (    (    R   R     s   t   ChangedPathSetc           B   s#   t  Z d „  Z d „  Z d „  Z RS(   Nc         C   s
-   h  |  _ d  S(   N(   RV   t   changes(   RV   (    (    R   RU     s    c      	   C   se  | i o t | i ƒ | _ n | i o t | i ƒ | _ n | i } d } d } | i p d } | i } nv | i ok d } | } | i o | i o d } | i } n |  i
- i | ƒ o! |  i
- | i d j o
- d } qç n | i t
- i j o
- t i } n' | i t
- i j o
- t i } n d  } t | | | i | i | i | i | | ƒ |  i
- | <d  S(   Nt   modifiedi    t   deletedt   addedi   t   replaced(   t   changeR   R   Rƒ   R…   R†   R‹   t   replace_check_pathR„   RV   Rˆ   t   has_keyt	   item_kindR   t   svn_node_dirR/   t   DIRR€   R{   t   FILER
-   R   t   prop_changest   text_changed(   RV   R   RŽ   R€   R…   R   R†   (    (    R   t
-   add_change  s4    
-
-	
-
-
-
-*
-
-c         C   s#   |  i i ƒ  } | i d „  ƒ | S(   Nc         C   s   t  |  i | i ƒ S(   N(   R   t   aRY   t   b(   R—   R˜   (    (    R   t   <lambda>5  s    (   RV   Rˆ   t   valuest   sort(   RV   Rˆ   (    (    R   t   get_changes3  s    (   R\   R]   RU   R–   Rœ   (    (    (    R   R‡     s   		c         C   s¶   |  i | ƒ } t ƒ  }	 t i |  i | |  i	 |	 i
- ƒ } t i
- | |  i	 ƒ \ } }
- t i | | |
- |  i	 ƒ t |  i | |  i	 ƒ \ } } } t | |  i	 ƒ } | | | |	 i ƒ  f S(   N(   R-   RB   R%   RC   R‡   t   cpsR3   t   ChangeCollectorR1   R   R–   t   editort   deltat   make_editort   e_ptrt   e_batont   svn_repos_replayR,   R   R'   R)   R!   R+   Rœ   (   R-   R%   RC   R'   R¢   R+   RŸ   R   R)   R   R£   (    (    R   t   get_revision_info9  s    	!c   
-   	   C   sÇ   t  i |  i | | ƒ } t  i | | | ƒ \ } } t |  i | | ƒ \ }	 } } t |	 | ƒ } t  i | | | ƒ o t  i | | | ƒ } n d  } t | | | | | | | o
- t | ƒ | ƒ }
- |
- S(   N(   R"   Rb   R-   R1   R%   R   Rd   Rp   R   Rq   Rr   R,   R   R'   R)   R!   R+   t   is_filet   file_lengthRX   R
-   RT   R   t   entry(
-   R-   R%   R   R   R+   R'   Rd   Rq   Rr   R   R¨   R)   RX   (    (    R   t   _log_helperK  s    	c         C   sî   g  }
- | i d d ƒ o1 t |  | | | ƒ } | o |
- i	 | ƒ qê n¡ t
- |  | | | ƒ } | i ƒ  } | i ƒ  | i ƒ  t i | ƒ }	 xL | D]D } t i |	 ƒ t |  | | | |	 ƒ } | o |
- i	 | ƒ q• q• Wt i |	 ƒ |
- S(   Nt   svn_latest_logi    (   t   revsRw   Rx   R©   R-   t	   which_revRR   R   R%   t   appendR~   t   history_setRg   t   history_revsR›   t   reverseR   Rk   Rl   t   history_revRm   Rs   (   R-   RR   R¬   Rw   R   R±   R®   R%   R¯   Rl   R«   (    (    R   t
-   _fetch_log^  s&    
-
- 
-	
-c         C   sF   t  i |  | | ƒ } t  i | d | ƒ } t  i | | ƒ \ } } | S(   Ni    (
-   R"   RD   RC   R   R   RF   RI   RG   t   history_pathR±   (   RC   R   R   R³   R±   RF   (    (    R   t   _get_last_history_revu  s    c         C   sú   |  i | ƒ } t i |  i ƒ } xÅ | D]½ } t i
- | ƒ t | | i
- ƒ }
- t | |
- | ƒ } t |  i | | ƒ \ } } }	 t | | ƒ } t | ƒ | _ | | _ | | _ |	 | _ | i t i j o t i | |
- | ƒ | _ q( q( Wt i | ƒ d  S(   N(    R-   RB   R%   RC   R   Rk   R   Rl   t   filest   fileRm   R   RR   t   nameR   R´   R,   R1   R   R'   R)   R!   R+   RW   t   logRz   R/   R“   R"   R§   RX   Rs   (   R-   RR   R%   Rµ   RC   R+   R¶   R'   Rl   R)   R   R   (    (    R   t   get_logs|  s      
-			 c         C   s   |  i S(   N(   R-   R.   (   R-   (    (    R   t   get_youngest_revisionŽ  s    c   	      C   s    t  i ƒ  } t | d ƒ } zs |  i | ƒ } t	 i
- | | | ƒ } z: x3 t i | t i ƒ } | p Pn | i | ƒ qH WWd t i | ƒ XWd | i ƒ  X| S(   s)   Check out file revision to temporary filet   wbi   N(   t   tempfilet   mktempt   tempt   opent   fpR-   RB   R%   R    R"   t
-   file_contentsR   R   t   streamR   t   svn_stream_readt   SVN_STREAM_CHUNK_SIZEt   chunkt   writet   svn_stream_closet   close(	   R-   R   R%   R   RÀ   RÂ   R¾   R    RÅ   (    (    R   t
-   temp_checkout‘  s$         t   FileContentsPipec           B   sJ   t  Z d „  Z d „  Z d  d „ Z d „  Z d „  Z d „  Z d „  Z	 RS(   Nc         C   s:   t  i | ƒ |  _ t i | | |  i ƒ |  _	 d |  _
- d  S(   Ni    (   R   Rk   R   RV   t   _poolR"   RÁ   R    R   t   _streamt   _eof(   RV   R    R   R   (    (    R   RU   ¥  s    c         C   s   t  i |  i ƒ d  S(   N(   R   Rs   RV   RË   (   RV   (    (    R   t   __del__ª  s    c         C   s²   d  } |  i pŠ | d  j od t i ƒ  } zF x3 t i	 |  i
- d ƒ } | p Pn | i | ƒ q/ W| i
- ƒ  } Wd  | i ƒ  Xqš t i	 |  i
- | ƒ } n | p
- d |  _ n | S(   Ni   i    (   R
-   RÅ   RV   RÍ   R   t	   cStringIOt   StringIOt   bufferR   RÃ   RÌ   t   hunkRÆ   t   getvalueRÈ   (   RV   R   RÑ   RÒ   RÅ   (    (    R   t   read­  s$    
-
-   
-c         C   sh   d  } |  i p@ t i |  i d |  i ƒ \ } |  _ |  i p | d } qP n | p
- d |  _ n | S(   Ns   
-i   (   R
-   RÅ   RV   RÍ   R   t   svn_stream_readlineRÌ   RË   (   RV   RÅ   (    (    R   t   readline  s    
-
-
-c         C   s>   g  } x1 t o) |  i ƒ  } | p Pn | i | ƒ q	 W| S(   N(   t   linest   TrueRV   RÖ   t   lineR­   (   RV   R×   RÙ   (    (    R   t	   readlinesÍ  s     c         C   s   t  i |  i ƒ S(   N(   R   RÇ   RV   RÌ   (   RV   (    (    R   RÈ   Ö  s    c         C   s   |  i S(   N(   RV   RÍ   (   RV   (    (    R   t   eofÙ  s    (
-   R\   R]   RU   RÎ   R
-   RÔ   RÖ   RÚ   RÈ   RÛ   (    (    (    R   RÊ   ¤  s   						s   \s*(\d+)\s*(.*)t   BlameSourcec           B   s   t  Z d „  Z d „  Z RS(   Nc         C   sš   d |  _ d |  _ d  |  _ | |  _ t i i | ƒ } d t
- i | | g d ƒ } t i | d d t | ƒ d | t | ƒ f f d d ƒ } | |  _ d  S(	   Niÿÿÿÿi   s   file://R   t   blames   -r%ds   %s@%dt   rb(   RV   t   idxt   line_numberR
-   t   lastt	   first_revt   osR   t   abspatht   rootpathR   R   t   fs_patht   urlt   popent   svn_client_patht   intR%   RÀ   (   RV   Ré   Rå   Ræ   R%   Râ   RÀ   Rç   (    (    R   RU   à  s    					&c   	   
-   C   s0  | |  i  j o |  i Sn | |  i  d j o
- t ƒ  ‚ n |  i i ƒ  } | p t d ƒ ‚ n t i	 | d  ƒ } | p! t i d | d | f ƒ ‚ n | i
- ƒ  \ } } | d } t | ƒ } d  } | |  i j o | d } n t d | d | d d | d	 | d
- | d d  ƒ } | |  _ | |  _  | S(   Ni   s   No more annotationsi   s*   Could not parse blame output at line %i
-%si   t   textRà   R%   t   prev_revR'   R+   (   Rß   RV   Rá   t   BlameSequencingErrorRÀ   RÖ   RÙ   t
-   IndexErrort
-   _re_blameinfot   matcht   mR/   t   Errort   groupsR%   R'   Rë   Rê   R
-   Rì   Râ   t   _itemt   item(	   RV   Rß   R'   R%   Rñ   Rõ   Rë   RÙ   Rì   (    (    R   t   __getitem__í  s*    
-!
-		(   R\   R]   RU   Rö   (    (    (    R   RÜ   ß  s   	
-Rí   c           B   s   t  Z RS(   N(   R\   R]   (    (    (    R   Rí     s   t   SubversionRepositoryc           B   s‰   t  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z d „  Z	 d	 „  Z
- d
- „  Z h  d „ Z d „  Z
- d
- „  Z d „  Z RS(   Nc         C   s6  t  i i | ƒ p t i | ƒ ‚ n d  |  _	 d |  _
- | |  _ | |  _ t  i i t  i i | d ƒ ƒ |  _ |  d „ } y t i t i | ƒ Wn t j
- o n Xt i ƒ  d |  _
- t i d  ƒ |  _	 t i |  i	 ƒ |  _ t i | |  i	 ƒ |  _ t i |  i ƒ |  _ t i |  i |  i	 ƒ |  _ h  |  _ d  S(   Ni    t   svnc         C   s   | i ƒ  t i d ƒ d  S(   Niÿÿÿÿ(   RV   t   _closet   syst   exit(   t   signumt   frameRV   (    (    R   t   _sigterm_handler  s    
-i   (   Rã   R   t   isdirRå   R/   t
-   ReposNotFoundR·   R
-   RV   R   t   apr_initt   normpathR   t   svn_pathRé   Rþ   t   signalt   SIGTERMt
-   ValueErrorR   t   apr_initializeRk   RE   R3   t   svn_repos_opent   svn_repos_fsR1   R"   t   youngest_revR.   t   _fsroots(   RV   R·   Rå   R  Rþ   (    (    R   RU     s(    				$
-	c         C   s   |  i ƒ  d  S(   N(   RV   Rù   (   RV   (    (    R   RÎ   3  s    c         C   sL   |  i o t i |  i ƒ d  |  _ n |  i o t i ƒ  d |  _ n d  S(   Ni    (   RV   R   R   Rs   R
-   R  t
-   apr_terminate(   RV   (    (    R   Rù   6  s    
-
-
-
-c         C   s   t  i |  i ƒ d  S(   N(   R   Rm   RV   RE   (   RV   (    (    R   RO   >  s    c         C   s’   |  i | ƒ } |  i | ƒ } t i |  i | ƒ | |  i	 ƒ } |  i ƒ  | t i
- j o t i Sn | t i j o t i Sn t i | ƒ ‚ d  S(   N(   RV   R?   R%   t   _getpatht
-   path_partst   basepathR"   Ry   RB   RE   Rz   RO   R   R‘   R/   R’   R{   R“   R;   (   RV   R  R%   Rz   R  (    (    R   t   itemtypeA  s    !
-c         C   sq   |  i | ƒ } |  i | ƒ } |  i | ƒ } t t	 | | |  i
- ƒ ƒ } |  i ƒ  t
- | | |  i ƒ } | | f S(   N(   RV   R
-  R  R   R?   R%   RB   RC   RW   R´   RE   Rc   RO   RÊ   R   RÀ   (   RV   R  R%   RÀ   RC   R   Rc   (    (    R   t   openfileL  s    
-c   
-      C   sÿ   |  i | ƒ } |  i | | ƒ t i j o t i d | ƒ ‚ n |  i	 | ƒ } |  i
- | ƒ } t i
- | | |  i ƒ } g  } xp | i ƒ  D]b }	 |	 i t i j o
- t i } n! |	 i t i j o
- t i } n | i t i |	 i | ƒ ƒ q‹ W|  i ƒ  | S(   Ns   Path '%s' is not a directory.(   RV   R
-  R  R  R  R%   R/   R’   Rò   R?   RB   RC   R"   t   dir_entriesRE   t   direntst   entriesRš   R¨   Rz   R   R‘   R{   R“   R­   t   DirEntryR·   RO   (
-   RV   R  R%   Rw   R  Rz   RC   R  R  R¨   (    (    R   t   listdirU  s     
- 
-
- 
-c         C   s)   t  |  |  i | ƒ |  i | ƒ | ƒ d  S(   N(   R¹   RV   R
-  R  R?   R%   R  (   RV   R  R%   R  Rw   (    (    R   t   dirlogsg  s    c         C   sw   |  i | ƒ } |  i | ƒ } t |  | | | |  i ƒ } |  i
- ƒ  | i ƒ  d } x | D] } | | _
- | } qZ W| S(   s
-  see vclib.Repository.itemlog docstring
-
-    Option values recognized by this implementation
-
-      svn_show_all_dir_logs
-        boolean, default false. if set for a directory path, will include
-        revisions where files underneath the directory have changed
-
-      svn_cross_copies
-        boolean, default false. if set for a path created by a copy, will
-        include revisions from before the copy
-
-      svn_latest_log
-        boolean, default false. if set will return only newest single log
-        entry
-    N(   RV   R
-  R  R   R?   R%   R²   Rw   RE   R«   RO   R›   R
-   t   prev(   RV   R  R%   Rw   R   R«   R  (    (    R   t   itemlogj  s     
-
- 	
-c   
-      C   s   |  i | ƒ } |  i | ƒ } |  i | ƒ } t |  | | h  d d <ƒ } | i
- ƒ  } | i ƒ  | d }	 | d } t |  i |  i | | | ƒ } | |	 f S(   NRv   i   iÿÿÿÿi    (   RV   R
-  R  R   R?   R%   RB   RC   R~   R®   Rg   R¯   R›   Rc   Râ   RÜ   Ré   Rå   t   source(
-   RV   R  R%   RC   Râ   R¯   R  R   R®   Rc   (    (    R   t   annotate‰  s    
-
-
-c         C   s  |  i | ƒ } |  i | ƒ } |  i | ƒ }	 |  i | ƒ }
- t i | | ƒ } y} t |  | |	 |  i ƒ } t |  | |
- |  i ƒ } | t |  |	 ƒ |	 f }
- | t |  |
- ƒ |
- f } t i | | |
- | | ƒ SWnG t i i i j
- o2 } | i t i i i j o
- t i ‚ n ‚  n Xd  S(   N(   RV   R
-  t   path_parts1t   p1t   path_parts2t   p2R?   t   rev1t   r1t   rev2t   r2R/   t
-   _diff_argst   typeRw   t   argsRÉ   R   t   temp1t   temp2R2   t   info1t   info2t   _diff_fpRø   R   R7   R8   R9   R:   R0   (   RV   R  R   R  R"  R%  Rw   R  R  R!  R#  R*  R&  R)  R(  R'  R8   (    (    R   t   rawdiff—  s    
-c         C   s   t  i | d ƒ S(   NR   (   R   R   R  (   RV   R  (    (    R   R
-  ©  s    c         C   sŽ   | d  j p
- | d j o |  i Sn y t | ƒ } Wn" t j
- o t i | ƒ ‚ n X| d j  p | |  i j o t i | ƒ ‚ n | S(   Nt   HEADi    (   R%   R
-   RV   R.   Rê   R  R/   R0   (   RV   R%   (    (    R   R?   ¬  s    c         C   sS   y |  i | SWn= t j
- o1 t i |  i | |  i ƒ } |  i | <| Sn Xd  S(   N(	   RV   R  R%   R=   R"   Rb   R1   R   t   r(   RV   R%   R.  (    (    R   RB   ·  s
-    &(   R\   R]   RU   RÎ   Rù   RO   R  R  R  R  R  R  R,  R
-  R?   RB   (    (    (    R   R÷   
-  s   	(												Rô   c           B   s   t  Z d „  Z RS(   Nc         K   s   t  |  ƒ i | ƒ d  S(   N(   t   varsRV   t   updatet   kw(   RV   R1  (    (    R   RU   ¿  s    (   R\   R]   RU   (    (    (    R   Rô   ¾  s   (   i   i   i    (3   R^   R/   Rã   t   os.pathR   RÏ   R  t   timeR¼   Rè   t   reRø   R"   R3   R   R    t
-   SVN_VER_MAJORt
-   SVN_VER_MINORt
-   SVN_VER_PATCHt	   ExceptionR   R   R   R   R!   R,   R2   R>   R
-   RP   RS   RT   R_   R~   R   R‡   R¥   R©   R²   R´   R¹   Rº   RÉ   RÊ   t   compileRï   RÜ   Rí   t
-   RepositoryR÷   Rô   ()   RÏ   R´   R>   R/   R   R_   R!   RT   RS   RP   R¼   R÷   R   R²   R4  R   R©   R3   R¹   Rô   RÊ   R   R"   R2   R   Rº   RÉ   R~   Rï   R    R,   R‡   R  Rè   Rí   R   RÜ   R3  R¥   Rã   R   (    (    R   t   ?
-   sR   										
-				%				;	
-'
-(							9'´
\ No newline at end of file

Deleted: trunk/gforge/www/scm/viewvc/lib/viewvc.pyc
===================================================================
--- trunk/gforge/www/scm/viewvc/lib/viewvc.pyc	2009-02-06 03:03:08 UTC (rev 6952)
+++ trunk/gforge/www/scm/viewvc/lib/viewvc.pyc	2009-02-06 09:19:51 UTC (rev 6953)
@@ -1,1093 +0,0 @@
-mò
-IB|Dc           @   sg  d  Z  d k Z e i d ƒ e i d ƒ d k Z d k Z d k Z d k Z d k Z d k Z d k	 Z	 d k
- Z
- d k Z d k Z d k
- Z
- d k Z d k Z d k Z d k Z d k Z d k Z d k Z d k Z d k a y
- d k Z Wn e e f j
- o
- e Z n Xe i d ƒ d Z d Z d Z d Z d Z  d	 Z! d
- d d d
- d d d g Z" d Z# d Z$ d Z% d Z& d f  d „  ƒ  YZ' d „  Z( d „  Z) d „  Z* d „  Z+ e i, d ƒ Z- e i, d ƒ Z. e i, d ƒ Z/ e i, d ƒ Z0 e i, d ƒ Z1 h  d  e <d! e <d e+ <d" e <d# e <d
- e. <d e. <d e- <d e- <d
- e- <d e- <d$ e/ <d% e. <d& e. <d' e. <d( e/ <d) e/ <d* e. <d+ e. <d, e. <d- e/ <d. e/ <d/ e/ <d0 e/ <d1 e/ <d2 e/ <d3 e0 <d4 e+ <d5 e- <d6 e <d7 e+ <d8 e- <d9 e+ <d: e- <d; e- <d< e- <d= e. <d> e1 <d? e1 <d@ e- <dA e. <dB e <dC e <dD e <dE e <Z2 dF „  Z3 dG „  Z4 dH „  Z5 d2 e dI „ Z6 dJ „  Z7 e e dK dL „ Z8 dM dN „ Z9 dO „  Z: dP „  Z; dQ „  Z< dR „  Z= dS „  Z> dT „  Z? dU „  Z@ dV „  ZA e e dW dX „ ZB e i, dY ƒ ZC e i, dZ ƒ ZD d[ „  ZE d\ „  ZF h  d] d^ <d_ d` <da db <dc dd <de df <dg dh <di dj <ZG dk „  ZH dl „  ZI dK dm „ ZJ dn „  ZK do „  ZL e# dp „ ZM e dK dq „ ZN dr f  ds „  ƒ  YZO dt f  du „  ƒ  YZP dv eP f dw „  ƒ  YZQ dx eP f dy „  ƒ  YZR dz eP f d{ „  ƒ  YZS d| „  ZT d} „  ZU h  d~ eU <d eU <ZV d€ „  ZW d „  ZX d‚ „  ZY dƒ „  ZZ d„ „  Z[ d… „  Z\ d† „  Z] d‡ „  Z^ dˆ „  Z_ d‰ „  Z` dŠ „  Za d‹ „  Zb dŒ „  Zc d „  Zd dŽ „  Ze d „  Zf d „  Zg d‘ „  Zh d’ „  Zi d“ „  Zj d” „  Zk d• „  Zl e i, d– ƒ Zm e i, d— ƒ Zn d˜ „  Zo d™ f  dš „  ƒ  YZp d› eq f dœ „  ƒ  YZr e e d „ Zs dž „  Zt dŸ „  Zu d  „  Zv d¡ „  Zw dK e dK dK dK e d¢ d£ d£ d] dK e d¤ d¢ e d¥ „ Zx d¦ „  Zy d§ „  Zz d¨ „  Z{ d© „  Z| dª „  Z} d« „  Z~ d¬ „  Z d­ „  Z€ d® „  Z d¯ „  Z‚ d° „  Zƒ h  d( eg <d± ef <d² ew <d6 e_ <d) ei <d³ eh <d´ ee <dµ eY <d¶ ev <d· eƒ <d¸ e} <d1 e{ <d¹ e^ <dº ez <d» eb <Z„ h  Z… x$ e„ i† ƒ  D] \ Z‡ Zˆ e‡ e… eˆ <qWd¼ „  Z‰ e e d½ „ ZŠ d¾ „  Z‹ d¿ „  ZŒ dÀ f  dÁ „  ƒ  YZ d S(   s   1.0.0Nt   startupt   importss
-   *checkout*s
-   ~checkout~s	   *docroot*s   text/vnd.viewcvs-markups   text/x-cvsweb-markups   *viewroots*t	   hideattict   sortbyt   sortdirt   logsortt   diff_formatt   searcht
-   limit_changesi    s   binary-difft   errors   /*~t   Requestc           B   sG   t  Z d „  Z d „  Z d d d „ Z d „  Z e e e e d „ Z RS(   Nc         C   s  | |  _  | |  _ t | i d d ƒ ƒ |  _ | i d d ƒ |  _ t i |  i d ƒ d j |  _	 t i | i d d ƒ d ƒ d j p t i |  i d	 ƒ d j o t i |  i d
- ƒ d j |  _
- | i d d ƒ } t i
- | ƒ |  _ |  i i | i i ƒ |  _
- | i |  i
- ƒ |  _ d  S(   Nt   SCRIPT_NAMEt    t   HTTP_USER_AGENTt   unknownt   Lynxiÿÿÿÿt   HTTP_ACCEPT_ENCODINGt   gzips	   Mozilla/3t   MSIEt   HTTP_ACCEPT_LANGUAGE(   t   servert   selft   cfgt   _normalize_patht   getenvt   script_namet   browsert   stringt   findt
-   no_file_linkst   may_compresst   halt   acceptt   languaget
-   lang_selectort   select_fromt   generalt	   languagest
-   load_kv_filest   kv(   R   R   R   R   (    (    t/   /opt/gforge/gforge/www/scm/viewvc/lib/viewvc.pyt   __init__[   s    		_c         C   sî
-  |  i } d  |  _ d  |  _ d  |  _ d  |  _ d  |  _ d  |  _ d  |  _	 h  |  _
- d  |  _ d  |  _ d } x |  i i ƒ  i ƒ  D]h \ } }	 | d j o d } d } n | d j o d } d } n t | |	 d ƒ |	 d |  i
- | <q Wt i |  i
- i d d  ƒ |  i ƒ |  _ |  i i d d	 ƒ }
- t |
- ƒ } | oÛ | d t j o! t | d ƒ |  _	 t |  ƒ SnI | d t t f j o1 | i d ƒ t |  _ | i  i! p
- d } q´n |  i t" j oM |  i
- i d
- ƒ o | d =q| d d d
- j o | d d  | d <qqn |  i
- i d ƒ |  _ |  i t# j o |  i
- d =d	 |  _ d } nr |  i d  j oJ | i  i$ o* | o | i d ƒ |  _ q­d	 |  _ qÈ| i% i& |  _ n | i  i$ o
- d } n t | ƒ |  _	 | |  _ |  i o=| i% i' i( |  i ƒ o× t) i* i+ | i% i' |  i ƒ |  _ yr | i% i, o+ d  k- a. t. i/ i0 |  i |  i ƒ |  _ n. d  k1 a. t. i2 i3 |  i |  i | i% ƒ |  _ d |  _ Wn, t. i4 j
- o t5 i6 d |  i ƒ ‚ n X|  i t) i7 d <q'| i% i8 i( |  i ƒ o| i% i8 |  i |  _ y¢ t9 i: t; |  i ƒ o7 d  k< a. t. i= t. _> t. i> i? |  i |  i ƒ |  _ nI t) i* i+ |  i ƒ |  _ d  k@ a. t. i> i? |  i |  i | i% iA ƒ |  _ d |  _ Wq#t. i4 j
- o t5 i6 d |  i ƒ ‚ q#t. iB j
- o } t5 i6 tD | ƒ ƒ ‚ q#Xq't5 i6 d |  i d ƒ ‚ n |  i o’ |  i
- i( d ƒ o |  i d j oG |  i
- i( d ƒ o3 |  i tE j o" |  i
- d |  i
- d <|  i
- d =n |  i
- d |  i
- d <|  i
- d =d } n |  i op|  i tF j	 o`|  i
- i d ƒ |  _ } tG |  i | | ƒ |  _ |  i d  j o1tH d | | t. iI |  i tJ ƒ pµ tH d
- | | t. iK |  i t" ƒ p“ tH d | | t. iK |  i t" ƒ pq tH |  i d | | t. iK |  i t" ƒ pH tH d | | t. iK |  i t" ƒ p& tH |  i d | | t. iK |  i t" ƒ } | o4 | \ |  _ |  _ |  _ t |  i ƒ |  _	 d } qOt5 i6 d |  i	 d ƒ ‚ n |  i d j oÚ d  } |  i t. iI j oF tN |  i ƒ d j o0 |  i d d j o |  i d  |  i d } nO |  i t. iK j o; tN |  i ƒ d j o% |  i d d j o |  i d  } n | o" | |  _ t | ƒ |  _	 d } q9q=n |  i oH |  i t. iK j o5 | iO |  i d ƒ o t5 i6 d | d d ƒ ‚ n |  i d  j op|  i p
- tP |  _ q
-|  i t. iK j o- |  i
- i( d ƒ o
- t" |  _ q
-tQ |  _ q
-|  i t. iI j o|  i
- i( d  ƒ o  |  i
- i( d! ƒ o
- tJ |  _ q
-|  i
- i( d" ƒ o
- tR |  _ q
-|  i
- i( d# ƒ o- |  i
- i( d$ ƒ p
- tS |  _ q
-tT |  _ q
-|  i
- i( d ƒ p | i  iU d% j o< |  i
- i d& d  ƒ tV tW f j o
- tX |  _ q
-t |  _ q
-tY |  _ q
-n |  i t. iK j o[ |
- d d' j oJ |  i tE j	 o: |  i tP j	 o* |  i t" j	 o |  i tF j	 o
- d } n | o |  i iZ |  i[ ƒ  ƒ n d  |  _\ |  i t. iI j o t] |  i	 ƒ |  _\ n t5 i^ d( ƒ |  i |  ƒ d  S()   Ni    t   cvsroott   rooti   t
-   only_with_tagt   pathrevt   viewt	   PATH_INFOR   t   parentiÿÿÿÿiùÿÿÿs   .tar.gzt   cvssš   %s not found!
-The wrong path for this repository was configured, or the server on which the CVS tree lives may be down. Please try again in a few minutes.t   CVSROOTt   svns    %s not found!
-The wrong path for this repository was configured, or the server on which the Subversion tree lives maybe down. Please try again in a few minutes.sk   The root "%s" is unknown. If you believe the value is correct, then please double-check your configuration.s   404 Repository not foundt   revt   revisions   .diffs   root.tar.gzs   -root.tar.gzs   -roots   %s: unknown locations
-   404 Not Foundiþÿÿÿt   Attict   tarballt   r1t   r2t   annotatet   grapht	   makeimaget   logs   content-typet   /R    (_   R   R   t   Nonet	   view_funct   repost   rootnamet   roottypet   rootpatht   pathtypet   wheret
-   query_dictt
-   path_partsR-   t   needs_redirectR   t   paramst   itemst   namet   valuest   _validate_paramt   _viewst   getR   t	   path_infot   _path_partst   docroot_magic_patht
-   _path_joint   view_doct   checkout_magic_patht   oldstyle_checkout_magic_patht   popt
-   view_checkoutt   optionst   checkout_magict   download_tarballt   view_roots_magict   root_as_url_componentR$   t   default_roott	   cvs_rootst   has_keyt   ost   patht   normpatht   use_rcsparset
-   vclib.ccvst   vclibt   ccvst   CCVSRepositoryt   vclib.bincvst   bincvst   BinCVSRepositoryt
-   ReposNotFoundt   debugt   ViewVCExceptiont   environt	   svn_rootst   ret   matcht   _re_rewrite_urlt   vclib.svn_rat   svn_raR3   t   SubversionRepositoryt	   vclib.svnt   svn_patht   InvalidRevisiont   ext   strt
-   view_revisiont   redirect_pathrevt   _repos_pathtypet
-   _strip_suffixt   FILEt	   view_difft   DIRt   resultt   attic_partst   lent   is_forbiddent
-   view_rootst   view_directoryt
-   view_annotatet
-   view_cvsgrapht   view_cvsgraph_imaget   default_file_viewt   viewcvs_mime_typet
-   alt_mime_typet   view_markupt   view_logt   redirectt   get_urlt	   mime_typet
-   guess_mimet   t_end(   R   RI   R   R{   R„   R-   R…   RH   RL   RM   RQ   (    (    R(   t
-   run_viewvcy   sD   	 										 
-
-
-
-
-	
-
-	
-
-
-
-
-	
-"
-		
-		
-
-5
-
-""
-
-==	4
-
-
-
-
-&
-
-
-
-&"
-
-d
-	
-i    c         K   s¥   t  |  i f  | ƒ \ } } t i | ƒ } | o t	 i
- | t ƒ d | } n t	 i
- | t ƒ } | o | | o d p d } n | o |  i i | ƒ } n | S(   s›   Constructs a link to another ViewVC page just like the get_link
-    function except that it returns a single URL instead of a URL
-    split into componentst   ?t   &N(   t   applyR   t   get_linkt   argst   urlRJ   t   compatt	   urlencodet   qst   urllibt   quotet   _URL_SAFE_CHARSR„   t   partialt   escapeR   (   R   R¥   R¤   Rœ   R    R   RJ   R„   (    (    R(   R“   ‡  s     c         K   sO   t  |  i f  | ƒ \ } } |  i i t i	 | t
- ƒ ƒ } t | ƒ } | | f S(   sä   Constructs a link to another ViewVC page just like the get_link
-    function except that it returns a base URL suitable for use as an HTML
-    form action and a string of HTML input type=hidden tags with the link
-    parameters.N(   Rš   R   R›   Rœ   R   RJ   R   R¥   R¡   R¢   R£   t   actiont   prepare_hidden_valuest
-   hidden_values(   R   Rœ   R   R¨   RJ   R¦   (    (    R(   t   get_form™  s
-     c         C   sÕ  |  i } | d j o
- |  i } n | d j o |  i i ƒ  } n
- | i ƒ  } | d j | d j j p t	 ‚ | t
- j p | t j p
- | t j o d } } n$ | d j o |  i } |  i } n | t
- j p
- | t j }	 |  i }
- | t
- j o | i i o |
- d t }
- n d } | t j	 o» | i i oW y | d } Wn t j
- o |  i } n	 X| d =| d j	 o |
- d | }
- qàqäy | d } Wn$ t j
- o |  i } | d <n X| | i i j o | d =qän |  i d j	 o? | i d ƒ o. | t
- j	 o! | |  i j o |  i | d <n | o |
- d | }
- n | t j oD | o. | i i o  |
- d | d }
- d | d <n |
- d }
- n0 | t i j o |
- d }
- n |
- p
- d }
- n | t j o | t i j o
- d } n | t j o% | i i p | i i o
- d } n | t j o  | i  d ƒ d j	 o
- d } n | t! j o6 | i  d	 ƒ d j	 o  | i  d
- ƒ d j	 o
- d } n | t
- j oT | i i" d j o | t i# j p# | i i p | i  d ƒ d j	 o
- d } qön t$ i  | ƒ } | o0 | i d
- ƒ o | d
- d j o | | d
- <n |	 oS xP t& D]D } |  i i  | ƒ } | d j	 o | i | ƒ o | | | <qJqJWn x2 | i) ƒ  D]$ \ } } | d j o | | =q£q£W|
- | f S(   sô   Constructs a link pointing to another ViewVC page. All arguments
-    correspond to members of the Request object. If they are set to 
-    None they take values from the current page. Return value is a base
-    URL and a dictionary of parametersR>   R+   R-   s   -roott   1R0   s   .tar.gzR:   R8   R9   R=   R5   R.   N(*   R   R   R@   R?   RJ   RG   t   copyRF   RE   t   AssertionErrorR}   Rˆ   R~   RY   R\   t   sticky_varsR   R   RZ   R[   RV   RB   R^   t   KeyErrorR$   R_   R-   Ra   Rg   Rƒ   R‰   RŠ   RP   R‚   R   R   t   _view_codest	   view_codet   _sticky_varsRL   t   valueRK   (   R   R@   RF   RE   RJ   R   R°   RB   RL   R­   R   R²   (    (    R(   R›   ¤  sŽ     	
-
-
- '
-	
-	
-
-
->
-
-
-(
-#
-9
-
-F) 
- 
-(   t   __name__t
-   __module__R)   R—   R“   R©   R?   R›   (    (    (    R(   R
-   Z   s   		ÿ 	c         C   s   t  d t i |  d ƒ ƒ S(   s9   Split up a repository path into a list of path componentsR>   N(   t   filterR?   R   t   splitRc   (   Rc   (    (    R(   RR   1  s     c         C   sN   d } x* |  D]" } | d j o Pn | d } q
- W| o |  | d Sn |  S(   s,  Collapse leading slashes in the script name
-
-  You only get multiple slashes in the script name when users accidentally
-  type urls like http://abc.com//viewvc.cgi/, but we correct for it
-  because we output the script name in links and web browsers
-  interpret //viewvc.cgi/ as http://viewvc.cgi/
-  i    R>   i   N(   t   iRc   t   c(   Rc   R·   R¸   (    (    R(   R   7  s      
-c         C   sŸ   y t  |  } Wn) t j
- o t i d |  d ƒ ‚ n X| d j o d Sn t | d ƒ o2 | i | ƒ p t i d | d ƒ ‚ n d Sn | | ƒ d S(   sÖ   Validate whether the given value is acceptable for the param name.
-
-  If the value is not allowed, then an error response is generated, and
-  this function throws an exception. Otherwise, it simply returns None.
-  s,   An illegal parameter name ("%s") was passed.s   400 Bad RequestNRs   s2   An illegal value ("%s") was passed as a parameter.(
-   t
-   _legal_paramsRL   t	   validatorR®   Rn   Ro   R?   t   hasattrRs   R²   (   RL   R²   Rº   (    (    R(   RN   K  s     
-
-
-
-c         C   s   d  S(   N(    (   R²   (    (    R(   t   _validate_regexg  s    s   ^[a-z]+$s   ^[0-9]+$s   ^[-_.a-zA-Z0-9:~\[\]/]*$s   ^[-_.a-zA-Z0-9/]+$s.   ^(\d\d\d\d-\d\d-\d\d(\s+\d\d:\d\d(:\d\d)?)?)?$R+   R.   t   p1t   p2R-   t
-   dir_pagestartt
-   log_pagestartt   hidecvsrootR:   R;   R<   R7   R0   R8   t   tr1R9   t   tr2R4   R5   s   content-typet   brancht   branch_matcht   dirt   filet
-   file_matcht   whot	   who_matcht	   querysortt   datet   hourst   mindatet   maxdatet   formatt   limitt	   orig_patht
-   orig_pathtypet   orig_pathrevt	   orig_viewc         C   s   t  i |  d ƒ S(   NR>   (   R   t   joinRH   (   RH   (    (    R(   RT   ³  s    c         C   s–   t  |  ƒ } | d | |  j op | } t  | d ƒ | j o | d =n | d |  | d <t | | | ƒ } | | j o | | | f Sq’ n d S(   so   strip the suffix from a repository path if the resulting path
-  is of the specified type, otherwise return NoneiÿÿÿÿN(   R†   t   suffixt   lRH   R   RA   R4   t   tRE   R@   R?   (   R×   RH   R4   RE   RA   R@   RØ   RÙ   (    (    R(   R€   ¶  s     
-c         C   s5   y |  i | | ƒ SWn t i j
- o d Sn Xd S(   sG   return the type of a repository path, or None if the path doesn't existN(   RA   t   itemtypeRH   R4   Rg   t   ItemNotFoundR?   (   RA   RH   R4   (    (    R(   R   Å  s
-     c         C   s³   |  i i | |  i ƒ } |  i i | |  i ƒ } | d j	 of t
- |  i d ƒ oS |  i i |  i ƒ } |  i i | ƒ } t
- t i i |  i | | | ƒ ƒ | f Sn t
- | ƒ | f S(   sJ   Get original path of requested file at old revision before copies or movest   _getrevN(   t   requestRG   RP   t	   rev_paramR-   R4   t
-   path_paramRF   Rc   R?   R»   RA   RÜ   RR   Rg   R3   t   get_location(   RÝ   RÞ   Rß   R4   R-   Rc   (    (    R(   t
-   _orig_pathÌ  s      c         C   sL   t  i i |  ƒ o |  Sn t  i i t  i i t  i i t ƒ t  i |  ƒ ƒ S(   s?   Get usable path for a path relative to ViewVC install directoryN(   Rb   Rc   t   isabsRd   RÖ   t   dirnamet   __file__t   pardir(   Rc   (    (    R(   t
-   _install_pathö  s     !i    c   	      C   sÙ  |  i } | i i p d Sn d  } } | d  j	 o5 | o d | } n d | } |  i	 i
- d ƒ } n | d  j	 oB y. |  i	 i
- d ƒ } t i
- t i | ƒ ƒ } Wq¹ d  } q¹ Xn | d  j	 o | | j } n$ | d  j	 o | | j } n d } | of | i i d j oS t i t i ƒ  | i i ƒ } |  i	 i d | ƒ |  i	 i d d | i i ƒ n | o |  i	 i d	 d
- ƒ nR | d  j	 o |  i	 i d | ƒ n | d  j	 o  |  i	 i d t i | ƒ ƒ n | S(
-   Ni    s   W/"%s"s   "%s"t   HTTP_IF_NONE_MATCHt   HTTP_IF_MODIFIED_SINCEt   Expiress
-   Cache-Controls
-   max-age=%dt   statuss   304 Not Modifiedt   ETags
-   Last-Modified(   RÝ   R   RZ   t   generate_etagsR?   t   request_etagt
-   request_mtimet   etagt   weakR   R   t   mtimet   rfc822t	   mktime_tzt   parsedate_tzt   isfresht   http_expiration_timeRž   t
-   formatdatet   timet
-   expirationt	   addheadert   header(	   RÝ   Rñ   Rï   Rð   Rî   Rõ   Rí   R   Rù   (    (    R(   t   check_freshnessþ  s@    	
-
-
-
-
-
-
-
-
- t   enc         C   s   t  |  i ƒ i | ƒ } | p# t i i |  i	 i
- | d ƒ } n t i | d | ƒ } t | ƒ } t i d ƒ t i | ƒ } t i d ƒ | S(   Ns   .ezts   %lang%s	   ezt-parse(   t   varsR   t	   templatesRP   t	   view_namet   tnameRb   Rc   RÖ   RZ   t   template_dirR   t   replaceR!   Ræ   Rn   t   t_startt   eztt   Templatet   templateR–   (   R   R   R!   R  R  (    (    R(   t   get_view_template/  s    #
-
-c         C   s5   t  |  i | |  i ƒ } | i |  i i ƒ  | ƒ d  S(   N(
-   R  RÝ   R   R   R!   R  t   generateR   RÇ   t   data(   RÝ   R   R
-  R  (    (    R(   t
-   generate_pageD  s    c         C   s¿  |  i p g  Sn |  i t i j } g  } t d |  i i	 |  i i
- ƒ d d
- ƒ } |  i
- p |  i t j	 o4 |  i d t d d d t i d h  d d	 ƒ | _ n | i | ƒ g  } x|  i
- D]û } | i | ƒ t | ƒ t |  i
- ƒ j } t d | d d
- ƒ } | p | oJ |  i t j	 o: |  i d t d t | ƒ d t i d h  d d	 ƒ | _ nS | oJ |  i t j	 o: |  i d t d t | ƒ d t i d h  d d	 ƒ | _ n | i | ƒ q¼ W| S(   sä   Return current path as list of items with "name" and "href" members
-
-  The href members are view_directory links for directories and view_log
-  links for files, but are set to None when the link would point to
-  the current viewRL   t   hrefR@   RF   R   RE   RJ   R¥   i   N(   RÝ   RA   RE   Rg   Rƒ   t   is_dirRK   t   _itemR   R¥   RL   R?   t	   root_itemRH   R@   R‰   R“   R  t   appendt   partR†   t   is_lastt   itemRT   R‘   R   (   RÝ   RH   RK   R  R  R  R
-  R  (    (    R(   t   nav_pathH  s:     
-'
-
- 
-		c         C   sÒ   |  i d h  d d  <ƒ \ } } t i | ƒ } | o" t i | t	 ƒ d | d } n t i | t	 ƒ d } |  i
- i | ƒ } g  } x4 | D], } | i t d | i d | | i ƒ ƒ qŽ W| i d „  ƒ | S(	   NRJ   R-   R˜   s	   &pathrev=s	   ?pathrev=RL   R  c         C   s   t  |  i | i ƒ S(   N(   t   cmpt   aRL   t   b(   R  R  (    (    R(   t   <lambda>  s    (   RÝ   R›   R?   R   RJ   Rž   RŸ   R¡   R¢   R£   R   R¥   t   linkst   tagst   tagR  R  RL   t   sort(   RÝ   R  R  R   R  RJ   (    (    R(   t	   prep_tagss  s    !" *c         C   s   t  i |  ƒ d S(   Ni    (   t	   mimetypest
-   guess_typet   filename(   R   (    (    R(   R•   ‚  s    c         C   s   |  o
- |  d j S(   Ns	   image/gifs
-   image/jpegs	   image/png(   s	   image/gifs
-   image/jpegs	   image/png(   R”   (   R”   (    (    R(   t   is_viewable_image…  s    c         C   s   |  p |  d  d j S(   Ni   s   text/(   R”   (   R”   (    (    R(   t   is_textˆ  s    c         C   s   |  p
- |  d j S(   Ns
-   text/plain(   R”   (   R”   (    (    R(   t
-   is_plain_text‹  s    c         C   s3   | i i o" t |  ƒ p
- t |  ƒ o t Sn t S(   sG   Determine whether file should be viewed through markup page or sent rawN(   R   RZ   t   allow_markupR!  R”   R"  R   RY   (   R”   R   (    (    R(   t   default_viewŽ  s     'iÿÿÿÿc         C   sî  | o
- t | ƒ p d } | p |  i } | d j o
- |  i } n d } } } |  i	 d t
- d | d t i
- d h  d | <d | <d d	 ƒ }	 |  i	 d t d | d t i
- d h  d | <d | <d d	 ƒ }
- t | ƒ pL |  i	 d t d | d t i
- d h  d
- d <d | <d | <d d	 ƒ } n |  i i i oC |  i	 d t d | d t i
- d h  d | <d | <d d	 ƒ } n |  i d
- j o+ |  i	 d t d h  d | <d d	 ƒ } n t | |  i ƒ t
- j } |	 |
- | | | t i | ƒ f S(   s}   Return common hrefs and a viewability flag used for various views
-  of FILENAME at revision REV whose MIME type is MIME_TYPE.iÿÿÿÿR@   RF   RE   RJ   R5   R-   R¥   i   s   content-types
-   text/plainR:   R3   N(   R4   R|   R?   R”   RÝ   R-   t   download_text_hreft
-   annotate_hreft
-   revision_hrefR“   R   RF   Rg   R   t	   view_hrefRY   t
-   download_hrefR#  R   RZ   t   allow_annotateRŠ   RC   R}   R%  t
-   prefer_markupR  t   boolean(   RÝ   RF   R4   R”   R-   R(  R'  R&  R,  R)  R*  (    (    R(   t   get_file_view_infoœ  sD     
-
-		
-	!	sŒ   ((http|https|ftp|file|svn|svn\+ssh)(://[-a-zA-Z0-9%.~:_/]+)((\?|\&amp;)([-a-zA-Z0-9%.~:_]+)=([-a-zA-Z0-9%.~:_])+)*(#([-a-zA-Z0-9%.~:_]+)?)?)s5   ([-a-zA-Z0-9_.\+]+)@(([-a-zA-Z0-9]+\.)+[A-Za-z]{2,4})c         C   s=   t  i |  ƒ }  t i t d |  ƒ }  t i t d |  ƒ }  |  S(   Ns   <a href="\1">\1</a>s(   <a href="mailto:\1&#64;\2">\1&#64;\2</a>(   t   cgiR¥   t   htmlRr   t   subRt   t   _re_rewrite_email(   R0  (    (    R(   t   htmlifyÎ  s    c         C   sA   t  |  | i i  ƒ } t |  ƒ | i i j o | d } n | S(   Ns   ...(   R3  R=   R   RZ   t
-   short_log_lent   sR†   (   R=   R   R5  (    (    R(   t
-   format_logÔ  s    i   t   secondi<   t   minutei  t   houri€Q t   dayi€:	 t   weeki ( t   monthi€3át   yearc         C   s–   | d j o d Sn t | } | d j o | d } d | } n | d } d | d } y t |  i i	 i
- | ƒ } Wn t j
- o n X| | S(	   s/   Get some time text, possibly internationalized.i    R   i   t	   _singulars   %d t   _pluralR5  N(   t   numt
-   _time_desct   intervalt   textt   attrt   fmtt   getattrRÝ   R'   t   i18nRø   t   AttributeError(   RÝ   RB  R@  RD  RC  RE  (    (    R(   t
-   get_time_textä  s     
-
-
-
-
-c         C   s2   y |  i i i i SWn t j
- o d Sn Xd  S(   Ns   very little time(   RÝ   R'   RG  Rø   t   little_timeRH  (   RÝ   (    (    R(   RJ  ÷  s    c         C   s  t  t i ƒ  ƒ | } | d j  o t |  ƒ Sn t i ƒ  } | i ƒ  d } x< | t
- | ƒ j  o( | d | | j  o Pn | d } qP W| | d } t |  | | | ƒ } | oX | d j oK | | } | | d } t |  | | | ƒ } | o | d | } qn | S(   Ni   i    i   s   , (   t   longRø   t   secsRJ  RÝ   RA  t   keyst   breaksR  R·   R†   R²   RI  R5  t   extendedt   ext(   RÝ   RL  RO  R²   RP  R·   RN  R5  (    (    R(   t	   html_timeý  s(    
-
- 
-c   	   
-   C   sU  |  i } h  d | <d t <d |  i <d | i i d  j o |  i d t p
- | i i <d |  i	 i
- |  i ƒ <d |  i <d |  i	 i
- |  i
- ƒ <d	 d  <d
- t |  ƒ <d d  <d d  <d
- d  <d d  <d d  <d t |  i <} |  i t i j o d | d	 <n" |  i t i j o d | d	 <n |  i d t d d d	 t i d h  d d  <ƒ \ | d <| d <g  } t | ƒ } t | ƒ oš | i ƒ  } | i t ƒ x~ | D]r } |  i  d t d d d	 t i d h  d | <d d ƒ } | i" t# d |  i	 i
- | ƒ d | | d d | ƒ ƒ q±Wn | | d <|  i$ oH t% |  i$ d  ƒ } |  i  d t d | d	 t i d h  d d ƒ | d <n |  i t i j o%|  i t' j	 o¾ |  i  d t' d h  d d ƒ | d <|  i t( j o |  i) i* d  ƒ | d
- <qh|  i t+ j o1 |  i) i, d! ƒ o |  i) i* d! ƒ | d
- <qdqh|  i) i, d" ƒ o |  i) i* d" ƒ | d
- <qhn |  i d# j oC | i i- o6 |  i t. j	 o& |  i  d t. d h  d d ƒ | d <qnN |  i t i j o: |  i d$ j o& |  i  d t' d h  d d ƒ | d <qn t/ |  ƒ o8 |  i  d t0 d h  d% d& <d' d( <d d ƒ | d <n | S()   NR   t   vsnR'   t   docrootR>   RF   RC   RB   RE   R  t   up_hreft   log_hreft   log_href_revt
-   graph_hreft   rss_hrefR.   RÆ   RÇ   R@   R   RJ   R+   t   change_root_actiont   change_root_hidden_valuesR¥   i   RL   t   typeR  t   rootsiÿÿÿÿR9   R:   R5   R1   R3   RÌ   R<  RÐ   t   rss(1   RÝ   R   t   __version__R'   RZ   RS  R?   R   RS   R   R¥   RF   RC   RB   R  R¯   R@   R
-  RE   Rg   Rƒ   R   R©   R‰   R\  t
-   list_rootst   allrootsR†   RM  t	   rootnamesR  t   icmpR“   R  R  R  RH   RT   RÆ   R‘   R‚   RG   RP   RŠ   Ra   t   use_cvsgraphR‹   t   is_query_supportedt
-   view_query(	   RÝ   R   Ra  R  R\  R
-  RB   R`  RÆ   (    (    R(   t   common_template_data  sb    	é#
-
- #
-
--
-c         C   sÿ   t  |  |  i | |  i ƒ \ } }
- } } } } t |  ƒ }	 |	 i
- h  d | <d | <d | <d |
- <d | <d | <d | <d d  <d	 d  <ƒ | |  i j oT t | ƒ } | |	 d <|  i d
- t d | d t i d
- h  d | <d d ƒ |	 d	 <n |	 S(   NR4   R)  R'  R*  R&  R(  R,  RÒ   t	   orig_hrefR@   RF   RE   RJ   R-   R¥   i   (   R.  RÝ   RF   R4   R”   R)  R*  R&  R'  R(  R,  Rf  R
-  t   updateR?   RÒ   RH   RT   Rc   R“   R‘   Rg   R   (   RÝ   R4   RÒ   R)  R'  R&  R,  Rc   R(  R
-  R*  (    (    R(   t   nav_header_datad  s    -^
-	c         C   sa   xZ |  i t ƒ } | p; t |  d ƒ o' |  i ƒ  d  j o t i d ƒ q qT n | Sq Wd  S(   Ni   t   eof(	   t   srct   readt
-   CHUNK_SIZEt   chunkR»   Rj  R?   Rø   t   sleep(   Rk  t   reqlenRn  (    (    R(   t
-   retry_read  s      #
-c         C   sb   | d  j o
- t i } n xA t |  ƒ } | p Pn | o t | ƒ } n | i	 | ƒ q Wd  S(   Ni   (
-   t   dstR?   t   syst   stdoutRq  Rk  Rn  t   htmlizeR3  t   write(   Rk  Rr  Ru  Rn  (    (    R(   t   copy_streamΠ s    
-
-  t   MarkupPipeWrapperc           B   s)   t  Z d  Z e e d d „ Z d „  Z RS(   sU   An EZT callback that outputs a filepointer, plus some optional
-  pre- and post- text.i   c         C   s(   | |  _  | |  _ | |  _ | |  _ d  S(   N(   t   fpR   t   pretextt   posttextRu  (   R   Ry  Rz  R{  Ru  (    (    R(   R)   ›  s    			c         C   sl   |  i o | i i |  i ƒ n t |  i | i |  i ƒ |  i i ƒ  |  i o | i i |  i ƒ n d  S(   N(	   R   Rz  t   ctxRy  Rv  Rw  Ru  t   closeR{  (   R   R|  (    (    R(   t   __call__¡  s    
-
-
-(   R³   R´   t   __doc__R?   R)   R~  (    (    (    R(   Rx  —  s    t   MarkupShellc           B   s2   t  Z d  Z d „  Z d „  Z d „  Z d „  Z RS(   sA   A EZT callback object slamming file contents through shell tools.c         C   s   | |  _  | |  _ d  S(   N(   Ry  R   t   cmds(   R   Ry  R  (    (    R(   R)   ¬  s    	c         C   s·   | i i ƒ  yb t i |  i | i ƒ } z8 |  i o* t |  i | ƒ |  i i	 ƒ  d  |  _ n Wd  | i	 ƒ  XWnA t j
- o5 t i
- d t i t d „  |  i ƒ d ƒ ƒ ‚ n Xd  S(   Ns6   Error running external program. Command line was: "%s"c         C   s   t  i |  d ƒ S(   Nt    (   R   RÖ   Rœ   (   Rœ   (    (    R(   R  ¾  s    s    | (   R|  Ry  t   flusht   popent	   pipe_cmdsR   R  t   pipeRw  R}  R?   t   IOErrorRn   Ro   R   RÖ   t   map(   R   R|  R†  (    (    R(   R~  °  s    
-
-
- !c         C   s   |  i ƒ  d  S(   N(   R   R}  (   R   (    (    R(   t   __del__Á  s    c         C   s(   |  i o |  i i ƒ  d  |  _ n d  S(   N(   R   Ry  R}  R?   (   R   (    (    R(   R}  Ä  s    
-
-(   R³   R´   R  R)   R~  R‰  R}  (    (    (    R(   R€  ©  s
-    			t   MarkupEnscriptc           B   s   t  Z d „  Z d „  Z RS(   Nc         C   sq   t  i i t  i i | i i d ƒ ƒ d d d d d d g } d d d	 g } t	 i
- |  | | | g ƒ | |  _
- d  S(
-   Nt   enscripts   --colors   --language=htmls   --pretty-prints   -ot   -t   seds   -ns   /^<PRE>$/,/<\/PRE>$/p(   Rb   Rc   Rd   RÖ   R   RZ   t
-   enscript_patht   enscript_cmdt   sed_cmdR€  R)   R   Ry  R   (   R   R   Ry  R   R  R  (    (    R(   R)   Ê  s
-    !c         C   s¢   t  i ƒ  } z t i i | |  i ƒ } zT t	 |  i
- t | d ƒ ƒ |  i
- i ƒ  d  |  _
- | |  i d d <t i |  | ƒ Wd  t i | ƒ XWd  t i | ƒ Xd  S(   Nt   wbi    iÿÿÿÿ(   Rž   t   mkdtempRÆ   Rb   Rc   RÖ   R   R   RÇ   Rw  Ry  t   openR}  R?   R  R€  R~  R|  t   unlinkt   rmdir(   R   R|  RÇ   RÆ   (    (    R(   R~  Ý  s    
-	  (   R³   R´   R)   R~  (    (    (    R(   RŠ  É  s   	t	   MarkupPHPc           B   s   t  Z d „  Z RS(   Nc         C   s,   | d d d g } t i |  | | g ƒ d  S(   Ns   -qs   -ss   -n(   t   php_exe_patht   php_cmdR€  R)   R   Ry  (   R   R—  Ry  R˜  (    (    R(   R)   ï  s    (   R³   R´   R)   (    (    (    R(   R–  î  s   t   MarkupHighlightc           B   s   t  Z d „  Z RS(   Nc         C   sá   y | t i | d ƒ d } Wn t j
- o
- d } n Xt i i t i i | i
- i d ƒ ƒ d | d d d d	 g } | i
- i
- o | i d
- g ƒ n | i
- i o# | i d t | i
- i ƒ g ƒ n t i |  | | g ƒ d  S(   Nt   .i   t   txtt	   highlights   --syntaxs   --forces	   --anchorss
-   --fragments   --xhtmls
-   --linenumberss   --replace-tabs(   R   R   t   rindexRP  t
-   ValueErrorRb   Rc   Rd   RÖ   R   RZ   t   highlight_patht
-   highlight_cmdt   highlight_line_numberst   extendt   highlight_convert_tabsR|   R€  R)   R   Ry  (   R   R   Ry  R   RP  R   (    (    R(   R)   ô  s    !
-
-#(   R³   R´   R)   (    (    (    R(   R™  ó  s   c         C   s½   y/ t  i i d | i i ƒ d  k } d  k } Wn t j
- o d  Sn Xt
- i |  i
- ƒ  ƒ } | i | i d d ƒ } | i ƒ  | i | ƒ } t i t d | ƒ } t i t d | ƒ } | S(   Ni    t   rawhtmlt   colors   <a href="\1">\1</a>s   <a href="mailto:\1">\1</a>(   Rs  Rc   t   insertR   RZ   t   py2html_patht   py2htmlt	   PyFontifyt   ImportErrorR?   R/  R¥   Ry  Rl  R0  t   PrettyPrintt   fontifyt   ppt   set_mode_rawhtml_colorRr   R1  Rt   R2  (   Ry  R   R­  R0  R¨  R©  (    (    R(   t   markup_stream_python  s    	
-	
-c         C   s5   | i i p d  Sn t i i ƒ  t | i i |  ƒ S(   N(
-   R   RZ   t   use_phpR?   Rs  Rt  Rƒ  R–  R—  Ry  (   Ry  R   (    (    R(   t   markup_stream_php!  s    
-
-
-s   .phps   .incc         C   ss   |  d j o d Sn | i i o3 t i |  ƒ } t i | ƒ d t i | d Sn t i t i	 |  ƒ ƒ d Sd S(   sw   Returns formatted date string in either local time or UTC.
-
-  The passed in 'date' variable is seconds since epoch.
-
-  s   Unknown dateR‚  i   s    UTCN(
-   RÌ   R?   R   RZ   t
-   use_localtimeRø   t	   localtimet   asctimet   tznamet   gmtime(   RÌ   R   R³  (    (    R(   t   make_time_string:  s     
-
-$c         C   s2   |  d j o d Sn t i d t i |  ƒ ƒ d S(   su   Returns formatted date string in UTC, formatted for RSS.
-
-  The passed in 'date' variable is seconds since epoch.
-
-  s   Unknown dates   %a, %d %b %Y %H:%M:%Ss    UTCN(   RÌ   R?   Rø   t   strftimeR¶  (   RÌ   R   (    (    R(   t   make_rss_time_stringH  s     
-c         C   sè  |  i } t |  ƒ \ } } |  i i | | ƒ \ }
- }	 t	 |  d  |	 d d ƒo |
- i ƒ  d  Sn t |  |	 | ƒ } | i h  d |  i <d d  <d d  <d d  <d d  <d d  <d	 d  <d
- d  <d d  <d d  <d
- d  <d d  <d d  <ƒ | i i o°h  d d <} |  i i | |	 | ƒ } | d } | i h  d t | i | ƒ <d | i <d | i <d t | i ƒ <d | i <ƒ | i d  j	 o t |  | i d ƒ | d <n |  i d j oæ | i } | i  p | i! } | i h  d
- | i" o d <d | o | i# <d t$ i% | o | d d d j ƒ <d t# i& t' d „  | i( ƒ d ƒ <d	 t# i& t' d „  | i) ƒ d ƒ <d
- t# i& t' d „  | i* ƒ d ƒ <ƒ qµn d  } t, |  i ƒ o? |
- i ƒ  |  i- d t. d h  d | <d d ƒ }
- d |
- } n t0 i i1 |  i2 d ƒ \ } } t5 i6 | ƒ } | o | |
- | ƒ } nU | i i8 o t9 | |
- |  i2 d ƒ } n+ | i i: o t; | |
- |  i2 d ƒ } n | p t< |
- ƒ } n | | d <|  i= i> ƒ  t? |  d | ƒ d  S(   NRð   i   R”   R=   RÌ   t   agot   authort   branchesR  t
-   branch_pointst   changedt   sizet   statet
-   vendor_brancht   prevt   svn_latest_logiÿÿÿÿR1   t   deadi   c         C   s   |  i S(   N(   t   xRL   (   RÅ  (    (    R(   R  „  s    s   , c         C   s   |  i S(   N(   RÅ  RL   (   RÅ  (    (    R(   R  …  s    c         C   s   |  i S(   N(   RÅ  RL   (   RÅ  (    (    R(   R  †  s    R@   RJ   R5   R¥   s   <img src="%s" alt="" /><br />t   markup(@   RÝ   R   Rá   Rc   R4   RA   t   openfileRy  R5   Rü   R?   R}  Ri  R
-  Rh  R”   RZ   t   show_log_in_markupt   itemlogt   revst   entryR·  RÌ   R»  R¾  R3  R=   R¿  RQ  RC   t
-   branch_numberRÄ   R  R0   RÄ  R   R  R-  RÖ   Rˆ  R¼  R  R½  t	   markup_fpR!  R“   RY   R   Rb   t   splitextRH   t   basenameRP  t   markup_streamersRP   t   streamert   use_enscriptRŠ  t
-   use_highlightR™  Rx  R   Rû   R  (   RÝ   R   RÏ  RÑ  RÍ  R4   RÄ   RÊ  RÂ  R5   Ry  Rc   R
-  R   RP  RË  RZ   (    (    R(   R   R  sP    	
-…
-
-X	±	 
-
-
-
-
-c         C   sC   t  t t i |  d ƒ ƒ }  t  t t i | d ƒ ƒ } t |  | ƒ S(   NRš  (   Rˆ  t   intR   R¶   t   rev1t   rev2R  (   RÕ  RÖ  (    (    R(   t   revcmp£  s    c         C   sJ   g  } x1 |  i ƒ  D]# \ } } | i d | | f ƒ q Wt i | d ƒ S(   sE   returns variables from params encoded as a invisible HTML snippet.
-  s,   <input type="hidden" name="%s" value="%s" />R   N(   R¨   RJ   RK   RL   R²   R  R   RÖ   (   RJ   R¨   RL   R²   (    (    R(   R§   ¨  s     
- c         C   sa   | d j o d p d } | d j o | d j o
- d } n | | | d „ } |  i | ƒ d  S(   Nt   downiÿÿÿÿi   R1   R4   RÌ   c         C   sc  | oQ |  i t i j o | i t i j o qT d SqX | i t i j o d SqX n |  i d  j	 o´ | i d  j	 o¤ | d j o | t
- |  i | i ƒ SqL| d j o | t | i |  i ƒ SqL| d j o | t |  i
- | i
- ƒ SqL| d j o | t |  i | i ƒ SqLn1 |  i d  j	 o d Sn | i d  j	 o d Sn | t |  i | i ƒ S(   Niÿÿÿÿi   R4   RÌ   R=   R»  (   t
-   group_dirst   file1t   kindRg   Rƒ   t   file2R4   R?   R   R5  R×  R  RÌ   R=   R»  RL   (   RÚ  RÜ  R   RÙ  R5  (    (    R(   t
-   file_sort_cmpº  s*     
-
-
-
-(   R   R5  RC   R   RÙ  RÝ  t	   file_dataR  (   RÞ  RC   R   R   RÙ  R5  RÝ  (    (    R(   t   sort_file_data±  s
-    
-$c         C   s   t  t i |  ƒ t i | ƒ ƒ S(   s   case insensitive comparisonN(   R  R   t   lowerRÅ  t   y(   RÅ  Rá  (    (    R(   Rb  à  s     c         C   s-   t  |  ƒ } |  i i ƒ  t |  d | ƒ d  S(   NR\  (   Rf  RÝ   R
-  R   Rû   R  (   RÝ   R
-  (    (    R(   Rˆ   ä  s    
-c      %   C   s£  |  i d j o^ |  i i |  i ƒ }	 t i i |  i |  i	 |	 ƒ } t |  d  t
- | ƒ d d ƒo d  Sqn n |  i } h  } |  i d j oB t |  i i d | i i ƒ ƒ } | i i o
- | i i | d <n |  i i |  i |  i | ƒ } |  i i d d ƒ } | i i o, | o% t |  i |  i |  i | | ƒ } n |  i i |  i |  i | | ƒ |  i i d	 | i i ƒ p d
- } |  i i d d ƒ } t! | |  i | | | i i" ƒ g  } d
- } d
- } |  i	 } | o | d } x©| D]¡} t( d d  d d  d d  d d  d d  d d  d d  d d  d d  d d  d d  d d  d d  d d  d d  d d  d t) i* d
- ƒ ƒ } | i | _ | i, | _, |  i d j o | i- o d  p d | _. | i/ d  j	 o. t0 | i/ | ƒ | _/ t1 |  | i/ ƒ | _2 n | i i o) | i3 d  j	 o t4 | i3 | ƒ | _3 n |  i5 i6 | i7 ƒ | _8 |  i5 i6 | i7 ƒ | _7 | i9 t i: j o d
- p | i9 t i; j o d! | _< | i= | _= | i9 t i; j o…| d j o | i> | i7 ƒ o qãn |  i d j o1 | i i? o$ | d j o | i7 d" j o qãn |  i@ d# tA d$ | | i7 d% t i; d& h  d' d ƒ | _B |  i d j o1 |  i@ d# tC d& h  d( | i <d' d ƒ | _D n |  i d j oF | i d  j	 o6 d  | _ | i i o | iE | _F | i | _G qÒn |  i d j o; |  i@ d# tH d$ | | i7 d% t i; d& h  d' d ƒ | _I qwnW| i9 t i: j oC|  i d j o& | i- o | d } | o qãqjn | d } | | i7 } |  i d j o | iK | _K n tL | i7 ƒ | _M tN |  | | i | iM ƒ \ | _B | _O | _P | _Q | _D | _R |  i@ d# tH d$ | d% t i: d& h  d' d ƒ | _I | i iS oD |  i d j o4 |  i@ d# tT d$ | d% t i: d& h  d' d ƒ | _U qwn | iV | ƒ qãWtW |  ƒ }
- |
- iY h  d) | <d	 | <d | <d* d  <d+ | o
- tZ | ƒ p d  <d, d  <d- |  i@ d& h  d	 d
- <d d  <d' d ƒ <d. |  i@ d& h  d	 d/ <d d  <d' d ƒ <d0 |  i@ d& h  d	 d <d d  <d' d ƒ <d1 |  i@ d& h  d	 d <d d  <d' d ƒ <d2 |  i@ d& h  d	 d <d d  <d' d ƒ <d3 | <d4 | <d5 d  <d6 d  <d7 d  <d8 d  <d9 d  <d: d  <d; d  <d< d  <d= d  <ƒ | d> j o
- d  } n d> } | d
- d/ d d d g j o- |  i@ d& h  d | <d' d ƒ |
- d? | <n |  i d j oÀ | d@ } | i] t^ ƒ | i_ ƒ  | dA }
- |
- i] t^ ƒ |
- i_ ƒ  |
- iY h  d9 t) i* | ƒ <d: |  i@ d& h  d d
- <d' d ƒ <d; |  i@ d& h  d d <d' d ƒ <d< |
- <d= | <ƒ n… |  i d j ot | |
- dB <|  i@ d# tC d& h  d( | <d' d ƒ |
- dC <t i ia |  i ƒ |
- d5 <|  i@ d# tC d& h  d' d ƒ |
- d6 <n tb |  ƒ oW h  } |  i d j o |  i o |  i | dD <n |  i@ d# td d& | d' d ƒ |
- d8 <n | i ie o- |  if d& h  d, d  <ƒ \ |
- dE <|
- dF <n | i ig o& |  i@ d# th d& h  d' d ƒ |
- d* <n ti |  |
- ƒ t) i* | i i o | d
- j p | ƒ |
- dG <|
- dG o- |  if d& h  d d  <ƒ \ |
- dH <|
- dI <n | i ie oI t |  i i d, d
- ƒ ƒ |
- d, <tj |
- d) |
- d, dJ | i ie ƒ |
- d) <n |  i5 ik ƒ  tl |  dK |
- ƒ d  S(L   NR3   Rð   i   R1   R   t   cvs_subdirsR   R   R   RÇ   R   t   upi    R>   RW  R»  R=   t   log_filet   log_revRÀ  R¿  R”   RÌ   Rº  R)  RU  R(  R'  R*  R&  R,  RÄ  RÆ   R2   R@   RF   RE   RJ   R¥   R5   t   entriest   tarball_hreft	   search_reR¿   t   sortby_file_hreft   sortby_rev_hrefR4   t   sortby_date_hreft   sortby_author_hreft   sortby_log_hreft   files_shownt   num_deadt   youngest_revt   youngest_rev_hreft   selection_formt   queryform_hreft
-   attic_showingt   show_attic_hreft   hide_attic_hreft   branch_tagst
-   plain_tagsRØ  s   sortby_%s_hreft   cvs_tagst   cvs_branchest   tree_revt
-   tree_rev_hrefRÄ   t   dir_paging_actiont   dir_paging_hidden_valuest   search_re_formt   search_re_actiont   search_re_hidden_valuesRL   t	   directory(m   RÝ   RC   RA   RÜ   R-   R4   Rg   R3   t   created_revRF   Rû  Rü   R?   R|   R   RZ   RÔ  RG   RP   t
-   hide_atticR   t   show_subdir_lastmodt	   show_logst   listdirRH   RÞ  Rè  t
-   use_re_searcht   search_filest   dirlogst   sort_byR   R   Rß  t   sort_group_dirst   rowst
-   num_displayedRï  t   where_prefixRÇ   R  R  R-  t   rowR»  RÄ  RÀ  RÌ   R·  RQ  Rº  R=   R6  R   R¥   RL   t   anchorRÛ  R   Rƒ   RE   t   errorsR‡   t   hide_cvsrootR“   R‰   R)  R}   R(  t   newest_fileRä  Rå  R‘   RU  t
-   file_whereR¿  R•   R”   R.  R*  R&  R'  R,  Rc  R‹   RW  R  Rf  R
-  Rh  R3  t
-   revsortdirRø  R  Rb  t   reverseR÷  t   get_youngest_revisionRd  RJ   t   view_queryformt   use_pagesizeR©   t	   allow_tarR\   t   pathrev_formt   pagingRû   R  (   RÝ   RÇ   R   R   R  Rï  R  R
-  R   R4   R÷  RJ   R  R
-  Rø  R  RÞ  Rè  Rû  R  R   RF   RZ   (    (    R(   R‰   é  s&   	!	"
-	 *6 :
-	 	
-
-	
-
-
-?		u	----r
-
-
-
-
-
-
-
-~	
-
-
--
-
---
-
-c   	      C   s1  g  } |  d <xÖ t d t |  | ƒ | ƒ D]¸ } t d d  d d  d d  ƒ } t
- |  | | | ƒ | _ | | _
- | | d | _ y& t
- |  | | | d | ƒ | _ Wn- t j
- o! t
- |  | d | ƒ | _ n X| i | ƒ q+ Wt | ƒ |  d <| t |  | ƒ j o
- d } n | | } |  | | | !S(	   Nt   picklisti    t   startt   endt   counti   iÿÿÿÿt   picklist_len(   R  R
-  t   rangeR†   t   keyt   pagesizeR·   R  R?   t   pickRF  t
-   local_nameR  R!  t   pageR   t
-   IndexErrorR  t	   pagestartt   pageend(	   R
-  R$  R*  R'  R%  R·   R&  R  R+  (    (    R(   R  Û  s"     	&
-
-c      	   C   s\  d  } |  i d j oÎ |  i d t d h  d d  <d |  i <d |  i <d |  i <d t	 i
- |  i ƒ <ƒ \ | d	 <| d
- <|  i oX t
- i i |  i ƒ } t
- i i |  i |  i |  i | ƒ d } | | j o
- d  } qà qä n |  i | d <| | d <|  i d h  d | <ƒ \ } } |  i d j o | | d	 <| | d
- <n | | d
- <| | d <| S(   NR3   R@   RJ   R-   RÒ   RÓ   RÔ   RÕ   t   pathrev_actiont   pathrev_hidden_valuesi    t   lastrevt   pathrev_clear_actiont   pathrev_clear_hidden_values(   R?   R.  RÝ   RC   R©   R~   RF   RE   R-   R¯   RP   R@   R
-  Rg   R3   R  RA   t   youngestt   last_revR¦   R¨   (   RÝ   R
-  R¨   R.  R1  R¦   (    (    R(   R  ÷  s&    \
-
-
-
-!
-
-
-c      
-   C   s‘  |  i d j p t ‚ |  i i d ƒ p d  } |  i i d d ƒ } |  i i d ƒ } |  i i d ƒ } t
- i |  i i d ƒ ƒ } t i
- i |  i ƒ } y t | ƒ } Wn% t j
- o n+ t j
- o n X| | j o
- | } n t |  i t | ƒ | ƒ o
- | } nI t i
- i |  i | | | ƒ \ } } | d  j o | | j o
- d  } n |  i i |  i d | d	 | d
- | d h  d | <ƒ ƒ d  S(   NR3   R-   RÒ   R   RÓ   RÔ   RÕ   R@   RF   RE   RJ   (   RÝ   RC   R¬   RG   RP   R?   t   new_pathrevRc   RE   R-   RO   R.   Rg   R3   R  RA   R1  RÔ  Rž  t	   TypeErrorR   RR   R2  R   R’   R“   (   RÝ   R3  RE   R-   R1  Rc   R.   (    (    R(   R~     s2    
-
-
-
-c         C   s+   t  |  i | i ƒ p t  |  i | i ƒ S(   N(   R  RÕ  RÌ   RÖ  t   number(   RÕ  RÖ  (    (    R(   t   logsort_date_cmp:  s    c         C   s   t  |  i | i ƒ S(   N(   R  RÕ  R5  RÖ  (   RÕ  RÖ  (    (    R(   t   logsort_rev_cmp>  s    c       
-   C   sÃ  |  i } |  i i d | i i ƒ } |  i i d | i i ƒ } |  i } | t	 i
- j o& |  i d j o t i
- d d ƒ ‚ n h  } d | d <| i i | d <|  i i |  i |  i | ƒ } | d	 j o | i t ƒ n | d
- j o | i t ƒ n |  i i d ƒ } g  } h  } |  i d j } x| D]ù} t ƒ  } | i | _ | o | i o d | _  | i! | _! | i" | _" t# | i$ | ƒ | _$ d  | _& | i$ d  j	 o t' |  | i$ d ƒ | _& n t( | i) p d
- ƒ | _) | i* | _* d  | _+ d  | _, d  | _- d  | _. d  | _/ d  | _0 d  | _1 d  | _2 d  | _3 d  | _4 d  | _5 d  | _6 d  | _7 d  | _8 |  i d j o‰| i9 p | i: } | o | i | _9 | i; }
- t= i> |
- o |
- d d d j ƒ | _? t@ |  | iA ƒ | _A t@ |  | iB ƒ | _B t@ |  | iC ƒ | _C tD d „  | iB ƒ | _E |
- o7 | iF |
- ƒ o& tD d „  | iA ƒ | _G d | |
- <n
- g  | _G | i: o. | i: | j	 o | i? o | i: i | _+ n | iH oN | i: oD | i: iH o7 | i: iH } x | iH o
- | iH } qÓW| i | _, q1n3|  i d j o"| i9 o
- | i9 i | _9 g  | _A | _B | _C g  | _E | _G d  | _? | iJ |  iK j o | iJ | _- n | i. | _. | iL | _L | i- oC |  iM d tN d | i- d t	 iO d h  d | i <d d ƒ | _P n | i. oC |  iM d tN d | i. d t	 iO d h  d | iL <d d ƒ | _Q q1n | t	 iO j oF tR |  |  iK | i |  iS ƒ \ | _/ | _0 | _1 | _2 | _3 | _T nm |  iM d tU d h  d | i <d d ƒ | _3 |  iM d tV d | iJ d t	 i
- d h  d | i <d d ƒ | _/ | | i j o1 |  iM d tN d h  d | i <d d ƒ | _4 n | i9 d  j	 oF |  iM d tW d h  d | i9 <d | i <d d  <d d ƒ | _6 n | o› | tX | i ƒ j o… | tX | i9 ƒ j oo | tX | i+ ƒ j oY | tX | i, ƒ j oC |  iM d tW d h  d | <d | i <d d  <d d ƒ | _5 n | i, oF |  iM d tW d h  d | i, <d | i <d d  <d d ƒ | _8 n | i+ oF |  iM d tW d h  d | i+ <d | i <d d  <d d ƒ | _7 n | i- o |  iY iZ | i- ƒ | _- n | i. o |  iY iZ | i. ƒ | _. n | i[ | ƒ q,Wt\ |  ƒ } | i^ h  d d  <d |  iS <d | <d | <d | <d t= i> | d< j ƒ <d  d  <d! | <d" t= i> d# ƒ <d$ d  <d% d  <d& d  <d' d  <d( t= i> d# ƒ <d) d  <d* d  <d+ d  <d, d  <ƒ t_ |  | ƒ } | i ia o- |  ib d h  d  d  <ƒ \ | d- <| d. <n |  ib d tW d h  d d  <d d  <d/ d  <d0 d  <d d  <ƒ \ | d1 <| d2 <|  ib d h  d d  <ƒ \ | d3 <| d4 <| t	 iO j o|  i p
- | d  j on tR |  |  iK d  |  iS d  ƒ \ } } } } }
- } | i^ h  d$ | <d% | <d& | <d' | <d" | <ƒ n |  i o{ |  i d j ok tR |  |  iK d  |  iS ƒ \ } } } } }
- } | i^ h  d) | <d* | <d+ | <d, | <d( | <ƒ qn1 |  i p& |  iM d tV d h  d d ƒ | d$ <n | i d5 h  ƒ } | id ƒ  } | i ƒ  | if ƒ  | i d6 ƒ } | oO g  } x/ | ih D]$ }
- |
- | j	 o | i[ |
- ƒ qtqtWt@ |  | ƒ | d <n g  | d7 <} g  | d8 <}	 g  | d9 <} xl | D]d \ } } | il o& | i[ t d
- | il i d: | ƒ ƒ n | im o |	 i[ | ƒ qä| i[ | ƒ qäW| i ia oI tn |  i i d  d# ƒ ƒ | d  <to | d! | d  d | i ia ƒ | d! <n |  iY ip ƒ  tq |  d; | ƒ d  S(=   NR   R   R1   s.   Unsupported feature: log view on CVS directorys   400 Bad Requesti   t   svn_show_all_dir_logst   svn_cross_copiesRÌ   R4   R8   RÄ  R   i   c         C   s   |  i S(   N(   RÅ  RL   (   RÅ  (    (    R(   R  ‡  s    c         C   s   |  i S(   N(   RÅ  RL   (   RÅ  (    (    R(   R  ‰  s    R3   R@   RF   RE   RJ   R-   R¥   R5   R9   t   default_branchR”   t   rev_selectedt   human_readablet   hRØ   RÀ   Ræ  R,  i    R)  R*  R&  R'  t   tag_prefer_markupt
-   tag_view_hreft   tag_download_hreft   tag_download_text_hreft   tag_annotate_hreft   log_paging_actiont   log_paging_hidden_valuesR   Rà   t   diff_select_actiont   diff_select_hidden_valuest   logsort_actiont   logsort_hidden_valuesRù  t   MAINR  R÷  Rø  RL   R=   (   R=  RØ   (r   RÝ   R   RG   RP   RZ   R   t   log_sortR   RE   Rg   Rƒ   RC   Rn   Ro   t   cross_copiesRA   RÉ  RH   R-   t	   show_revsR  R6  R7  t   selected_revRæ  t   name_printedR1   R4   R  RË  R   RÄ  RÀ  R»  R¾  R·  RÌ   R?   Rº  RQ  R3  R=   R¿  t   branch_pointt	   next_mainRÒ   t	   copy_pathR)  R*  R&  R'  R(  t   sel_for_diff_hreft   diff_to_sel_hreft   diff_to_prev_hreft   diff_to_branch_hreft   diff_to_main_hrefR  R0   RÌ  RÄ   R  R-  RÁ  R  R¼  R  R½  Rˆ  t	   tag_namesRa   t   branch_namest   nextt   rR   RF   t   copy_revR“   R‘   R   Rg  t	   copy_hrefR.  R”   R,  R}   R‰   R‚   R|   R   R¥   R  Rf  R
-  Rh  R  R.  R  R©   t   taginfoRK   t   tagitemsR  t   maint   aliasesR÷  Rø  R  t   co_revt	   is_branchRÔ  R  Rû   R  (    RÝ   RL  R   R'  R   R1   R   R  R,  R÷  R(  R4   R)  RÄ   RÂ  RM  R  RN  R^  Ræ  R
-  Rø  R]  R¼  RE   R.  R*  RZ  R_  RË  R&  RZ   (    (    R(   R‘   B  sV   		 	
-
-	
-
-  																	'	%" 
-	
-		
-		4		1'_$
-'
-'
-
-Ó
--G)!>-B
-
-
-
- 
- 
-&
-
-
-c         C   s‰   t  |  ƒ \ } } |  i i | | ƒ \ } } t |  d  | ƒ p; |  i
- i |  i i
- d ƒ p |  i p d ƒ t | ƒ n | i ƒ  d  S(   Ns   content-types
-   text/plain(   Rá   RÝ   Rc   R4   RA   RÇ  Ry  R5   Rü   R?   R   Rû   RG   RP   R”   Rw  R}  (   RÝ   Ry  R4   Rc   R5   (    (    R(   RY   T  s    -c   	      C   s  |  i i i p t i d d ƒ ‚ n t |  d ƒ \ } } d  k	 } |  i
- d t d h  d d  <d d  <d d	 d
- d	 ƒ } |  i
- d t d d d
- t i d h  d d	 ƒ } | i	 |  i | | | | ƒ \ } } t |  | | ƒ } | | d <|  i i ƒ  t |  d | ƒ d  S(   Ns   Annotation view is disableds
-   403 ForbiddenR:   R@   RJ   R8   R9   R¥   i   R¤   RF   s   /WHERE/RE   t   lines(   RÝ   R   RZ   R+  Rn   Ro   Rá   Rc   R4   t   blameR“   R‚   R?   t   diff_urlR‘   Rg   R   t   include_urlRA   t   sourceR5   Ri  R
-  R   Rû   R  (	   RÝ   Rg  R4   Rf  Rd  Rc   Re  R
-  R5   (    (    R(   RŠ   _  s     	
-	
-
-c         C   sà   |  i } | i i p t i d d ƒ ‚ n |  i i d ƒ |  i i	 |  i
- ƒ } t i t i
- i t i
- i | i i d ƒ ƒ d t | i i ƒ d |  i i | f d d ƒ } t | ƒ | i ƒ  d	 S(
-   s%   output the image rendered by cvsgraphs   Graph view is disableds
-   403 Forbiddens	   image/pngt   cvsgraphs   -cs   -rt   rbi    N(   RÝ   R   RZ   Rc  Rn   Ro   R   Rû   RA   t   rcsfileRH   R„  Rb   Rc   Rd   RÖ   t
-   cvsgraph_pathRæ   t
-   cvsgraph_confRD   Ry  Rw  R}  (   RÝ   Ry  Rj  R   (    (    R(   RŒ   y  s     	
-!	$
-c         C   sÞ  |  i } | i i p t i d d ƒ ‚ n t |  ƒ } |  i d t	 d d ƒ } t |  i | ƒ } t |  i d  ƒ } |  i i |  i ƒ } t i t i i | i i d ƒ d d	 t | i i ƒ d
- |  i i d d d
- |  i d t d h  d d ƒ d |  i d | d h  d d <d d d d ƒ d |  i d t d h  d d <d d <d d d d ƒ d |  i d t d | d t i  d h  d d <d d d d ƒ | f d d ƒ } | i" h  d | <d | <ƒ |  i# i$ ƒ  t% |  d | ƒ d S(   s6   output a page containing an image rendered by cvsgraphs   Graph view is disableds
-   403 ForbiddenR@   R¥   i   iÿÿÿÿRh  s   -is   -cs   -rs   -xRÅ  s   -3RJ   s   -4R5   R¤   s   -5R8   R9   s   -6RF   RE   R-   Ri  i    t   imagemapt   imagesrcR;   N(&   RÝ   R   RZ   Rc  Rn   Ro   Rf  R
-  R“   RŒ   Rn  R%  R”   R.   RT   RH   t   up_whereRA   Rj  R„  Rb   Rc   RÖ   Rk  Ræ   Rl  RD   R‘   R?   R‚   R‰   Rg   Rƒ   Ry  Rh  R   Rû   R  (   RÝ   R   Rn  Ro  Ry  R
-  Rj  R.   (    (    R(   R‹   Œ  s0     	
-<	
-c   
-      C   sÚ   t  i | ƒ } g  } x¾ | D]¶ } | i t i	 j o | i
- | ƒ q n t t | i
- ƒ ƒ p q n |  i | | i
- g | ƒ d } xI | i ƒ  }	 |	 p Pn | i |	 ƒ o | i
- | ƒ | i ƒ  Pq‰ q‰ Wq W| S(   s’    Search files in a directory for a regular expression.
-
-  Does a check-out of each file in the directory.  Only checks for
-  the first match.  
-  i    i   N(   Rr   t   compileRè  t	   searchstrt
-   new_file_listt   filesRÇ   RÛ  Rg   R   R  R"  R•   RL   RA   RÇ  RH   R4   Ry  t   readlinet   lineR   R}  (
-   RA   RH   R4   Rs  Rè  Rq  Rr  Ry  RÇ   Ru  (    (    R(   R	  ½  s*      
-   
-
-c         C   sÛ  |  i } t t i i |  i i i	 d | ƒ ƒ } y t i | ƒ } Wn7 t
- j
- o+ } t i d | t | ƒ f d ƒ ‚ n Xt | t i ƒ } | t i } t |  | d | | f ƒ o d Sn y t | d ƒ } Wn7 t j
- o+ } t i d | t | ƒ f d ƒ ‚ n X|  i i d | ƒ | d d	 j o |  i i d
- ƒ n} | d d j o |  i i d ƒ nX | d d
- j o |  i i d ƒ n3 | d d j o |  i i d ƒ n |  i i ƒ  t | ƒ | i ƒ  d S(   sp   Serve ViewVC static content locally.
-
-  Using this avoids the need for modifying the setup of the web server.
-  RS  s#   Static file "%s" not available
-(%s)s
-   404 Not Founds   %s-%sNRi  s   Content-Lengthiýÿÿÿt   pngs	   image/pngt   jpgs
-   image/jpegt   gifs	   image/gift   csss   text/css(   RÝ   RF   t   documentRæ   Rb   Rc   RÖ   R   RZ   R  R   t   statt   infot   OSErrort   vRn   Ro   R|   t   ST_SIZEt   content_lengtht   ST_MTIMEt
-   last_modifiedRü   R“  Ry  R‡  R   Rú   Rû   Rw  R}  (   RÝ   R|  R€  R   R‚  Ry  R~  Rz  (    (    R(   RU   ò  s>     	
-	
-
-c         C   sX   |  d  j o d  Sn y t i |  ƒ } Wn t j
- o |  Sn Xt t i | ƒ | ƒ S(   N(	   t   date_strR?   Rž   t   cvs_strptimeRÌ   Rž  R·  t   timegmR   (   Rƒ  R   RÌ   (    (    R(   t   rcsdiff_date_reformat	  s    
-	s*   ^[-+*]{3} [^\t]+\t([^\t]+)\t((\d+\.)*\d+)$s!   @@ \-([0-9]+).*\+([0-9]+).*@@(.*)c         C   sØ   t  i t  i |  ƒ ƒ }  | i i } | d j o8 t |  ƒ | j o% t i	 d d | d d |  ƒ }  n | o t  i
- |  d d ƒ }  n t  i
- |  d d	 ƒ }  t |  ƒ }  t  i
- |  d
- d ƒ }  t  i
- |  d d
- ƒ }  |  S(   Ni   t   (Rš  t   )s   \1s     s    nbsp;R‚  s   nbsp;s   R™   s   s&   <span style="color:red">\</span><br />(   R   t
-   expandtabst   rstripRC  R   RZ   t   hr_breakableR†   Rr   R1  R  R3  (   RC  R   R‹  (    (    R(   t   spaced_html_text)	  s     %t
-   DiffSourcec           B   s,   t  Z d „  Z d „  Z d „  Z d „  Z RS(   Nc         C   sU   | |  _  | |  _ d  |  _ d  |  _ d |  _ d  |  _ d |  _ g  |  _	 g  |  _
- d  S(   Niÿÿÿÿs
-   no-changes(   Ry  R   R   R?   t	   save_linet   line_numbert   idxt   lastRÀ  t   left_colt	   right_col(   R   Ry  R   (    (    R(   R)   >	  s    								c         C   su   | |  i  j o |  i Sn | |  i  d j o
- t ƒ  ‚ n x2 |  i ƒ  } | o | |  _  | |  _ | Sq? q? Wd  S(   Ni   (   R  R   R‘  t   DiffSequencingErrort   _get_rowR  (   R   R  R  (    (    R(   t   __getitem__M	  s    
-  		c      
-   C   s³  |  i d  d j o( |  i ƒ  } | o | Sn d |  _ n |  i o |  i } d  |  _ n |  i i ƒ  } | p` |  i d j o d |  _ t	 d d ƒ Sn |  i
- p
- |  i o d |  i |  _ d  Sn t ‚ n | d  d	 j o„ d |  _ g  |  _
- g  |  _ t
- i | ƒ } t | i d ƒ ƒ d
- |  _ t	 d d d | i d
- ƒ d
- | i d ƒ d | i d ƒ ƒ Sn | d d j o d |  i |  _ d  Sn | d } t | d
- |  i ƒ } | d j oa |  i d j o0 |  i d
- |  _ t	 d d d | d |  i ƒ Sn d |  _ |  i i | ƒ d  Sn | d j o! d |  _ |  i
- i | ƒ d  Sn |  i
- p
- |  i o! | |  _ d |  i |  _ d  Sn |  i d
- |  _ t	 d d d | d | d |  i ƒ S(   Ni   Rƒ  t   dumps
-   no-changest   doneR[  s   flush-i   s   @@i   Rû   t   line_info_leftt   line_info_rightt   line_info_extrai   i    s   \t   +t   addt   rightR  s   pre-change-addRŒ  s   pre-change-removet   contextt   left(   R   RÀ  t
-   _flush_rowR  RŽ  Ru  R?   Ry  Rt  R  R’  R“  R)  t   _re_extract_infoRs   RÔ  t   groupR  t	   diff_codeRŒ  R   t   outputR  (   R   R  R¤  R¥  Ru  Rs   (    (    R(   R•  ]	  sd    
-
-	
-	
-				
-
- 	
-		c         C   s  |  i o |  i o d  Sn |  i d j o# t d d d |  i i d ƒ ƒ Sn t d d d t i d ƒ d t i d ƒ ƒ } |  i o+ t i d	 ƒ | _
- |  i i d ƒ | _ n |  i oG |  i d	 |  _ t i d	 ƒ | _
- |  i i d ƒ | _ |  i | _ n | S(
-   Ns   flush-pre-change-removeR[  t   removeR   i    t   changet	   have_leftt
-   have_righti   (   R   R’  R“  R?   RÀ  R  RX   R  R-  R  R¨  R   R  R©  Rž  (   R   R  (    (    R(   R¡  ¨	  s     #	
-
-(   R³   R´   R)   R–  R•  R¡  (    (    (    R(   R  =	  s   			KR”  c           B   s   t  Z RS(   N(   R³   R´   (    (    (    R(   R”  ¾	  s   c         C   s—  d  } } }
- } } g  } | t i	 j o d } d } n+ | t i j o d } d } n d  } } | o¦| oŸd } t | ƒ }	 t | ƒ }
- x~| or|  i ƒ  } | p Pn | t | ƒ  | j oY t i | ƒ } | o" | i d ƒ } | i d ƒ }
- n | o | d  d | } qýnÚ | t | ƒ  | j o_ t i | ƒ } | o" | i d ƒ } | i d ƒ } n | o | d  d | } n d } nd | d	  d
- j o t } d } nC t i | d ƒ d j p t i | d ƒ d j o t } d } n | i | ƒ q• Wn |
- o- |
- | j o  t i  d
- |
- | f d ƒ ‚ n | o- | | j o  t i  d
- | | f d ƒ ‚ n | | | t i" | d ƒ f S(   Ns   --- s   +++ s   *** i   i   iÿÿÿÿs    %s
-i    i   t   Bins	   not founds   illegal options3   rcsdiff found revision %s, but expected revision %ss   500 Internal Server ErrorR   (#   R?   t   date1t   date2t   log_rev1t   log_rev2t   flagt   header_linest	   diff_typeRg   t   UNIFIEDt   f1t   f2t   CONTEXTt   parsingR†   t   len_f1t   len_f2Ry  Rt  Ru  t   _re_extract_revRs   R£  t   sym1t   sym2t   _RCSDIFF_IS_BINARYR   R   t   _RCSDIFF_ERRORR  RÕ  Rn   Ro   RÖ  RÖ   (   Ry  R±  RÕ  RÖ  Rº  R»  R³  R´  R¶  R·  R¸  R«  R¬  R­  R®  R°  Rs   R¯  Ru  (    (    R(   t   diff_parse_headersÁ	  s^    
-
-
- 
-
-2
-
-
-c         C   sà   |  i i | ƒ o t |  i | ƒ } n³ |  i d j o™ yC |  i } t t i	 i
- | |  i | i | ƒ | i | ƒ ƒ ƒ } WqÜ t i j
- o t i d d ƒ ‚ qÜ t i j
- o t i d d ƒ ‚ qÜ Xn
- |  i } | S(   NR3   s-   Invalid path(s) or revision(s) passed to diffs   400 Bad Request(   RÝ   RG   Ra   t	   query_keyRR   t   partsRC   RA   Rg   R3   Rà   RF   RÜ   t   base_revR4   Rz   Rn   Ro   RÛ   RH   (   RÝ   R¿  R4   RÁ  RA   RÀ  (    (    R(   t   _get_diff_path_partsý	  s     		
-		c         C   s.  |  i } | d }	 } | d }
- } d  } } | d j o3 | i	 d d  ƒ }	 |	 p t
- i d d ƒ ‚ q° nB t i
- | d ƒ } | d j o
- | }	 n | |  }	 | | d	 } | d j o9 | i	 d
- d  ƒ }
- |
- p t
- i d d ƒ ‚ n d } nB t i
- | d ƒ } | d j o
- | }
- n | |  }
- | | d	 } |  i d j o4 t |  i i |	 ƒ ƒ }	 t |  i i |
- ƒ ƒ }
- n t |  d
- |	 |  i ƒ } t |  d |
- |  i ƒ } yE t |	 |
- ƒ d j o+ |
- |	 }	 }
- | | } } | | } } n Wn% t j
- o t
- i d d ƒ ‚ n X| | |	 |
- | | f S(   NR8   R9   RC  R   s.   Missing revision from the diff form text fields   400 Bad Requestt   :iÿÿÿÿi   Rà   R   R3   R½   R¾   i    s"   Invalid revision(s) passed to diff(   RÝ   RG   RÕ  R8   RÖ  R9   R?   Rº  R»  RP   Rn   Ro   R   R   R  RC   R|   RA   RÜ   R  R-   R½   R¾   R×  Rž  (   RÝ   R¾   R  R8   R9   RG   R»  Rº  R½   RÕ  RÖ  (    (    R(   t
-   setup_diff
-  sN    	
-
-	
-
-
-
-	
-
-
-
-
-
-
-	c         C   sR  |  i } |  i } t |  ƒ \ } } }	 } } } | i
- d | i i d j o d p d ƒ } | d j o
- t i } n1 | d j o
- t i } n t i d | d ƒ ‚ y" |  i i | |	 | | | ƒ } Wn( t i j
- o t i d d ƒ ‚ n Xt | | |	 | | | ƒ \ } } }
- }
- |  i i d ƒ t i  i! |
- ƒ t" | ƒ | i# ƒ  d  S(   NR   R¸   t   us   Diff format %s not understoods   400 Bad Requests-   Invalid path(s) or revision(s) passed to diffs
-   text/plain($   RÝ   R   RG   RÄ  R½   R¾   RÕ  RÖ  Rº  R»  RP   RZ   R   RÐ   Rg   Rµ  R±  R²  Rn   Ro   RA   t   rawdiffRy  Rz   R¾  R«  R¬  R¯  t   headersR   Rû   Rs  Rt  Rv  Rw  R}  (   RÝ   R   RG   R»  Rº  R«  R¬  Ry  RÐ   RÕ  R¯  R¾   R½   RÇ  R±  RÖ  (    (    R(   t
-   view_patchF
-  s,    			#
-
-
-
-
-	"	
-c         C   s   |  i } |  i } t |  ƒ \ } } } } } } t
- |  d  d | | f d d ƒo d  Sn d  } h  } d } | i d | i i ƒ } | d j o
- t i } n• | d j o
- t i } n{ | d j o t i } d	 | d
- <d } nQ | d j o t i } d } n1 | d j o
- t i } n t i d
- | d ƒ ‚ | o4 | i i | d <| i i | d <| i i | d <n y/d  } } } | i i oï t  oè | o
- t  i p | oÏ | t i j o¿ |  i! i" | | ƒ d } z | i$ ƒ  } Wd  | i& ƒ  X|  i! i" | | ƒ d } z | i$ ƒ  }
- Wd  | i& ƒ  X| o% t  i | |
- | i d
- d ƒ ƒ } qœt  i | |
- | i d
- d ƒ ƒ } n" |  i! i) | | | | | | ƒ } Wn( t i* j
- o t i d d ƒ ‚ n Xt+ |  ƒ } | i- h  d t. | ƒ <d t. | ƒ <d | <d | <d | <d | <d |  i i d | i i ƒ <d d  <ƒ |  i i/ ƒ  } d  | d <|  i1 d | ƒ \ | d <| d <|  i2 d t3 d | d  d ƒ | d! <|  i i i4 oD |  i2 d t5 d" t. | ƒ d# t i6 d h  d$ | <d  d ƒ | d <n | o+ t7 | | | | | | ƒ \ }	 } } } n d  }	 } } } d  }
- } | o\ | o6 | d  j	 o t> d% | ƒ g } q¦t? | | ƒ } qªt@ | tA | ƒ d  d ƒ }
- n | i- h  d& tB |	 | ƒ <d' tB | | ƒ <d( |
- <d) | <d* | <d+ | <ƒ |  iC iD ƒ  tE |  d, | ƒ d  S(-   Ns   %s-%sRð   i   i    R   R¸   R5  RØ   i   RŸ  R=  RÅ  s   Diff format %s not understoods   400 Bad Requestt   funoutt   ignore_whitet   ignore_keyword_substi   i   s-   Invalid path(s) or revision(s) passed to difft	   path_leftt
-   path_rightt   rev_leftt	   rev_rightt   tag_leftt	   tag_rightR'  RJ   t   diff_format_actiont   diff_format_hidden_valuesR@   R¥   t
-   patch_hrefRF   RE   R:   R[  t	   date_leftt
-   date_rightt   raw_difft   changest
-   sidebysidet   unifiedt   diff(F   RÝ   R   RG   RÄ  R½   R¾   RÕ  RÖ  Rº  R»  Rü   R?   R±  t   diff_optionsR<  RP   RZ   R   RÐ   Rg   Rµ  t   SIDE_BY_SIDER²  Rn   Ro   t	   hr_funoutt   hr_ignore_whitet   hr_ignore_keyword_substRy  RÙ  RÚ  t   hr_intralinet   idiffRA   RÇ  R³  t	   readlinest
-   lines_leftR}  R´  t   lines_rightRÆ  Rz   Rf  R
-  Rh  RT   R«   t   orig_paramsR©   R“   RÈ  R+  RŠ   R   R¾  R«  R¬  R¯  RÇ  t   raw_diff_fpRØ  R  R  Rx  R3  R†  R   Rû   R  (   RÝ   RÚ  R´  R³  R   RG   R»  Rº  Ræ  R«  Rç  R¬  Rä  Rå  Ry  R<  RÐ   RÕ  R¯  R
-  RÙ  RÜ  R¾   R½   RÇ  R±  RÖ  RØ  (    (    R(   R‚   g
-  sž    		#
-
-
-
-
-	
-
-
-	
-
-
-
-	=  %	[
- 	
-
-U	
-R   t   viewvct   ustarc         C   sm  | p% | d d j o
- d } q, d } n | p% | d d j o
- d } qX d } n |
- p
- d }
- n t i d | d	 | d	 | d	 | d
- | d
- | ƒ } t i d | | | | |	 |
- d	 | d	 | |
- ƒ
- } | pO d } | | | } d
- } x2 t t | ƒ ƒ D] } | t | | ƒ } qWn | t i d d	 | ƒ | } | d d t | ƒ } |  i | ƒ d  S(   NiÿÿÿÿR>   ií  i¤  t   5t   0R   s   100s 8s 8s 8s 12s 12ss   %07os   %011os   c 100s 6s 2s 32s 32s 8s 8s 155ss           i    t   8st    i   (   t   modeRL   t   typefragt   prefixt   structt   packt   uidt   gidR¿  Rñ   t   block1t   linknamet   magict   versiont   unamet   gnamet   devmajort   devminort   block2t   chksumt   dummy_chksumt   blockR#  R†   R·   t   ordt   outRv  (   R  RL   R¿  Rî  Rñ   Ró  Rô  Rï  Rö  Rù  Rú  Rû  Rü  Rð  R÷  Rø  Rþ  Rõ  Rý  Rÿ  R·   R   (    (    R(   t   generate_tarball_headerß
-  sJ    
-
-
-
-
-	
-		 c         C   s  | i | }
- | i i |
- | i h  ƒ } | i i |
- | i | h  ƒ | i	 d „  ƒ | i o | i d d } n | i d } | o | t | ƒ d } n d } | i d j } xf | D]^ } | o4 | i t i j p | i d  j p
- | i o q» n | i | j o
- | i } q» q» W| i | ƒ x;| D]3} | i t i j p! | o! | i d  j p
- | i o q1n x! | D] } t |  | d | ƒqyW| 2| o+ t i | i ƒ }	 |	 t i! d @d B}
- n d	 }
- | i i# |
- | i$ g | i ƒ d } | i& ƒ  } | i( ƒ  t |  | | i$ t) | ƒ |
- | i ƒ |  i* | ƒ |  i* d
- d t) | ƒ d d ƒ q1Wxž | D]– } | i+ p | i t i, j o qon |
- pH | i- i. | i$ ƒ p' | o' | i- i/ i0 o | i$ d
- j o qoqèn t1 |  | | | i$ g | ƒ qoW| d 3d  S(   Nc         C   s   t  |  i | i ƒ S(   N(   R  R  RL   R  (   R  R  (    (    R(   R    s    iÿÿÿÿR>   i    R1   Rñ   im  i€   i¤  Rí  iÿ  i   R2   (2   RÝ   RH   t   reldirt   rep_pathRA   R  R-   Ræ  R
-  R  t   tar_dirRB   RT   t   latest_dateRC   R1   RÇ   RÛ  Rg   R   R4   R?   RÄ  RÌ   t   stackR  RÆ   R  R  Rb   R{  Rc   R|  t   ST_MODERî  RÇ  RL   Ry  Rl  t   contentsR}  R†   Rv  R  Rƒ   R   R‡   RZ   R  t   generate_tarball(   R  RÝ   R  R  Ry  R  RÇ   R
-  Ræ  R|  R  R  R1   Rî  RÆ   (    (    R(   R    s\    
-
-
- 4
- 4 &
-
-' =!c         C   s‡   |  i i i p t i d d ƒ ‚ n |  i i d ƒ t i	 i
- ƒ  t i d	 g ƒ } t | |  g  g  ƒ | i d d ƒ | i ƒ  d  S(
-   Ns   Tarball generation is disableds
-   403 Forbiddens   application/octet-streamR   s   -cs   -nRí  i   (   s   gzips   -cs   -n(   RÝ   R   RZ   R  Rn   Ro   R   Rû   Rs  Rt  Rƒ  R„  R…  Ry  R  Rv  R}  (   RÝ   Ry  (    (    R(   R\   ]  s    	
-
-c         C   s   |  i d j o t d d ƒ ‚ n t |  ƒ } |  i } |  i i | i d ƒ ƒ } t
- i i |  i | ƒ \ } } }
- } t | |  i ƒ } t |  d  t | ƒ d d ƒo d  Sn |  i i i } t | i d | ƒ ƒ } d  } d  } d  }
- d  } | o_ t | ƒ | j oL t | ƒ | } | i  ƒ  } d | d <|  i" d	 | d
- d ƒ } | |  } nS | oK t | ƒ | j o8 | }
- | i  ƒ  } d  | d <|  i" d	 | d
- d ƒ } n x| D]•} d  | _$ | _% | _& | _' | i( t
- i) j o d p | i( t
- i* j o d p d  } | i+ d
- j p | i+ d j o! | i, o d | _- d | _. n d  } | i( t
- i) j o t0 } | i- om h  d t | ƒ <d t | ƒ <d t | i1 ƒ <} |  i" d t2 d | i3 d | i( d	 | d
- d ƒ | _% qn | i( t
- i* j o
- t4 } n | i( o· | i+ d j o t | i1 ƒ }	 | i6 } n t | ƒ }	 | i3 } |  i" d | d | d | i( d	 h  d |	 <d
- d ƒ | _$ |  i" d t8 d | d | i( d	 h  d |	 <d
- d ƒ | _' n t9 i: | i- ƒ | _- t9 i: | i. ƒ | _. t9 i: | i, ƒ | _, | | _( | i3 | _; | i6 | _< | i1 | _= | `3 | `6 | `1 q®Wd  } } | d j oA |  i" d t@ d d  d d  d	 h  d t | d ƒ <d
- d ƒ } n | |  i iA j  oA |  i" d t@ d d  d d  d	 h  d t | d ƒ <d
- d ƒ } n | iB h  d t | ƒ <d | <d | <d |
- o
- tC |
- ƒ p d  <d d  <d | <d | <d | <d | <d | <d | <d  |
- <d! | <ƒ | d  j	 o tD |  | d ƒ | d <n |  iE d	 h  d d  <ƒ \ | d" <| d# <|  iF iG ƒ  tH |  d | ƒ d  S($   NR1   s>   Revision view not supported for CVS repositories at this time.s   400 Bad RequestR5   Rð   i   R   i    RJ   R¥   RÇ   RÆ   t   addedt   replacedR-   R8   R9   R@   RF   RE   t   deletedR4   R»  RÌ   R=   Rº  RØ  t	   prev_hreft	   next_hreft   more_changest   more_changes_hreft
-   first_changest   first_changes_hreft   jump_rev_actiont   jump_rev_hidden_values(I   RÝ   RC   Ro   Rf  R
-  RG   RA   RÜ   RP   R4   Rg   R3   t   get_revision_infoRÌ   R»  t   msgRØ  R·  R   Rƒ  Rü   R?   R|   RZ   R   t   cfg_limit_changesRÔ  R  R  R  R  R†   R«   RJ   R“   R§  R)  t	   diff_hrefR[  RU  RE   R   Rƒ   R¦   t   is_copyt	   text_modst	   prop_modsR@   R   RÁ  R‚   R   R‰   t   link_revt	   base_patht
-   link_whereR‘   R  R-  Rc   RQ  R[  t
-   prev_rev_hreft
-   next_rev_hrefR}   R1  Rh  R3  RQ  R©   R   Rû   R  (   RÝ   RG   R  R»  R4   R"  R  RJ   R  R  R  R§  RÌ   R  R   R
-  R@   R  R!  RØ  R   RE   Rƒ  (    (    R(   R}   m  s¶    
-	$
-
- :+	
-
-6		
-
-
-				
-
-
-œ
-)
-c         C   s6   |  i i i o& |  i t i j o |  i d d g j S(   s9   Returns true if querying is supported for the given path.R1   R3   N(   RÝ   R   t   cvsdbt   enabledRE   Rg   Rƒ   RC   (   RÝ   (    (    R(   Rd  ð  s     c         C   s  t  |  ƒ p& t i d |  i |  i f d ƒ ‚ n t |  ƒ } |  i d t	 d h  d d  <ƒ \ | d <| d <|  i i d d	 ƒ | d <|  i i d
- d ƒ | d
- <|  i i d d	 ƒ | d <|  i i d
- d	 ƒ | d
- <|  i i d d ƒ | d <|  i i d d	 ƒ | d <|  i i d d ƒ | d <|  i i d d ƒ | d <|  i i d d ƒ | d <|  i i d d ƒ | d <|  i i d d	 ƒ | d <|  i i d d	 ƒ | d <t
- |  i i d |  i i i ƒ ƒ | d <|  i d t d h  d d ƒ | d <|  i i ƒ  t |  d | ƒ d  S(   Ns(   Can not query project root "%s" at "%s".s
-   403 ForbiddenR@   RJ   R   t   query_actiont   query_hidden_valuesRÄ   R   RÅ   t   exactRÆ   RÇ   RÈ   RÉ   RÊ   RË   RÌ   RÍ   t   2RÎ   RÏ   R¥   i   t   dir_hreft
-   query_form(   Rd  RÝ   Rn   Ro   RB   RF   Rf  R
-  R©   Re  R?   RG   RP   RÔ  R   RZ   R   R“   R‰   R   Rû   R  (   RÝ   R
-  (    (    R(   R  ö  s.    
-
-/
-c   	   	   C   s(  t  i d |  ƒ } | ot | i d ƒ ƒ } t | i d ƒ ƒ } t | i d ƒ ƒ } | i d ƒ } | d	 j	 o t | ƒ } n d } | i d ƒ } | d	 j	 o t | ƒ } n d } | i d ƒ } | d	 j	 o t | ƒ } n d } | | | | | | d d d f	 } t
- i | ƒ Sn d	 Sd	 S(
-   s(   Parse a date string from the query form.s;   ^(\d\d\d\d)-(\d\d)-(\d\d)(?:\ +(\d\d):(\d\d)(?::(\d\d))?)?$i   i   i   i   i    i   i   N(   Rr   Rs   R5  RÔ  R£  R=  R<  R:  R9  R?   R8  R7  t   tmRž   R…  (	   R5  R9  R7  R<  R+  R8  R=  R:  Rs   (    (    R(   t
-   parse_date  s*     
-
-
-!c         C   sû  d g } |  i i d d ƒ }	 |	 oS | i d ƒ d |	 j o | i d ƒ n | i d ƒ | i d t |	 ƒ ƒ n |  i i d	 d ƒ } | o? t | ƒ d
- j o | i d ƒ n | i d t | ƒ ƒ n |  i i d
- d ƒ } |  i i d d ƒ } | o | i d t | ƒ ƒ n | i d ƒ | o | i d t | ƒ ƒ n |  i i d d ƒ } | d j o* | i d t |  i i d d ƒ ƒ ƒ nR| d j o | i d ƒ n4| d j o | i d ƒ n| d j o | i d ƒ nø | d j o | i d ƒ nÚ | d j oÌ |  i i d d ƒ }
- |  i i d  d ƒ } |
- o | o d' \ } } n
- d( \ } } |
- o3 t t |
- ƒ |  i ƒ }
- | i d% | |
- f ƒ n | o3 t t | ƒ |  i ƒ } | i d% | | f ƒ qën t i | d ƒ S()   s)   Generate a sentance describing the query.s	   Checkins RÆ   R   s   to t   ,t   subdirectoriest   subdirectorys
-    <em>%s</em> RÇ   i   s   and s   to file <em>%s</em> RÉ   RÄ   s   on branch <em>%s</em> s   on all branches s   by <em>%s</em> RÌ   RÍ   s   in the last %s hoursR(  R:  s   in the last dayR;  s   in the last weekR<  s   in the last montht   alls   since the beginning of timet   explicitRÎ   RÏ   t   betweent   andt   sincet   befores   %s <em>%s</em> N(   R2  R3  (   R4  R5  (   t   retRÝ   RG   RP   RÆ   R  R3  RÇ   R†   RÉ   RÄ   RÌ   RÎ   RÏ   t   w1t   w2R·  R,  R   R   RÖ   (   RÝ   R7  RÄ   RÏ   R8  RÉ   R6  RÌ   RÇ   RÆ   RÎ   (    (    R(   t
-   english_query3  sZ     	
-
-
- 
-
-*
-
-
-
-
-c         C   sr   t  i |  d ƒ } t t | d ƒ d ƒ | d <t | ƒ d j o | d d j o | d  } n t  i | d ƒ S(   sD   Returns a string representing the previous revision of the argument.Rš  iÿÿÿÿi   i   Rë  iþÿÿÿN(   R   R¶   R4   RZ  R|   RÔ  R†   RÖ   (   R4   RZ  (    (    R(   t   prev_revd  s     $c      "   C   s–  t  d t | ƒ d g  ƒ } t i | ƒ | _ | d i ƒ  }
- t	 |
- ƒ | _
- t |
- |  i
- ƒ | _ t	 | d i ƒ  ƒ | _ t | d i ƒ  |  i
- ƒ | _ |  i d j oZ | d i ƒ  | _ d |  i i d ƒ |  i d t d h  d	 | i <d
- d ƒ f | _ n d  | _ d  | _ t | ƒ } xn| D]f} | i ƒ  } | o t! | |  i
- ƒ } n d } | i" ƒ  } | i$ ƒ  }	 | o[ | |  | j p t& ‚ t | ƒ | j p | t | ƒ d
- j p t& ‚ | | d } n | o d | |	 f p |	 }	 h  d	 | i ƒ  <} | i( ƒ  o | i( ƒ  | d <n |  i d t) d | d t* i+ d | d
- d ƒ } |  i d t- d |	 d t* i. d | d
- d ƒ } |  i d t0 d |	 d t* i. d h  d	 | i ƒ  <d
- d ƒ } |  i d t2 d |	 d t* i. d h  d	 | i ƒ  <d
- d ƒ } |  i d t4 d |	 d t* i. d h  d t5 | i ƒ  ƒ <d | i ƒ  <d d  <d
- d ƒ } t7 d  t8 i9 | d
- ƒ ƒ }
- |
- o? |
- d d j o |  i
- i; i< p |  i
- i= |
- d ƒ o q(n | i i> t  d | d t	 | ƒ d t	 | i$ ƒ  ƒ d t	 | i ƒ  ƒ d | i ƒ  d | i( ƒ  d t? | i@ ƒ  ƒ d t? | iA ƒ  ƒ d | iB ƒ  d | d  | d! | d" | d# t i tC tD |	 ƒ |  i
- ƒ t0 j ƒ d$ | ƒ ƒ q(W| S(%   Nt	   num_filesRs  i    R3   s   http://%s%st	   HTTP_HOSTR@   RJ   R5   R¥   i   s   &nbsp;R>   s   %s/%sR-   RF   RE   R8   R9   R   R2   RÌ   RÆ   RÇ   R»  R4   RÄ   t   plust   minusR[  R)  RU  R)  R*  R,  R  (E   R  R†   Rs  t   commitR  R-  t
-   limited_filest   GetDescriptiont   descR3  R=   R6  RÝ   R   t	   short_logt	   GetAuthorR»  R¹  t   GetTimet   rss_dateRC   t   GetRevisionR4   R   R   R“   R}   t   rss_urlR?   t	   dir_stript	   len_stript   ft   commit_timeR·  t   GetDirectoryRã   t   GetFileR   R¬   RJ   t	   GetBranchR‰   Rg   Rƒ   R)  R‘   R   RU  R   R)  RY   R*  R‚   R:  R  Rµ   R   R¶   t	   dir_partsRZ   R  R‡   R  RÔ  t   GetPlusCountt
-   GetMinusCountt
-   GetTypeStringR%  R•   (   RÝ   Rs  R@  RI  RJ  Rã   R)  RU  R)  R   RP  RJ   RL  RB  R  RK  R*  R?  (    (    R(   t   build_commitn  sŒ    		 1
- 3?'c         C   sÝ   |  i i d ƒ | o d GHd GHd GHd GHHn d GHd GHd  Sx˜ | D] } x‡ | i D]| } |  i d j o+ d	 | i t	 | i ƒ | i
- | i f GHqU |  i d
- j o+ d | i t	 | i ƒ | i
- | i f GHqU qU WqE Wd  S(   Ns
-   text/plains8   # This page can be saved as a shell script and executed.s@   # It should be run at the top of your work area.  It will updates;   # your working copy to back out the changes selected by thes   # query.s(   # No changes were selected by the query.s   # There is nothing to back out.R1   s   cvs update -j %s -j %s %s/%sR3   s   svn merge -r %s:%s %s/%s(   RÝ   R   Rû   t   commitsR?  Rs  t   fileinfoRC   R4   R:  RÆ   RÇ   (   RÝ   RU  RV  R?  (    (    R(   t
-   query_backoutÆ  s$     
- +c   ,      C   sb	  t  |  ƒ p& t i d |  i |  i f d ƒ ‚ n |  i i d d ƒ } |  i i d d ƒ } |  i i d d ƒ }( |  i i d d ƒ } |  i i d	 d ƒ }+ |  i i d
- d ƒ } |  i i d d ƒ }
- |  i i d d
- ƒ } |  i i d
- d ƒ } |  i i d d ƒ } |  i i d d ƒ } |  i i d d ƒ } |  i i d ƒ } t |  i i d d ƒ ƒ }' t |  i i d |  i i i ƒ ƒ } h  d d <d d <d d <d d <d d <} h  d
- d <d d <d d <}$ h  d d <d d <d d <d d <d d <d  d <} | i | ƒ p
- d } n | i |+ ƒ p
- d }+ n | i |
- ƒ p
- d }
- n |$ i | ƒ p
- d
- } n | i | ƒ p
- d } n t | ƒ } t | ƒ } d  k a t i  |  i ƒ } t i" | |  i# ƒ \ } } | p t i d! |  i ƒ ‚ n t i& ƒ  } | i( | ƒ | d j o | d" j o | i) d ƒ n | o | i) | | ƒ n |( oq x¹ t* i+ |( d# ƒ D]V } t- | |  i. t* i/ | ƒ g ƒ } | i1 | d ƒ | i1 d$ t i2 | ƒ d ƒ qzWnL t- | |  i. ƒ }* |* o1 | i1 |* d ƒ | i1 d$ t i2 |* ƒ d ƒ n | o | i3 | |+ ƒ n | o | i4 | |
- ƒ n | i5 | ƒ | d j o | i6 t | ƒ ƒ n¹ | d j o | i7 d ƒ n› | d j o | i7 d% ƒ n} | d j o | i7 d& ƒ n_ | d j o nN | d  j o@ | d  j	 o | i9 | ƒ n | d  j	 o | i: | ƒ qBn |' o | i; |' ƒ n( | d' j o | i; |  i i i< ƒ n | i= | ƒ t> | i? | ƒ ƒ } g  } d } d } d( }# | iE oÒg  } d }  | iE d iH ƒ  }% | iE d iJ ƒ  }& t- | ƒ } x`| iE D]U}) |) iN ƒ  |# j o |) iN ƒ  }# n | t |) iO ƒ  ƒ } | t |) iP ƒ  ƒ } |) iH ƒ  }" |  iR d) j oJ |% |" j o9 | p tS | ƒ | j  o | iT |) ƒ q
-d }  q
-qnM |& |) iJ ƒ  j o9 | p tS | ƒ | j  o | iT |) ƒ q
-d }  q
-n tS | ƒ o  | iT tU |  | |  | ƒ ƒ n |) g } d }  |" }% |) iJ ƒ  }& q
-WtS | ƒ o  | iT tU |  | |  | ƒ ƒ q—n tV iW |  iR d) j o | d j p
- | d j ƒ }
- |  iY d* tZ d+ d ƒ } |  i i\ ƒ  } d, | d <|  iY d- | d+ d ƒ }! |  i i\ ƒ  } d | d <|  iY d- | d+ d ƒ } |# d j o t` |  |# ƒ o d  Sqln | d, j o ta |  | ƒ d  Sn tb |  ƒ }	 |	 id h  d. | <d/ te |  ƒ <d0 | <d1 |! <d2 | <d3 | <d4 |
- <d | <d5 | <d | <d6 | <ƒ | d' j o$ |  if ig d7 ƒ th |  d' |	 ƒ n |  if ig ƒ  th |  d8 |	 ƒ d  S(9   Ns(   Can not query project root "%s" at "%s".s
-   403 ForbiddenRÄ   R   RÅ   R'  RÆ   RÇ   RÈ   RÉ   RÊ   RË   RÌ   RÍ   R(  RÎ   RÏ   RÐ   RÑ   i    R   i   t   liket   globt   regext   notregexR»  R:  R;  R<  R0  R1  s3   The root '%s' was not found in the commit database t   HEADR-  s   %s/%%i   i   R]  iÿÿÿÿR1   R@   R¥   t   backoutRJ   t   sqlR9  Ró  t   backout_hreft
-   plus_countt   minus_countt   show_branchRU  t   limit_changes_hrefs   text/xmlt
-   query_results(i   Rd  RÝ   Rn   Ro   RB   RF   RG   RP   RÄ   RÅ   RÆ   RÇ   RÈ   RÉ   RÊ   RË   RÌ   RÍ   RÎ   RÏ   RÐ   RÔ  RÑ   R   RZ   R   t   match_typest
-   sort_typest
-   date_typesRa   R,  R#  t   ConnectDatabaseReadOnlyt   dbt   FindRepositoryRD   t
-   repos_roott	   repos_dirt   CreateCheckinQueryt   queryt
-   SetRepositoryt	   SetBranchR   R¶   t   subdirRT   RH   t   stripRc   t   SetDirectoryt
-   EscapeLiket   SetFilet	   SetAuthort
-   SetSortMethodt   SetFromDateHoursAgot   SetFromDateDaysAgoR?   t   SetFromDateObjectt   SetToDateObjectt   SetLimitt
-   rss_row_limitt   RunQueryR3  t   CreateSQLQueryStringR^  RU  R`  Ra  t   mod_timet   commit_listRs  R@  t   GetDescriptionIDt   current_descRG  t   current_revRI  R?  RE  RQ  RR  RB  RC   R†   R  RT  R  R-  Rb  R“   R  Ró  R«   RJ   R_  Rc  Rü   RW  Rf  R
-  Rh  R9  R   Rû   R  (,   RÝ   RÅ   Rl  Ra  RË   RI  RÇ   Rn  Rc  R
-  Rb  Ró  RÏ   RÊ   R`  Rg  RJ   Rq  RÄ   RU  RÎ   Rs  RÐ   Rk  RÉ   Ri  RÍ   Re  R^  RÌ   Rc   R   R@  R_  RB  R€  Rf  Rƒ  R„  RÑ   RÆ   R?  RF   RÈ   (    (    R(   Re  Ý  s   
-
-3!< 
- 
- 
- 
- 
- 	
- #%!
-
-
-
-
-
-
-
-
-
-
-
-
-  
-
- 	
-$2
-
-
-
-
-v
-
-t   coRÛ  t   graphimgR=   RÆ  t   patchRn  t	   queryformR\  t   tarR~   c         C   sx   h  } x4 |  i i i ƒ  D]  } |  i i | d g | | <q Wx4 |  i i i ƒ  D]  } |  i i | d g | | <qP W| S(   NR1   R3   (   R`  R   R$   R`   RM  R+   Rq   (   R   R`  R+   (    (    R(   R_  ¸
-  s      c   	      C   s§  t  i d ƒ |  d  j o6 t i i d ƒ p t i i d ƒ p
- t d ƒ }  n t i	 ƒ  } | i ƒ  | i |  | o
- | i d ƒ ƒ | i i o t i | i i g ƒ n xæ| i i D]Ø} t i | d ƒ } | d j  o t  i d | ƒ ‚ n t i | | d	 ƒ } t i i t i | |  ƒ ƒ } y t i | ƒ } Wn& t j
- o t  i d
- | ƒ ‚ n Xt i i  t i i! | d d ƒ ƒ } x| D]û } t i i  t i i! | | ƒ ƒ oÓ | d
- j om t i i  t i i! | | d d ƒ ƒ p" | o> | d j p | i$ i% o# t i i! | | ƒ | i i& | <qŽ| d j oH t i i  t i i! | | d ƒ ƒ o# t i i! | | ƒ | i i' | <qŽq“q“Wqº Wt  i( d ƒ | S(   Ns   load-configt   VIEWVC_CONF_PATHNAMEt   VIEWCVS_CONF_PATHNAMEs   viewvc.confR<  Rà  i    sC   The path '%s' in 'root_parents' does not include a repository type.i   sD   The path '%s' in 'root_parents' does not refer to a valid directory.R2   t   configR1   R3   RÐ   ()   Rn   R  t   pathnameR?   Rb   Rp   RP   Ræ   RŒ  t   ConfigR   t   set_defaultst   load_configR   R   R$   t   mime_types_fileR  t   initt   root_parentsR­  R   t   rfindt   posRo   Rr  t	   repo_typeRc   Rd   R  t   subpathsR}  t   existsRÖ   R*   t   subpathRZ   R  R`   Rq   R–   (	   R  R   R•  R   R­  R™  R–  R—  R*   (    (    R(   R  À
-  s:    
-
-6
- 
-
-
- 
-$ "W#2/
-c         C   sÝ   t  i ƒ  } | d } | d o t | d ƒ | d <n | d o t | d ƒ | d <n d } yR | oG |  i o< |  i	 d | ƒ t
- | d ƒ } | i t
- i | ƒ d } n Wn n X| p t  i |  | ƒ n d  S(   NRê   R  t
-   stacktracei    R	   i   (   Rn   t   GetExceptionDatat   exc_dictRê   R3  t   handledR   R   t
-   headerSentRû   R  R  R	  Rs  Rt  t   PrintException(   R   R   Rê   R  Rœ  R  (    (    R(   t
-   view_errorþ
-  s"    
-c         C   s‰   z] t  i d ƒ y t |  | ƒ } | i ƒ  Wn, t j
- o
- } d  Sn t	 |  | ƒ n XWd  t  i
- d ƒ t  i ƒ  t  i |  ƒ Xd  S(   NR_  (
-   Rn   R  R
-   R   R   RÝ   R—   t
-   SystemExitt   eR   R–   R—  t   DumpChildren(   R   R   R¢  RÝ   (    (    R(   R_    s    
- 
-
-R  c           B   s   t  Z d „  Z RS(   Nc         K   s   t  |  ƒ i | ƒ d  S(   N(   Rþ   R   Rh  t   kw(   R   R¤  (    (    R(   R)   )  s    (   R³   R´   R)   (    (    (    R(   R  (  s   (Ž   R^  Rn   R  Rs  Rb   t   sapiR/  R   R¡   R  Rø   Rr   Rò   R{  Rñ  t   typest   tempfileRž   RŒ  R„  R  R    Rg   Râ  t   SyntaxErrorRª  R?   R–   RV   RW   RS   RŽ   R   R]   R±   Rm  R¼  R½  R£   R
-   RR   R   RN   R¼   Rp  t   _re_validate_alphat   _re_validate_numbert   _re_validate_revnumt   _re_validate_mimetypet   _re_validate_datetimeR¹   RT   R€   R   Rá   Ræ   Rü   R  R  R  R  R•   R!  R"  R#  R%  R.  Rt   R2  R3  R6  RA  RI  RJ  RQ  Rf  Ri  Rq  Rw  Rx  R€  RŠ  R–  R™  R¯  R±  RÐ  R·  R¹  R   R×  R§   Rß  Rb  Rˆ   R‰   R  R  R~   R6  R7  R‘   RY   RŠ   RŒ   R‹   R	  RU   R†  R¹  R¢  RŒ  R  t	   ExceptionR”  R¾  R  RÄ  RÈ  R‚   R  R  R\   R}   Rd  R  R,  R9  R:  RT  RW  Re  RO   R¯   RK   t   codeR.   R_  R  R   R_  R  (…   R×  R¯   R¯  Rß  RS   RÄ  R£   R€   Rñ  R§  R_  RŒ  R_  R‰   R   Ræ   RN   R  R½  R¹  Rf  R  RR   R#  Rd  R  RŽ   R,  R•   R±  R}   R.   R·  RU   Rò   R   R  R¹   R  R  R\   Rw  Rž   RÐ  RQ  R¥  R]   R¹  R¡   Rr   R3  R¼  R  R/  R   Rq  RW   Rn   RO   R€  R±   R„  RŠ  R¯  R‘   Rb   R¢  RT   RV   RA  Rá   R   RÈ  RJ  Rª  R   R  R7  R¦  Rm  RŒ   R	  R©  R!  R"  R  R   Rb  R¾  R‹   R  Rx  R  Rt   R™  R  Rü   R‚   R  R”  R    RŠ   R9  R«  R~   R¬  R.  Re  R:  Rˆ   R6  R^  RŒ  R{  R%  R
-   Râ  Rs  RY   R2  R6  RW  R  R­  R–  RT  Ri  R§   RI  R¼   Rø   R†  R  (    (    R(   R˜      s  	
-
-																				
-
-ÿ Ø					ÿ œ5			*	1		+						0		E
-			P	 %				
-	Q				/			ò		 	#			ÿ 				1	5	+			<		5	!	x63	K		ƒ		!		1	
-	X		ō
- 	>		
\ No newline at end of file




More information about the Fusionforge-commits mailing list