Jz`f SSKrSSKr\R\"\R5\"\R5--r"SS5rSrg)Nc\\rSrSr%Sr\\S'\4S\4SjjrSr Sr Sr Sr S r S rS rg ) Translatorz >>> Translator('xyz') Traceback (most recent call last): ... AssertionError: Invalid separators >>> Translator('') Traceback (most recent call last): ... AssertionError: Invalid separators sepscXlg)N)r)selfrs +/usr/lib64/python3.13/zipfile/_path/glob.py__init__Translator.__init__s cBURURU55$)z8 Given a glob pattern, produce a regex that matches it. )extendtranslate_corerpatterns r translateTranslator.translates{{4..w788r cSUS3$)z Extend regex for pattern-wide concerns. Apply '(?s:)' to create a non-matching group that matches newlines (valid on Unix). Append '\Z' to imply fullmatch even when match is used. z(?s:z)\Zrs r rTranslator.extend!swis##r c URU5 SR[UR[ UR U5555$)z Given a glob pattern, produce a regex that matches it. >>> t = Translator() >>> t.translate_core('*.txt').replace('\\\\', '') '[^/]*\\.txt' >>> t.translate_core('a?txt') 'a[^/]txt' >>> t.translate_core('**/*').replace('\\\\', '') '.*/[^/][^/]*' )restrict_rglobjoinmapreplaceseparatestar_not_emptyrs r rTranslator.translate_core,s< G$wws4<<$2E2Eg2N)OPQQr c URS5=(dw [R"URS55RSS5RSS[R"UR5S35RSS 5$) z= Perform the replacements for a match from :func:`separate`. setrz\*\*z.*z\*[^z]*z\?z[^/])groupreescaperr)rmatchs r rTranslator.replace;si{{5! IIekk!n % WXu % WUr"))DII"6!7r: ; WUG $  r cS[R"UR5S3n[R"X!5n[ SU55(a [ S5eg)z Raise ValueError if ** appears in anything but a full path segment. >>> Translator().translate('**foo') Traceback (most recent call last): ... ValueError: ** must appear alone in a path segment []+c3B# UHnSU;=(a US:gv M g7f)z**Nr).0segments r ,Translator.restrict_rglob..QsKwtw27d?2Ksz&** must appear alone in a path segmentN)r$r%rsplitany ValueError)rr seps_patternsegmentss r rTranslator.restrict_rglobFsQBIIdii014 88L2 K(K K KEF F Lr c~SnS[R"UR5S3n[R"X2U5$)z0 Ensure that * will not match an empty segment. c8URS5nUS:XaS$U$)Nr*z?*)r#)r&r-s r handle_segment1Translator.star_not_empty..handle_segmentYs kk!nG"c>4 6w 6r r"r*)r$r%rsub)rrr9not_seps_patterns r rTranslator.star_not_emptyTs8  7!499!5 6b9vv&@@r )rrN)__name__ __module__ __qualname____firstlineno____doc__str__annotations__ _default_sepsr rrrrrr__static_attributes__rr r rrs>  I#0S9 $ R   G Ar rc0[R"SU5$)z Separate out character sets to avoid translating their contents. >>> [m.group(0) for m in separate('*.txt')] ['*.txt'] >>> [m.group(0) for m in separate('a[?]txt')] ['a', '[?]', 'txt'] z+([^\[]+)|(?P[\[].*?[\]])|([\[][^\]]*$))r$finditer)rs r rras ;;Ew OOr ) osr$seprCaltsepboolrErrrr r rMsE RYY$ryy/99 VAVAr Pr