*j S SK r S SKr\ R \" \ R 5 \" \ R 5 - - r " S S5 rS rg) Nc b \ rS rSr% Sr\\S' \4S\4S jjrS r S r S rS rS r S rS rSrg ) Translator z >>> Translator('xyz') Traceback (most recent call last): ... AssertionError: Invalid separators >>> Translator('') Traceback (most recent call last): ... AssertionError: Invalid separators sepsc Xl g )Nr )selfr s 9/opt/alt/python313/lib64/python3.13/zipfile/_path/glob.py__init__Translator.__init__ s c ` U R U R U R U5 5 5 $ )z8 Given a glob pattern, produce a regex that matches it. )extend match_dirstranslate_corer patterns r translateTranslator.translate s' {{4??4+>+>w+GHIIr c SU S3$ )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)\Z r s r r Translator.extend s wis##r c U S3$ )zl Ensure that zipfile.Path directory names are matched. zipfile.Path directory names always end in a slash. z[/]?r r s r r Translator.match_dirs+ s )4 r c U R U5 SR [ U R [ U R U5 5 5 5 $ )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_emptyr s r r Translator.translate_core3 s<