Ë ����†£éfÁ'��ã�������������������ó��—�d�dl�Z�d�dlZd�dlZd�dlZd�dlZd�dlZd�dlmZmZ�d�dl m Z mZmZm Z �d�dlmZ�d�dlmZ��ej$������������������d«������Z�G�d„�de «������Zd d d efd„Zd„�Zed k(��rd�dlZ�eej2������������������dd�«�������yy)é����N)ÚEIOÚENOENT)ÚFUSEÚFuseOSErrorÚLoggingMixInÚ Operations)Ú__version__)Ú url_to_fsúfsspec.fusec�������������������ób���—�e�Zd�Zdd„Zdd„Zd„�Zd„�Zd„�Zd„�Zd„�Z dd „Z d „�Zdd„Zd„�Z d „�Zd„�Zy)ÚFUSErc�����������������óš���—�||�_���������i�|�_��������|j������������������d«������dz���|�_��������d|�_��������t ��������j ������������������d|«�������||�_��������y�)Nú/r���zStarting FUSE at %s)ÚfsÚcacheÚrstripÚrootÚcounterÚloggerÚinfoÚ_ready_file)Úselfr���ÚpathÚ ready_files��� úT/var/lib/jenkins/workspace/mettalog/venv/lib/python3.12/site-packages/fsspec/fuse.pyÚ__init__zFUSEr.__init__���sC���€�؈ŒØˆŒ Ø—K‘K Ó$ sÑ*ˆŒ ؈ŒÜ‰Ð)¨4Ô0Ø%ˆÕó����Nc�����������������ó��—�t���������j������������������d|«�������|�j������������������r |dv�rdddœS�dj������������������|�j������������������|j������������������d«������g«������j ������������������d«������} �|�j������������������j������������������|«������}|j������������������dd «������|j������������������d d «������dœ}|j������������������dd «������}|d���dk7��r!t��������j������������������|z��|d<���d|d<���d|d<���n(t��������j������������������|z��|d<���|d���|d<���d|d<���d|d<���d|v�r|d���nt!��������j ������������������«�������|d<���d|v�r|d���nt!��������j ������������������«�������|d<���d|v�r|d���nt!��������j ������������������«�������|d<���|S�#�t��������$�r}t��������t��������«������|‚d�}~ww�xY�w)Nz getattr %s©z/.fuse_readyz.fuse_readyÚfileé���)ÚtypeÚst_sizeÚ�r���Úuidiè��Úgid)Úst_uidÚst_gidÚmodeiÿ��r"���Úst_moder���r#���Ú st_blksizeÚsizei��P�é���Úst_nlinkÚatimeÚst_atimeÚctimeÚst_ctimeÚmtimeÚst_mtime)r���Údebugr���Újoinr���Úlstripr���r���r���ÚFileNotFoundErrorr���r���ÚgetÚstatÚS_IFDIRÚS_IFREGÚtime)r���r���Úfhr���ÚexcÚdataÚperms��� r���Úgetattrz FUSEr.getattr���s|��€�܉\ 4Ô(Ø×Ò Ð(GÑ GØ"¨qÑ1Ð1àw‰w˜Ÿ ™ 4§;¡;¨sÓ#3Ð4Ó5×<Ñ<¸SÓAˆð /Ø—7‘7—<‘< Ó%ˆDð�Ÿ(™( 5¨$Ó/¸4¿8¹8ÀEÈ4Ó;PÑQˆØx‰x˜ Ó&ˆà‰<˜6Ò!Ü"Ÿl™l¨TÑ1ˆD‰O؈D‰OØ!"ˆDÒä"Ÿl™l¨TÑ1ˆD‰OØ" 6™lˆD‰OØ!*ˆDÑØ ˆDÑØ,3°t©O˜4 š=ÄÇÁȈZÑØ,3°t©O˜4 š=ÄÇÁȈZÑØ,3°t©O˜4 š=ÄÇÁȈZÑ؈øô%�!ò� /ÜœfÓ%¨3Ð.ûð /ús���Á(E-�Å- FÅ6FÆFc�����������������óL��—�t���������j������������������d|«�������dj������������������|�j������������������|j ������������������d«������g«������}|�j ������������������j ������������������|d«������}|D�cg�c]0��}t��������j������������������j������������������|j������������������d«������«������‘Œ2�}}ddg|z���S�c�c}w�)Nz readdir %sr$���r���Fú.z..)r���r5���r6���r���r7���r���ÚlsÚosr���Úbasenamer���)r���r���r>���ÚfilesÚfs��� r���Úreaddirz FUSEr.readdir6���sƒ���€�܉\ 4Ô(Øw‰w˜Ÿ ™ 4§;¡;¨sÓ#3Ð4Ó5ˆØ—‘— ‘ ˜4 Ó'ˆØ:?Ö@°Q”—‘×!Ñ! !§(¡(¨3£-Õ0Ð@ˆÐ@ØTˆ{˜UÑ"Ð"ùò�As���Á#5B!c�����������������ó’���—�dj������������������|�j������������������|j������������������d«������g«������}|�j������������������j ������������������|«�������y©Nr$���r���r���)r6���r���r7���r���Úmkdir©r���r���r)���s��� r���rM���zFUSEr.mkdir=���ó5���€�Øw‰w˜Ÿ ™ 4§;¡;¨sÓ#3Ð4Ó5ˆØ‰ ‰ dÔØr���c�����������������ó’���—�dj������������������|�j������������������|j������������������d«������g«������}|�j������������������j ������������������|«�������yrL���)r6���r���r7���r���Úrmdir)r���r���s��� r���rQ���zFUSEr.rmdirB���rO���r���c�����������������ó¼���—�t���������j������������������d|||f«�������|�j������������������r|dv�ry|�j������������������|���}|j ������������������|«�������|j������������������|«������}|S�)Nzread %sr���s���ready)r���r5���r���r���ÚseekÚread)r���r���r,���Úoffsetr>���rI���Úouts��� r���rT���z FUSEr.readG���sU���€�܉Y t¨VÐ 4Ô5Ø×Ò Ð(GÑ GààJ‰Jr‰NˆØ ‰ˆvŒØf‰fT‹lˆØˆ r���c�����������������óª���—�t���������j������������������d||f«�������|�j������������������|���}|j������������������|«�������|j ������������������|«�������t��������|«������S�)Nzwrite %s)r���r5���r���rS���ÚwriteÚlen)r���r���r@���rU���r>���rI���s��� r���rX���zFUSEr.writeR���sA���€�܉Z $¨ Ô0ØJ‰Jr‰NˆØ ‰ˆvŒØ ‰Œ Ü4‹yÐr���c�����������������ór��—�t���������j������������������d||f«�������dj������������������|�j������������������|j ������������������d«������g«������}|�j ������������������j ������������������|«�������|�j ������������������j������������������|d«������}||�j������������������|�j������������������<���|�xj������������������dz ��c_ ��������|�j������������������dz ��S�)Nz create %sr$���r���Úwbr-���) r���r5���r6���r���r7���r���ÚtouchÚopenr���r���)r���r���ÚflagsÚfiÚfnrI���s��� r���ÚcreatezFUSEr.createY���s‡���€�܉[ 4¨ -Ô0Ø W‰Wd—i‘i §¡¨SÓ!1Ð2Ó 3ˆØ‰ ‰ bÔØG‰GL‰L˜˜TÓ"ˆØ#$ˆ ‰ 4—<‘<Ñ ØŠ˜ÑØ|‰|˜aÑÐr���c�����������������óR��—�t���������j������������������d||f«�������dj������������������|�j������������������|j ������������������d«������g«������}|dz��dk(��rd}nd}|�j ������������������j ������������������||«������|�j������������������|�j������������������<���|�xj������������������dz ��c_��������|�j������������������dz ��S�) Nzopen %sr$���r���é���r���Úrbr[���r-���) r���r5���r6���r���r7���r���r]���r���r���)r���r���r^���r`���r)���s��� r���r]���z FUSEr.openb���s‰���€�܉Y u Ô.Ø W‰Wd—i‘i §¡¨SÓ!1Ð2Ó 3ˆØ1‰9˜Š>à‰Dð�ˆDØ#'§7¡7§<¡<°°DÓ#9ˆ ‰ 4—<‘<Ñ ØŠ˜ÑØ|‰|˜aÑÐr���c�����������������ó¨���—�dj������������������|�j������������������|j������������������d«������g«������}|dk7��rt��������‚|�j������������������j������������������|«�������y�rL���)r6���r���r7���ÚNotImplementedErrorr���r\���)r���r���Úlengthr>���r`���s��� r���ÚtruncatezFUSEr.truncateo���s?���€�Ø W‰Wd—i‘i §¡¨SÓ!1Ð2Ó 3ˆØQŠ;Ü%Ð%à‰ ‰ bÕr���c�����������������óä���—�dj������������������|�j������������������|j������������������d«������g«������} �|�j������������������j ������������������|d«�������y�#�t ��������t��������f$�r}t��������t��������«������|‚d�}~ww�xY�w)Nr$���r���F) r6���r���r7���r���ÚrmÚOSErrorr8���r���r���)r���r���r`���r?���s��� r���ÚunlinkzFUSEr.unlinkv���s\���€�Ø W‰Wd—i‘i §¡¨SÓ!1Ð2Ó 3ˆð ,ØG‰GJ‰Jr˜5Õ!øÜÔ*Ð+ò� ,ÜœcÓ"¨Ð+ûð ,ús���®A�ÁA/ÁA*Á*A/c�����������������óØ���—� �||�j�������������������v�r:|�j�������������������|���}|j������������������«��������|�j�������������������j������������������|«�������y#�t��������$�r}t ��������|«�������Y�d�}~yd�}~ww�xY�w)Nr���)r���ÚcloseÚpopÚ ExceptionÚprint)r���r���r>���rI���Úes��� r���Úreleasez FUSEr.release}���s\���€�ð ØT—Z‘ZÑØ—J‘J˜r‘NØ—‘” Ø— ‘ —‘˜rÔ"ð�øô�ò� Ü!HˆHØûð ús���‚AA�Á A)ÁA$Á$A)c�����������������óÊ���—�t��������|�j������������������d«������rHdj������������������|�j������������������|j ������������������d«������g«������}|�j������������������j������������������||«������S�t��������‚)NÚchmodr$���r���)Úhasattrr���r6���r���r7���ru���rf���rN���s��� r���ru���zFUSEr.chmod‡���sK���€�Ü4—7‘7˜GÔ$Ø—7‘7˜DŸI™I t§{¡{°3Ó'7Ð8Ó9ˆDØ—7‘7—=‘= tÓ,Ð,Ü!Ð!r���)F)N)Ú__name__Ú __module__Ú__qualname__r���rB���rJ���rM���rQ���rT���rX���ra���r]���rh���rl���rs���ru���©�r���r���r ���r ������sC���„�ó&óò8#òò ò òó ò óò,òó"r���r ���TFc�����������������ó¸���‡�‡‡‡‡‡‡—�ˆˆ�ˆˆˆˆˆfd„}‰s/t��������j������������������|¬«������}d|_��������|j������������������«��������|S� ��|«��������y#�t��������$�r�Y�yw�xY�w)am��Mount stuff in a local directory This uses fusepy to make it appear as if a given path on an fsspec instance is in fact resident within the local file-system. This requires that fusepy by installed, and that FUSE be available on the system (typically requiring a package to be installed with apt, yum, brew, etc.). Parameters ---------- fs: file-system instance From one of the compatible implementations path: str Location on that file-system to regard as the root directory to mount. Note that you typically should include the terminating "/" character. mount_point: str An empty directory on the local file-system where the contents of the remote path will appear. foreground: bool Whether or not calling this function will block. Operation will typically be more stable if True. threads: bool Whether or not to create threads when responding to file operations within the mounter directory. Operation will typically be more stable if False. ready_file: bool Whether the FUSE process is ready. The ``.fuse_ready`` file will exist in the ``mount_point`` directory if True. Debugging purpose. ops_class: FUSEr or Subclass of FUSEr To override the default behavior of FUSEr. For Example, logging to file. c������������������ó6���•—�t���������‰‰‰‰¬«������‰‰�‰�¬«������S�)N)r���)Ú nothreadsÚ foreground)r���)r~���r���Úmount_pointÚ ops_classr���r���Úthreadss���€€€€€€€r���ú<lambda>zrun.<locals>.<lambda>º���s!���ø€�”4Ù"d zÔ2ØØ+Øõ r���)ÚtargetTN)Ú threadingÚThreadÚdaemonÚstartÚKeyboardInterrupt) r���r���r���r~���r���r���r€���ÚfuncÚths ���``````` r���Úrunr‹���Ž���sV���þ€�÷Xñ�€Dñ�Ü × Ñ TÔ *ˆØˆŒ Ø ‰Œ ؈ ð ÙFøÜ ò� Ùð ús���ÁA �Á AÁAc����������� ������ó†��—��G�d„�dt���������j������������������«������}�|dt��������j������������������¬«������}|j ������������������ddt ��������¬«�������|j ������������������dt��������d ¬ «�������|j ������������������dt��������d¬ «�������|j ������������������d t��������d¬ «�������|j ������������������dddd¬«�������|j ������������������ddt��������d¬ «�������|j ������������������dddd¬«�������|j ������������������dddd¬«�������|j ������������������dddd ¬«�������|j������������������|�«������}�i�}|�j������������������xs�g�D�]½��}|j������������������d!«������\��}}}|s|j������������������d"|›¬#«�������|j������������������«�������}|j������������������d$«������rt��������|d%t��������d$«��������«������}n"|j������������������d&«������r|d%t��������d&«��������d'v�}d(|v�r*|j������������������d(d)«������\��} } | |v�r ||| ���| <���Œ±| |i|| <���Œ¹|||<���Œ¿�|�j ������������������rGt#��������j$������������������t"��������j&������������������|�j ������������������d*¬+«��������G�d,„�d-t(��������t*��������«������}|}nt(��������}t-��������|�j.������������������fi�|¤Ž\��} }t0��������j3������������������d.|t ��������|�j4������������������«������«�������t7��������| |�j8������������������|�j4������������������|�j:������������������|�j<������������������|�j>������������������|¬/«�������y%)0a¥��Mount filesystem from chained URL to MOUNT_POINT. Examples: python3 -m fsspec.fuse memory /usr/share /tmp/mem python3 -m fsspec.fuse local /tmp/source /tmp/local \ -l /tmp/fsspecfuse.log You can also mount chained-URLs and use special settings: python3 -m fsspec.fuse 'filecache::zip::file://data.zip' \ / /tmp/zip \ -o 'filecache-cache_storage=/tmp/simplecache' You can specify the type of the setting by using `[int]` or `[bool]`, (`true`, `yes`, `1` represents the Boolean value `True`): python3 -m fsspec.fuse 'simplecache::ftp://ftp1.at.proftpd.org' \ /historic/packages/RPMS /tmp/ftp \ -o 'simplecache-cache_storage=/tmp/simplecache' \ -o 'simplecache-check_files=false[bool]' \ -o 'ftp-listings_expiry_time=60[int]' \ -o 'ftp-username=anonymous' \ -o 'ftp-password=xieyanbo' c�������������������ó���‡�—�e�Zd�Zˆ�fd„Zˆ�xZS�)ú*main.<locals>.RawDescriptionArgumentParserc�����������������óž���•—�t���������‰|���«�������}|j������������������d«������}|�j������������������j ������������������«�������|d<���dj������������������|«������S�)Nz r-���)ÚsuperÚformat_helpÚsplitÚdescriptionr���r6���)r���ÚusageÚpartsÚ __class__s��� €r���r‘���z6main.<locals>.RawDescriptionArgumentParser.format_helpé���sE���ø€�Ü‘GÑ'Ó)ˆEØ—K‘K Ó'ˆEØ×'Ñ'×.Ñ.Ó0ˆE!‰HØ—;‘;˜uÓ%Ð%r���)rw���rx���ry���r‘���Ú __classcell__)r–���s���@r���ÚRawDescriptionArgumentParserrŽ���è���s ���ø„�÷ &ð� &r���r˜���r���)Úprogr“���z --versionÚversion)Úactionrš���Úurlzfs url)r"���ÚhelpÚsource_pathzsource directory in fsr���zlocal directoryz-oz--optionÚappendz3Any options of protocol included in the chained URL)r›���r���z-lz --log-filez%Logging FUSE debug info (Default: '')z-fz--foregroundÚstore_falsez-Running in foreground or not (Default: False)z-tz --threadsz-Running with threads support (Default: False)z-rz--ready-filezZThe `.fuse_ready` file will exist after FUSE is ready. (Debugging purpose, Default: False)ú=zWrong option: )Úmessagez[int]Nz[bool])Ú1ÚyesÚtrueú-r-���z%(asctime)s %(message)s)ÚlevelÚfilenameÚformatc�������������������ó���—�e�Zd�Zy)úmain.<locals>.LoggingFUSErN)rw���rx���ry���rz���r���r���ÚLoggingFUSErr«���-��s���„�Ør���r¬���zMounting %s to %s)r~���r���r���r€���) ÚargparseÚArgumentParserÚmainÚ__doc__Úadd_argumentr ���ÚstrÚ parse_argsÚoptionÚ partitionÚerrorÚlowerÚendswithÚintrY���r’���Úlog_fileÚloggingÚbasicConfigÚDEBUGr ���r���r ���rœ���r���r5���r���r‹���rž���r~���r���r���)Úargsr˜���ÚparserÚkwargsÚitemÚkeyÚsepÚvalueÚvalÚfs_nameÚsetting_namer¬���Úfuserr���Úurl_paths��� r���r¯���r¯���Ì���s¾��€�ô8&¤x×'>Ñ'>ô�&ñ�*¨}Ì$Ï,É,Ô W€FØ ×ј¨I¼{ÐÔKØ ×ј¤C¨hÐÔ7Ø ×ј ¬CÐ6NÐÔOØ ×ј ¬CÐ6GÐÔHØ ×ÑØØØØ Bð �ô�ð�×Ñ؈l¤Ð+Rð�ô�ð�×ÑØØØØ <ð �ô�ð�×ÑØØØØ <ð �ô�ð�×ÑØØØð.ð �ô�ð�×јTÓ"€Dà €FØ—‘Ò!˜rÒ!ˆØŸ.™.¨Ó-‰ˆˆS%ÙØL‰L >°$°Ð!:ˆLÔ;Øk‰k‹mˆØ<‰<˜Ô ܘ˜o¤ W£ Ð.Ó/‰EØ \‰\˜(Ô #ØÐ(œ3˜x›=˜.Ð)Ð-AÐAˆEà#‰:Ø$'§I¡I¨c°1Ó$5Ñ!ˆG\ؘ&Ñ Ø05w‘ Ò-à#/°Ð"7w’àˆF3ŠKð#�"ð&�‡}‚}Ü×ÑÜ—-‘-Ø—]‘]Ø,õ ô œ5¤,ô� ð�‰äˆä˜TŸX™XÑ0¨Ñ0L€BˆÜ ‡LLÐ$ h´°D×4DÑ4DÓ0EÔFÜØ Ø×ÑØ×ÑØ—?‘?Ø—‘Ø—?‘?Øör���Ú__main__r-���)r���r»���rF���r:���r„���r=���Úerrnor���r���Úfuser���r���r���r���Úfsspecr ���Úfsspec.corer ���Ú getLoggerr���r ���r‹���r¯���rw���ÚsysÚargvrz���r���r���ú<module>rÒ������s†���ðÛ�Û�Û� Û�Û�Û�ß�ç�<Ó�<å�Ý�!à ˆ× Ñ ˜=Ó )€ôz"ˆJô�z"ðB�ØØØó;ò|rðj�ˆzÒÛሉ!"ˆÕð�r���