Linux vps-61133.fhnet.fr 4.9.0-19-amd64 #1 SMP Debian 4.9.320-2 (2022-06-30) x86_64
Apache/2.4.25 (Debian)
Server IP : 93.113.207.21 & Your IP : 216.73.216.122
Domains :
Cant Read [ /etc/named.conf ]
User : www-data
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
usr /
local /
lib /
python3.5 /
dist-packages /
PIL /
Delete
Unzip
Name
Size
Permission
Date
Action
__pycache__
[ DIR ]
drwxr-sr-x
2025-04-10 17:07
BdfFontFile.py
2.75
KB
-rw-r--r--
2025-04-10 17:07
BlpImagePlugin.py
13.96
KB
-rw-r--r--
2025-04-10 17:07
BmpImagePlugin.py
14.04
KB
-rw-r--r--
2025-04-10 17:07
BufrStubImagePlugin.py
1.48
KB
-rw-r--r--
2025-04-10 17:07
ContainerIO.py
2.82
KB
-rw-r--r--
2025-04-10 17:07
CurImagePlugin.py
1.64
KB
-rw-r--r--
2025-04-10 17:07
DcxImagePlugin.py
2.09
KB
-rw-r--r--
2025-04-10 17:07
DdsImagePlugin.py
5.34
KB
-rw-r--r--
2025-04-10 17:07
EpsImagePlugin.py
11.84
KB
-rw-r--r--
2025-04-10 17:07
ExifTags.py
8.8
KB
-rw-r--r--
2025-04-10 17:07
FitsStubImagePlugin.py
1.59
KB
-rw-r--r--
2025-04-10 17:07
FliImagePlugin.py
4.17
KB
-rw-r--r--
2025-04-10 17:07
FontFile.py
2.7
KB
-rw-r--r--
2025-04-10 17:07
FpxImagePlugin.py
6.51
KB
-rw-r--r--
2025-04-10 17:07
FtexImagePlugin.py
3.23
KB
-rw-r--r--
2025-04-10 17:07
GbrImagePlugin.py
2.74
KB
-rw-r--r--
2025-04-10 17:07
GdImageFile.py
2.43
KB
-rw-r--r--
2025-04-10 17:07
GifImagePlugin.py
28.2
KB
-rw-r--r--
2025-04-10 17:07
GimpGradientFile.py
3.27
KB
-rw-r--r--
2025-04-10 17:07
GimpPaletteFile.py
1.24
KB
-rw-r--r--
2025-04-10 17:07
GribStubImagePlugin.py
1.51
KB
-rw-r--r--
2025-04-10 17:07
Hdf5StubImagePlugin.py
1.48
KB
-rw-r--r--
2025-04-10 17:07
IcnsImagePlugin.py
11.44
KB
-rw-r--r--
2025-04-10 17:07
IcoImagePlugin.py
9.9
KB
-rw-r--r--
2025-04-10 17:07
ImImagePlugin.py
10.57
KB
-rw-r--r--
2025-04-10 17:07
Image.py
112.93
KB
-rw-r--r--
2025-04-10 17:07
ImageChops.py
7.14
KB
-rw-r--r--
2025-04-10 17:07
ImageCms.py
35.89
KB
-rw-r--r--
2025-04-10 17:07
ImageColor.py
8.43
KB
-rw-r--r--
2025-04-10 17:07
ImageDraw.py
18.87
KB
-rw-r--r--
2025-04-10 17:07
ImageDraw2.py
4.9
KB
-rw-r--r--
2025-04-10 17:07
ImageEnhance.py
3.12
KB
-rw-r--r--
2025-04-10 17:07
ImageFile.py
20.52
KB
-rw-r--r--
2025-04-10 17:07
ImageFilter.py
15.51
KB
-rw-r--r--
2025-04-10 17:07
ImageFont.py
35.23
KB
-rw-r--r--
2025-04-10 17:07
ImageGrab.py
3.54
KB
-rw-r--r--
2025-04-10 17:07
ImageMath.py
6.89
KB
-rw-r--r--
2025-04-10 17:07
ImageMode.py
1.6
KB
-rw-r--r--
2025-04-10 17:07
ImageMorph.py
7.71
KB
-rw-r--r--
2025-04-10 17:07
ImageOps.py
17.6
KB
-rw-r--r--
2025-04-10 17:07
ImagePalette.py
6.2
KB
-rw-r--r--
2025-04-10 17:07
ImagePath.py
336
B
-rw-r--r--
2025-04-10 17:07
ImageQt.py
5.66
KB
-rw-r--r--
2025-04-10 17:07
ImageSequence.py
1.81
KB
-rw-r--r--
2025-04-10 17:07
ImageShow.py
6.21
KB
-rw-r--r--
2025-04-10 17:07
ImageStat.py
3.81
KB
-rw-r--r--
2025-04-10 17:07
ImageTk.py
9.11
KB
-rw-r--r--
2025-04-10 17:07
ImageTransform.py
2.78
KB
-rw-r--r--
2025-04-10 17:07
ImageWin.py
7.03
KB
-rw-r--r--
2025-04-10 17:07
ImtImagePlugin.py
2.15
KB
-rw-r--r--
2025-04-10 17:07
IptcImagePlugin.py
5.54
KB
-rw-r--r--
2025-04-10 17:07
Jpeg2KImagePlugin.py
8.52
KB
-rw-r--r--
2025-04-10 17:07
JpegImagePlugin.py
27.24
KB
-rw-r--r--
2025-04-10 17:07
JpegPresets.py
12.41
KB
-rw-r--r--
2025-04-10 17:07
McIdasImagePlugin.py
1.71
KB
-rw-r--r--
2025-04-10 17:07
MicImagePlugin.py
2.54
KB
-rw-r--r--
2025-04-10 17:07
MpegImagePlugin.py
1.76
KB
-rw-r--r--
2025-04-10 17:07
MpoImagePlugin.py
4.14
KB
-rw-r--r--
2025-04-10 17:07
MspImagePlugin.py
5.4
KB
-rw-r--r--
2025-04-10 17:07
PSDraw.py
6.58
KB
-rw-r--r--
2025-04-10 17:07
PaletteFile.py
1.08
KB
-rw-r--r--
2025-04-10 17:07
PalmImagePlugin.py
8.88
KB
-rw-r--r--
2025-04-10 17:07
PcdImagePlugin.py
1.47
KB
-rw-r--r--
2025-04-10 17:07
PcfFontFile.py
6.12
KB
-rw-r--r--
2025-04-10 17:07
PcxImagePlugin.py
5.35
KB
-rw-r--r--
2025-04-10 17:07
PdfImagePlugin.py
7.4
KB
-rw-r--r--
2025-04-10 17:07
PdfParser.py
33.62
KB
-rw-r--r--
2025-04-10 17:07
PixarImagePlugin.py
1.61
KB
-rw-r--r--
2025-04-10 17:07
PngImagePlugin.py
40.81
KB
-rw-r--r--
2025-04-10 17:07
PpmImagePlugin.py
4.35
KB
-rw-r--r--
2025-04-10 17:07
PsdImagePlugin.py
7.45
KB
-rw-r--r--
2025-04-10 17:07
PyAccess.py
9.37
KB
-rw-r--r--
2025-04-10 17:07
SgiImagePlugin.py
5.96
KB
-rw-r--r--
2025-04-10 17:07
SpiderImagePlugin.py
9.31
KB
-rw-r--r--
2025-04-10 17:07
SunImagePlugin.py
4.2
KB
-rw-r--r--
2025-04-10 17:07
TarIO.py
1.41
KB
-rw-r--r--
2025-04-10 17:07
TgaImagePlugin.py
6.12
KB
-rw-r--r--
2025-04-10 17:07
TiffImagePlugin.py
65.92
KB
-rw-r--r--
2025-04-10 17:07
TiffTags.py
14.21
KB
-rw-r--r--
2025-04-10 17:07
WalImageFile.py
5.4
KB
-rw-r--r--
2025-04-10 17:07
WebPImagePlugin.py
10.54
KB
-rw-r--r--
2025-04-10 17:07
WmfImagePlugin.py
4.5
KB
-rw-r--r--
2025-04-10 17:07
XVThumbImagePlugin.py
1.9
KB
-rw-r--r--
2025-04-10 17:07
XbmImagePlugin.py
2.39
KB
-rw-r--r--
2025-04-10 17:07
XpmImagePlugin.py
3
KB
-rw-r--r--
2025-04-10 17:07
__init__.py
3.19
KB
-rw-r--r--
2025-04-10 17:07
__main__.py
41
B
-rw-r--r--
2025-04-10 17:07
_binary.py
1.75
KB
-rw-r--r--
2025-04-10 17:07
_imaging.cpython-35m-x86_64-linux-gnu.so
637.91
KB
-rwxr-xr-x
2025-04-10 17:07
_imagingcms.cpython-35m-x86_64-linux-gnu.so
44.27
KB
-rwxr-xr-x
2025-04-10 17:07
_imagingft.cpython-35m-x86_64-linux-gnu.so
39.9
KB
-rwxr-xr-x
2025-04-10 17:07
_imagingmath.cpython-35m-x86_64-linux-gnu.so
24.43
KB
-rwxr-xr-x
2025-04-10 17:07
_imagingmorph.cpython-35m-x86_64-linux-gnu.so
8.12
KB
-rwxr-xr-x
2025-04-10 17:07
_imagingtk.cpython-35m-x86_64-linux-gnu.so
9.37
KB
-rwxr-xr-x
2025-04-10 17:07
_tkinter_finder.py
622
B
-rw-r--r--
2025-04-10 17:07
_util.py
503
B
-rw-r--r--
2025-04-10 17:07
_version.py
50
B
-rw-r--r--
2025-04-10 17:07
_webp.cpython-35m-x86_64-linux-gnu.so
38.5
KB
-rwxr-xr-x
2025-04-10 17:07
features.py
8.62
KB
-rw-r--r--
2025-04-10 17:07
Save
Rename
# # The Python Imaging Library # Pillow fork # # Python implementation of the PixelAccess Object # # Copyright (c) 1997-2009 by Secret Labs AB. All rights reserved. # Copyright (c) 1995-2009 by Fredrik Lundh. # Copyright (c) 2013 Eric Soroos # # See the README file for information on usage and redistribution # # Notes: # # * Implements the pixel access object following Access. # * Does not implement the line functions, as they don't appear to be used # * Taking only the tuple form, which is used from python. # * Fill.c uses the integer form, but it's still going to use the old # Access.c implementation. # import logging import sys try: from cffi import FFI defs = """ struct Pixel_RGBA { unsigned char r,g,b,a; }; struct Pixel_I16 { unsigned char l,r; }; """ ffi = FFI() ffi.cdef(defs) except ImportError as ex: # Allow error import for doc purposes, but error out when accessing # anything in core. from ._util import deferred_error FFI = ffi = deferred_error(ex) logger = logging.getLogger(__name__) class PyAccess: def __init__(self, img, readonly=False): vals = dict(img.im.unsafe_ptrs) self.readonly = readonly self.image8 = ffi.cast("unsigned char **", vals["image8"]) self.image32 = ffi.cast("int **", vals["image32"]) self.image = ffi.cast("unsigned char **", vals["image"]) self.xsize, self.ysize = img.im.size # Keep pointer to im object to prevent dereferencing. self._im = img.im if self._im.mode == "P": self._palette = img.palette # Debugging is polluting test traces, only useful here # when hacking on PyAccess # logger.debug("%s", vals) self._post_init() def _post_init(self): pass def __setitem__(self, xy, color): """ Modifies the pixel at x,y. The color is given as a single numerical value for single band images, and a tuple for multi-band images :param xy: The pixel coordinate, given as (x, y). See :ref:`coordinate-system`. :param color: The pixel value. """ if self.readonly: raise ValueError("Attempt to putpixel a read only image") (x, y) = xy if x < 0: x = self.xsize + x if y < 0: y = self.ysize + y (x, y) = self.check_xy((x, y)) if ( self._im.mode == "P" and isinstance(color, (list, tuple)) and len(color) in [3, 4] ): # RGB or RGBA value for a P image color = self._palette.getcolor(color) return self.set_pixel(x, y, color) def __getitem__(self, xy): """ Returns the pixel at x,y. The pixel is returned as a single value for single band images or a tuple for multiple band images :param xy: The pixel coordinate, given as (x, y). See :ref:`coordinate-system`. :returns: a pixel value for single band images, a tuple of pixel values for multiband images. """ (x, y) = xy if x < 0: x = self.xsize + x if y < 0: y = self.ysize + y (x, y) = self.check_xy((x, y)) return self.get_pixel(x, y) putpixel = __setitem__ getpixel = __getitem__ def check_xy(self, xy): (x, y) = xy if not (0 <= x < self.xsize and 0 <= y < self.ysize): raise ValueError("pixel location out of range") return xy class _PyAccess32_2(PyAccess): """ PA, LA, stored in first and last bytes of a 32 bit word """ def _post_init(self, *args, **kwargs): self.pixels = ffi.cast("struct Pixel_RGBA **", self.image32) def get_pixel(self, x, y): pixel = self.pixels[y][x] return (pixel.r, pixel.a) def set_pixel(self, x, y, color): pixel = self.pixels[y][x] # tuple pixel.r = min(color[0], 255) pixel.a = min(color[1], 255) class _PyAccess32_3(PyAccess): """ RGB and friends, stored in the first three bytes of a 32 bit word """ def _post_init(self, *args, **kwargs): self.pixels = ffi.cast("struct Pixel_RGBA **", self.image32) def get_pixel(self, x, y): pixel = self.pixels[y][x] return (pixel.r, pixel.g, pixel.b) def set_pixel(self, x, y, color): pixel = self.pixels[y][x] # tuple pixel.r = min(color[0], 255) pixel.g = min(color[1], 255) pixel.b = min(color[2], 255) pixel.a = 255 class _PyAccess32_4(PyAccess): """ RGBA etc, all 4 bytes of a 32 bit word """ def _post_init(self, *args, **kwargs): self.pixels = ffi.cast("struct Pixel_RGBA **", self.image32) def get_pixel(self, x, y): pixel = self.pixels[y][x] return (pixel.r, pixel.g, pixel.b, pixel.a) def set_pixel(self, x, y, color): pixel = self.pixels[y][x] # tuple pixel.r = min(color[0], 255) pixel.g = min(color[1], 255) pixel.b = min(color[2], 255) pixel.a = min(color[3], 255) class _PyAccess8(PyAccess): """ 1, L, P, 8 bit images stored as uint8 """ def _post_init(self, *args, **kwargs): self.pixels = self.image8 def get_pixel(self, x, y): return self.pixels[y][x] def set_pixel(self, x, y, color): try: # integer self.pixels[y][x] = min(color, 255) except TypeError: # tuple self.pixels[y][x] = min(color[0], 255) class _PyAccessI16_N(PyAccess): """ I;16 access, native bitendian without conversion """ def _post_init(self, *args, **kwargs): self.pixels = ffi.cast("unsigned short **", self.image) def get_pixel(self, x, y): return self.pixels[y][x] def set_pixel(self, x, y, color): try: # integer self.pixels[y][x] = min(color, 65535) except TypeError: # tuple self.pixels[y][x] = min(color[0], 65535) class _PyAccessI16_L(PyAccess): """ I;16L access, with conversion """ def _post_init(self, *args, **kwargs): self.pixels = ffi.cast("struct Pixel_I16 **", self.image) def get_pixel(self, x, y): pixel = self.pixels[y][x] return pixel.l + pixel.r * 256 def set_pixel(self, x, y, color): pixel = self.pixels[y][x] try: color = min(color, 65535) except TypeError: color = min(color[0], 65535) pixel.l = color & 0xFF # noqa: E741 pixel.r = color >> 8 class _PyAccessI16_B(PyAccess): """ I;16B access, with conversion """ def _post_init(self, *args, **kwargs): self.pixels = ffi.cast("struct Pixel_I16 **", self.image) def get_pixel(self, x, y): pixel = self.pixels[y][x] return pixel.l * 256 + pixel.r def set_pixel(self, x, y, color): pixel = self.pixels[y][x] try: color = min(color, 65535) except Exception: color = min(color[0], 65535) pixel.l = color >> 8 # noqa: E741 pixel.r = color & 0xFF class _PyAccessI32_N(PyAccess): """ Signed Int32 access, native endian """ def _post_init(self, *args, **kwargs): self.pixels = self.image32 def get_pixel(self, x, y): return self.pixels[y][x] def set_pixel(self, x, y, color): self.pixels[y][x] = color class _PyAccessI32_Swap(PyAccess): """ I;32L/B access, with byteswapping conversion """ def _post_init(self, *args, **kwargs): self.pixels = self.image32 def reverse(self, i): orig = ffi.new("int *", i) chars = ffi.cast("unsigned char *", orig) chars[0], chars[1], chars[2], chars[3] = chars[3], chars[2], chars[1], chars[0] return ffi.cast("int *", chars)[0] def get_pixel(self, x, y): return self.reverse(self.pixels[y][x]) def set_pixel(self, x, y, color): self.pixels[y][x] = self.reverse(color) class _PyAccessF(PyAccess): """ 32 bit float access """ def _post_init(self, *args, **kwargs): self.pixels = ffi.cast("float **", self.image32) def get_pixel(self, x, y): return self.pixels[y][x] def set_pixel(self, x, y, color): try: # not a tuple self.pixels[y][x] = color except TypeError: # tuple self.pixels[y][x] = color[0] mode_map = { "1": _PyAccess8, "L": _PyAccess8, "P": _PyAccess8, "LA": _PyAccess32_2, "La": _PyAccess32_2, "PA": _PyAccess32_2, "RGB": _PyAccess32_3, "LAB": _PyAccess32_3, "HSV": _PyAccess32_3, "YCbCr": _PyAccess32_3, "RGBA": _PyAccess32_4, "RGBa": _PyAccess32_4, "RGBX": _PyAccess32_4, "CMYK": _PyAccess32_4, "F": _PyAccessF, "I": _PyAccessI32_N, } if sys.byteorder == "little": mode_map["I;16"] = _PyAccessI16_N mode_map["I;16L"] = _PyAccessI16_N mode_map["I;16B"] = _PyAccessI16_B mode_map["I;32L"] = _PyAccessI32_N mode_map["I;32B"] = _PyAccessI32_Swap else: mode_map["I;16"] = _PyAccessI16_L mode_map["I;16L"] = _PyAccessI16_L mode_map["I;16B"] = _PyAccessI16_N mode_map["I;32L"] = _PyAccessI32_Swap mode_map["I;32B"] = _PyAccessI32_N def new(img, readonly=False): access_type = mode_map.get(img.mode, None) if not access_type: logger.debug("PyAccess Not Implemented: %s", img.mode) return None return access_type(img, readonly)