
    Xf                        d dl Z d dlZd dlmZmZmZ 	 d dlZdZ	 d dl
Z
dZd dlmZ  e j                  e      Zer G d dej"                        Zer G d d	ej"                        Zyy# e	$ r dZY Xw xY w# e	$ r dZY ^w xY w)
    N)OptionalAnyListTF)	resourcesc                   p    e Zd Zedee   fd       Zedej                  j                  dee   fd       Zy)S3FileSystemHandlerreturnc                     dgS )Ns3 clss    [/home/panchajanya/Development/work/volatility3/volatility3/framework/layers/cloudstorage.pynon_cached_schemesz&S3FileSystemHandler.non_cached_schemes   	    6M    reqc                     | j                   dk(  rPdj                  | j                  j                  d      dd       }t	        j
                         j                  |      S y)z*Handles the request if it's the s3 scheme.r   ://   N)typejoinfull_urlsplits3fsS3FileSystemopenr   
object_uris     r   default_openz S3FileSystemHandler.default_open"   sQ     xx4"ZZ(:(:5(A!"(EF
((*//
;;r   N__name__
__module____qualname__classmethodr   strr   staticmethodurllibrequestRequestr   r   r    r   r   r   r   r      O    		tCy 	 
	 
	fnn44 	# 	 
	r   r   c                   p    e Zd Zedee   fd       Zedej                  j                  dee   fd       Zy)GSFileSystemHandlerr	   c                     dgS )Ngsr   r   s    r   r   z&GSFileSystemHandler.non_cached_schemes.   r   r   r   c                     | j                   dk(  rPdj                  | j                  j                  d      dd       }t	        j
                         j                  |      S y)z*Handles the request if it's the gs scheme.r/   r   r   N)r   r   r   r   gcsfsGCSFileSystemr   r   s     r   r    z GSFileSystemHandler.default_open2   sQ     xx4"ZZ(:(:5(A!"(EF
**,11*==r   Nr!   r   r   r   r-   r-   -   r+   r   r-   )loggingurllib.parser(   typingr   r   r   r   HAS_S3FSImportErrorr1   	HAS_GCSFSvolatility3.framework.layersr   	getLogger__file__vollogVolatilityHandlerr   r-   r   r   r   <module>r>      s   
   & &HI 3			8	$i99  i99  =  H  Is"   A) A6 )A32A36B ?B 