????JFIF??x?x????'
| Server IP : 104.21.30.238  /  Your IP : 216.73.216.83 Web Server : LiteSpeed System : Linux premium151.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 User : tempvsty ( 647) PHP Version : 8.0.30 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /proc/thread-self/root/./opt/alt/python312/lib64/python3.12/zipfile/_path/ | 
| Upload File : | 
import re
def translate(pattern):
    return match_dirs(translate_core(pattern))
def match_dirs(pattern):
    """
    Ensure that zipfile.Path directory names are matched.
    zipfile.Path directory names always end in a slash.
    """
    return rf'{pattern}[/]?'
def translate_core(pattern):
    r"""
    Given a glob pattern, produce a regex that matches it.
    >>> translate('*.txt')
    '[^/]*\\.txt'
    >>> translate('a?txt')
    'a.txt'
    >>> translate('**/*')
    '.*/[^/]*'
    """
    return ''.join(map(replace, separate(pattern)))
def separate(pattern):
    """
    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']
    """
    return re.finditer(r'([^\[]+)|(?P<set>[\[].*?[\]])|([\[][^\]]*$)', pattern)
def replace(match):
    """
    Perform the replacements for a match from :func:`separate`.
    """
    return match.group('set') or (
        re.escape(match.group(0))
        .replace('\\*\\*', r'.*')
        .replace('\\*', r'[^/]*')
        .replace('\\?', r'.')
    )