[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 0g
\ 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
- " and >)
-
- [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 qt$ | d t% i d
- d | } | | | |
- f f g | | )| d j o | i qq
| 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 | | |
- qt | 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 } xt 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 ot 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 <qWd¼ 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 | _ qd | _ 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%.~:_/]+)((\?|\&)([-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@\2">\1@\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 houriQ t dayi: t weeki ( t monthi3á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 <qnN | i t i j o: | i d$ j o& | i d t' d h d d | d <qn 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¦| od } 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 } qt 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 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 | | | | qn 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' | <qqqWqº 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