Ñò ÒG×Jc @ sh d d k Z d d k l Z d d k l Z l Z l Z d e f d „ ƒ YZ d e f d „ ƒ YZ d S( iÿÿÿÿN( t UtilBase( t Popent PIPEt callt CoreExceptionc B s e Z RS( ( t __name__t __module__( ( ( s, /usr/lib/python2.6/site-packages/cas/core.pyR s t CoreBasec B s8 e Z d „ Z d „ Z d „ Z d „ Z d d „ Z RS( c C s t ƒ | _ d S( N( R t util( t self( ( s, /usr/lib/python2.6/site-packages/cas/core.pyt __init__ s c sv h d d g d 6d d g d 6d d g d 6d d g d 6d d g d 6d d g d 6} ‡ f d † } | d d ƒ p | d d ƒ o | d S| d d ƒ o | d S| d d ƒ o | d S| d d ƒ o2 | i d ƒ p | i d ƒ o | d S| d S| d d ƒ p | d d ƒ oR | i d ƒ p0 | i d ƒ p | i d ƒ p | i d ƒ o | d S| d St S( sF Return a good default Operation, judging by the first 300 bytes or so.t tart xvft xvzft tgzt gunzips -qt gzt xvjft tbzt bunzip2t bz2t unzips -ft zipc s ˆ | | t | ƒ !| j S( N( t len( t offsett match( t data( s, /usr/lib/python2.6/site-packages/cas/core.pyt string! s i t ustar s ustar i s PKt PK00s ‹s .tar.gzs .tgzt BZht BZs .tar.bzs .tar.bz2s .tbzs .tbz2( t endswitht False( R R t fnamet suffix_mapR ( ( R s, /usr/lib/python2.6/site-packages/cas/core.pyt guess_format s. c C sS t i i t i ƒ | _ | | _ t | i d ƒ } t i | i ƒ d ƒ } | i | | i ƒ } | p t d ƒ ‚ nà | i | i ƒ t | d t d t ƒ} | i i ƒ } | i i ƒ } | o t d | f ƒ ‚ n x[ | i i | i ƒ D]D \ } } } x2 | D]* } | i | ƒ o t i i | | ƒ SqWqñ Wt d | i f ƒ ‚ d S( s6 utility to extract archive and pull out core t rbiè s% Can not determine compression format.t stdoutt stderrs Unable to extract file: %ss. Can not determine a corefile from tarball : %sN( t ost patht realpatht curdirt dstt filepatht opent readt filenoR$ R t appendR R R' R&