[ Avaa Bypassed ]




Upload:

Command:

www-data@18.218.241.211: ~ $
import collections
import os
import sys

import PIL

from . import Image

modules = {
    "pil": "PIL._imaging",
    "tkinter": "PIL._tkinter_finder",
    "freetype2": "PIL._imagingft",
    "littlecms2": "PIL._imagingcms",
    "webp": "PIL._webp",
}


def check_module(feature):
    if not (feature in modules):
        raise ValueError("Unknown module %s" % feature)

    module = modules[feature]

    try:
        __import__(module)
        return True
    except ImportError:
        return False


def get_supported_modules():
    return [f for f in modules if check_module(f)]


codecs = {"jpg": "jpeg", "jpg_2000": "jpeg2k", "zlib": "zip", "libtiff": "libtiff"}


def check_codec(feature):
    if feature not in codecs:
        raise ValueError("Unknown codec %s" % feature)

    codec = codecs[feature]

    return codec + "_encoder" in dir(Image.core)


def get_supported_codecs():
    return [f for f in codecs if check_codec(f)]


features = {
    "webp_anim": ("PIL._webp", "HAVE_WEBPANIM"),
    "webp_mux": ("PIL._webp", "HAVE_WEBPMUX"),
    "transp_webp": ("PIL._webp", "HAVE_TRANSPARENCY"),
    "raqm": ("PIL._imagingft", "HAVE_RAQM"),
    "libjpeg_turbo": ("PIL._imaging", "HAVE_LIBJPEGTURBO"),
    "libimagequant": ("PIL._imaging", "HAVE_LIBIMAGEQUANT"),
}


def check_feature(feature):
    if feature not in features:
        raise ValueError("Unknown feature %s" % feature)

    module, flag = features[feature]

    try:
        imported_module = __import__(module, fromlist=["PIL"])
        return getattr(imported_module, flag)
    except ImportError:
        return None


def get_supported_features():
    return [f for f in features if check_feature(f)]


def check(feature):
    return (
        feature in modules
        and check_module(feature)
        or feature in codecs
        and check_codec(feature)
        or feature in features
        and check_feature(feature)
    )


def get_supported():
    ret = get_supported_modules()
    ret.extend(get_supported_features())
    ret.extend(get_supported_codecs())
    return ret


def pilinfo(out=None, supported_formats=True):
    if out is None:
        out = sys.stdout

    Image.init()

    print("-" * 68, file=out)
    print("Pillow {}".format(PIL.__version__), file=out)
    py_version = sys.version.splitlines()
    print("Python {}".format(py_version[0].strip()), file=out)
    for py_version in py_version[1:]:
        print("       {}".format(py_version.strip()), file=out)
    print("-" * 68, file=out)
    print(
        "Python modules loaded from {}".format(os.path.dirname(Image.__file__)),
        file=out,
    )
    print(
        "Binary modules loaded from {}".format(os.path.dirname(Image.core.__file__)),
        file=out,
    )
    print("-" * 68, file=out)

    for name, feature in [
        ("pil", "PIL CORE"),
        ("tkinter", "TKINTER"),
        ("freetype2", "FREETYPE2"),
        ("littlecms2", "LITTLECMS2"),
        ("webp", "WEBP"),
        ("transp_webp", "WEBP Transparency"),
        ("webp_mux", "WEBPMUX"),
        ("webp_anim", "WEBP Animation"),
        ("jpg", "JPEG"),
        ("jpg_2000", "OPENJPEG (JPEG2000)"),
        ("zlib", "ZLIB (PNG/ZIP)"),
        ("libtiff", "LIBTIFF"),
        ("raqm", "RAQM (Bidirectional Text)"),
        ("libimagequant", "LIBIMAGEQUANT (Quantization method)"),
    ]:
        if check(name):
            print("---", feature, "support ok", file=out)
        else:
            print("***", feature, "support not installed", file=out)
    print("-" * 68, file=out)

    if supported_formats:
        extensions = collections.defaultdict(list)
        for ext, i in Image.EXTENSION.items():
            extensions[i].append(ext)

        for i in sorted(Image.ID):
            line = "{}".format(i)
            if i in Image.MIME:
                line = "{} {}".format(line, Image.MIME[i])
            print(line, file=out)

            if i in extensions:
                print(
                    "Extensions: {}".format(", ".join(sorted(extensions[i]))), file=out
                )

            features = []
            if i in Image.OPEN:
                features.append("open")
            if i in Image.SAVE:
                features.append("save")
            if i in Image.SAVE_ALL:
                features.append("save_all")
            if i in Image.DECODERS:
                features.append("decode")
            if i in Image.ENCODERS:
                features.append("encode")

            print("Features: {}".format(", ".join(features)), file=out)
            print("-" * 68, file=out)

Filemanager

Name Type Size Permission Actions
__pycache__ Folder 0755
BdfFontFile.py File 2.88 KB 0644
BlpImagePlugin.py File 14.14 KB 0644
BmpImagePlugin.py File 14.03 KB 0644
BufrStubImagePlugin.py File 1.48 KB 0644
ContainerIO.py File 2.66 KB 0644
CurImagePlugin.py File 1.64 KB 0644
DcxImagePlugin.py File 2.16 KB 0644
DdsImagePlugin.py File 5.34 KB 0644
EpsImagePlugin.py File 11.83 KB 0644
ExifTags.py File 8.63 KB 0644
FitsStubImagePlugin.py File 1.59 KB 0644
FliImagePlugin.py File 4.29 KB 0644
FontFile.py File 2.7 KB 0644
FpxImagePlugin.py File 6.5 KB 0644
FtexImagePlugin.py File 3.23 KB 0644
GbrImagePlugin.py File 2.67 KB 0644
GdImageFile.py File 2.31 KB 0644
GifImagePlugin.py File 28.36 KB 0644
GimpGradientFile.py File 3.26 KB 0644
GimpPaletteFile.py File 1.24 KB 0644
GribStubImagePlugin.py File 1.51 KB 0644
Hdf5StubImagePlugin.py File 1.48 KB 0644
IcnsImagePlugin.py File 11.29 KB 0644
IcoImagePlugin.py File 9.95 KB 0644
ImImagePlugin.py File 10.21 KB 0644
Image.py File 110.17 KB 0644
ImageChops.py File 6.62 KB 0644
ImageCms.py File 35.21 KB 0644
ImageColor.py File 8.51 KB 0644
ImageDraw.py File 18.68 KB 0644
ImageDraw2.py File 3.02 KB 0644
ImageEnhance.py File 3.12 KB 0644
ImageFile.py File 20.51 KB 0644
ImageFilter.py File 15.5 KB 0644
ImageFont.py File 35.22 KB 0644
ImageGrab.py File 2.35 KB 0644
ImageMath.py File 7.42 KB 0644
ImageMode.py File 1.6 KB 0644
ImageMorph.py File 7.71 KB 0644
ImageOps.py File 17.63 KB 0644
ImagePalette.py File 6.19 KB 0644
ImagePath.py File 336 B 0644
ImageQt.py File 5.83 KB 0644
ImageSequence.py File 1.78 KB 0644
ImageShow.py File 5.48 KB 0644
ImageStat.py File 3.81 KB 0644
ImageTransform.py File 2.78 KB 0644
ImageWin.py File 7.01 KB 0644
ImtImagePlugin.py File 2.15 KB 0644
IptcImagePlugin.py File 5.51 KB 0644
Jpeg2KImagePlugin.py File 8.15 KB 0644
JpegImagePlugin.py File 27.18 KB 0644
JpegPresets.py File 12.25 KB 0644
McIdasImagePlugin.py File 1.71 KB 0644
MicImagePlugin.py File 2.58 KB 0644
MpegImagePlugin.py File 1.76 KB 0644
MpoImagePlugin.py File 4.26 KB 0644
MspImagePlugin.py File 5.39 KB 0644
PSDraw.py File 6.59 KB 0644
PaletteFile.py File 1.08 KB 0644
PalmImagePlugin.py File 8.89 KB 0644
PcdImagePlugin.py File 1.47 KB 0644
PcfFontFile.py File 5.84 KB 0644
PcxImagePlugin.py File 5.53 KB 0644
PdfImagePlugin.py File 7.42 KB 0644
PdfParser.py File 33.9 KB 0644
PixarImagePlugin.py File 1.62 KB 0644
PngImagePlugin.py File 26.81 KB 0644
PpmImagePlugin.py File 4.35 KB 0644
PsdImagePlugin.py File 7.8 KB 0644
PyAccess.py File 9.13 KB 0644
SgiImagePlugin.py File 5.98 KB 0644
SpiderImagePlugin.py File 9.24 KB 0644
SunImagePlugin.py File 4.21 KB 0644
TarIO.py File 1.4 KB 0644
TgaImagePlugin.py File 6.11 KB 0644
TiffImagePlugin.py File 66.11 KB 0644
TiffTags.py File 14.26 KB 0644
WalImageFile.py File 5.34 KB 0644
WebPImagePlugin.py File 10.77 KB 0644
WmfImagePlugin.py File 4.5 KB 0644
XVThumbImagePlugin.py File 1.9 KB 0644
XbmImagePlugin.py File 2.39 KB 0644
XpmImagePlugin.py File 3 KB 0644
__init__.py File 1.6 KB 0644
__main__.py File 41 B 0644
_binary.py File 1.71 KB 0644
_imaging.cpython-38-x86_64-linux-gnu.so File 406.46 KB 0644
_imagingcms.cpython-38-x86_64-linux-gnu.so File 38.09 KB 0644
_imagingft.cpython-38-x86_64-linux-gnu.so File 37.34 KB 0644
_imagingmath.cpython-38-x86_64-linux-gnu.so File 18.43 KB 0644
_imagingmorph.cpython-38-x86_64-linux-gnu.so File 14.46 KB 0644
_tkinter_finder.py File 622 B 0644
_util.py File 503 B 0644
_version.py File 50 B 0644
_webp.cpython-38-x86_64-linux-gnu.so File 24.1 KB 0644
features.py File 4.46 KB 0644