PHP 8.2.31
Preview: _compat.py Size: 3.12 KB
/opt/imunify360/venv/lib/python3.11/site-packages/jinja2/_compat.py

# -*- coding: utf-8 -*-
# flake8: noqa
import marshal
import sys

PY2 = sys.version_info[0] == 2
PYPY = hasattr(sys, "pypy_translation_info")
_identity = lambda x: x

if not PY2:
    unichr = chr
    range_type = range
    text_type = str
    string_types = (str,)
    integer_types = (int,)

    iterkeys = lambda d: iter(d.keys())
    itervalues = lambda d: iter(d.values())
    iteritems = lambda d: iter(d.items())

    import pickle
    from io import BytesIO, StringIO

    NativeStringIO = StringIO

    def reraise(tp, value, tb=None):
        if value.__traceback__ is not tb:
            raise value.with_traceback(tb)
        raise value

    ifilter = filter
    imap = map
    izip = zip
    intern = sys.intern

    implements_iterator = _identity
    implements_to_string = _identity
    encode_filename = _identity

    marshal_dump = marshal.dump
    marshal_load = marshal.load

else:
    unichr = unichr
    text_type = unicode
    range_type = xrange
    string_types = (str, unicode)
    integer_types = (int, long)

    iterkeys = lambda d: d.iterkeys()
    itervalues = lambda d: d.itervalues()
    iteritems = lambda d: d.iteritems()

    import cPickle as pickle
    from cStringIO import StringIO as BytesIO, StringIO

    NativeStringIO = BytesIO

    exec("def reraise(tp, value, tb=None):\n raise tp, value, tb")

    from itertools import imap, izip, ifilter

    intern = intern

    def implements_iterator(cls):
        cls.next = cls.__next__
        del cls.__next__
        return cls

    def implements_to_string(cls):
        cls.__unicode__ = cls.__str__
        cls.__str__ = lambda x: x.__unicode__().encode("utf-8")
        return cls

    def encode_filename(filename):
        if isinstance(filename, unicode):
            return filename.encode("utf-8")
        return filename

    def marshal_dump(code, f):
        if isinstance(f, file):
            marshal.dump(code, f)
        else:
            f.write(marshal.dumps(code))

    def marshal_load(f):
        if isinstance(f, file):
            return marshal.load(f)
        return marshal.loads(f.read())


def with_metaclass(meta, *bases):
    """Create a base class with a metaclass."""
    # This requires a bit of explanation: the basic idea is to make a
    # dummy metaclass for one level of class instantiation that replaces
    # itself with the actual metaclass.
    class metaclass(type):
        def __new__(cls, name, this_bases, d):
            return meta(name, bases, d)

    return type.__new__(metaclass, "temporary_class", (), {})


try:
    from urllib.parse import quote_from_bytes as url_quote
except ImportError:
    from urllib import quote as url_quote


try:
    from collections import abc
except ImportError:
    import collections as abc


try:
    from os import fspath
except ImportError:
    try:
        from pathlib import PurePath
    except ImportError:
        PurePath = None

    def fspath(path):
        if hasattr(path, "__fspath__"):
            return path.__fspath__()

        # Python 3.5 doesn't have __fspath__ yet, use str.
        if PurePath is not None and isinstance(path, PurePath):
            return str(path)

        return path

Directory Contents

Dirs: 1 × Files: 27

Name Size Perms Modified Actions
- drwxr-xr-x 2026-05-27 11:04:30
Edit Download
4.15 KB lrw-r--r-- 2026-04-14 09:45:18
Edit Download
7.04 KB lrw-r--r-- 2026-04-14 09:45:18
Edit Download
11.85 KB lrw-r--r-- 2026-04-14 09:45:18
Edit Download
64.73 KB lrw-r--r-- 2026-04-14 09:45:18
Edit Download
1.42 KB lrw-r--r-- 2026-04-14 09:45:18
Edit Download
8.33 KB lrw-r--r-- 2026-04-14 09:45:18
Edit Download
1.10 KB lrw-r--r-- 2026-04-14 09:45:18
Edit Download
49.44 KB lrw-r--r-- 2026-04-14 09:45:18
Edit Download
5.30 KB lrw-r--r-- 2026-04-14 09:45:18
Edit Download
25.82 KB lrw-r--r-- 2026-04-14 09:45:18
Edit Download
40.44 KB lrw-r--r-- 2026-04-14 09:45:18
Edit Download
9.00 KB lrw-r--r-- 2026-04-14 09:45:18
Edit Download
29.62 KB lrw-r--r-- 2026-04-14 09:45:18
Edit Download
17.25 KB lrw-r--r-- 2026-04-14 09:45:18
Edit Download
4.03 KB lrw-r--r-- 2026-04-14 09:45:18
Edit Download
2.69 KB lrw-r--r-- 2026-04-14 09:45:18
Edit Download
30.37 KB lrw-r--r-- 2026-04-14 09:45:18
Edit Download
1.42 KB lrw-r--r-- 2026-04-14 09:45:18
Edit Download
34.82 KB lrw-r--r-- 2026-04-14 09:45:18
Edit Download
29.90 KB lrw-r--r-- 2026-04-14 09:45:18
Edit Download
16.73 KB lrw-r--r-- 2026-04-14 09:45:18
Edit Download
4.69 KB lrw-r--r-- 2026-04-14 09:45:18
Edit Download
21.99 KB lrw-r--r-- 2026-04-14 09:45:18
Edit Download
3.16 KB lrw-r--r-- 2026-04-14 09:45:18
Edit Download
3.12 KB lrw-r--r-- 2026-04-14 09:45:18
Edit Download
1.73 KB lrw-r--r-- 2026-04-14 09:45:18
Edit Download
1.51 KB lrw-r--r-- 2026-04-14 09:45:18
Edit Download

If ZipArchive is unavailable, a .tar will be created (no compression).