
    6              
          d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlZddlZddlZddl	Z	ddl
ZddlmZ  e       \  ZZesej                   j#                  e       ej$                  dd      ZerB	 ddlZ ej(                  ed	d	d
gdd e	j*                         dz   g      Zej/                          ej2                  j5                  ej2                  j7                  e            Zej2                  j7                  ej<                  d         Zej2                  j5                  e      Z d	Z!dZ"eZ#ej2                  jI                  ej2                  jK                  e#d            s$ej2                  jM                  e ef      e k(  rdZ!e Z#ej2                  jI                  ej2                  jK                  e#d            s7ej2                  jO                  ej2                  jK                  ed            Z#d	Z"dZ(d Z) e)        d Z* e*d      \  Z+Z,e,sej                   j#                  d      e,Z- e*d      \  Z.Z/e/sej                   j#                  d      d Z0y# e$ r Y w xY w)zPackage marker file.    )absolute_import)division)print_function)unicode_literalsN)check_python_version_supportGSUTIL_COVERAGE_OUTPUT_FILETgslibzgslib/third_party/*zgslib/tests/**)	data_filedata_suffix	auto_datasourceomitFVERSIONz.. c            	      f   t         j                  j                  t        d      } ddg}|D ]D  \  }}t        j                  j                  dt         j                  j                  | ||             F t        j                  j                  t         j                  j                  | dddd             y	)
zFFix our Python path so that it correctly finds our vendored libraries.vendored)botor   )oauth2clientr   r   r   testsintegrations3N)ospathjoin	GSLIB_DIRsysinsertappend)vendored_pathvendored_lib_dirslibdirsubdirs       !platform/gsutil/gslib/__init__.py_AddVendoredDepsToPythonPathr%   `   s    '',,y*5-  *nffHHOOArww||M66BC * ((//ggll=&'=$GI    c                    t         j                  j                  t        |       }t         j                  j	                  |      r&t        |d      5 }|j                         }ddd       nt        j                  d|       }d}Nt        j                  j                  dkD  r!t        |t              r|j                  d      }|j                         }||fS # 1 sw Y   ]xY w)a  Tries to find the given filename on disk or via pkgutil.get_data.

  Args:
    filename: String name of the file.

  Returns:
    A tuple containing the absolute path to the requested file and the file's
    contents as a string (or None if the file doesn't exist).
  rNr	      zutf-8)r   r   r   PROGRAM_FILES_DIRisfileopenreadpkgutilget_datar   version_infomajor
isinstancebytesdecodestrip)filenamefpathfcontents       r$   _GetFileContentsr:   |   s     '',,((
3%WW^^E	eS	Qg 
	 w1GE
!j%&@w'gmmoG
	 
	s   CCz<VERSION file not found. Please reinstall gsutil from scratchCHECKSUMz=CHECKSUM file not found. Please reinstall gsutil from scratchc                  h    t         syt        t        j                  j	                  t                     S )zBReturns unix timestamp of when the VERSION file was last modified.r   )VERSION_FILEintr   r   getmtime r&   r$   GetGsutilVersionModifiedTimerA      s"    		RWWl+	,,r&   )1__doc__
__future__r   r   r   r   r   r.   r   tempfilegslib.exceptionr	   gslib.utils.version_checkr   	supportederr	exceptionCommandExceptiongetenvcoverage_outfilecoverage
gettempdircoverage_controllerstartImportErrorr   dirnamerealpath__file__r   argvGSUTIL_PATH
GSUTIL_DIRIS_PACKAGE_INSTALLIS_EDITABLE_INSTALLr*   r+   r   commonprefixnormpath
USER_AGENTr%   r:   r=   r   __version__CHECKSUM_FILEr;   rA   r@   r&   r$   <module>r_      sP  ,  &  % ' 	  
   B-/	3((--299:DA 	+(++6F8<6:4;90E0?0C0C0C0E0K2.	/ 
 GGOOBGG,,X67	ggsxx{+WW__[)

    
   	rww||$5yABGG*i01Z?  
ww~~bggll#4i@Agg&&rww||It'DE 
I2  2 )3 g((D	F F +:6 x((E	G G-W 
 		s   2AI I#"I#