[tools] Added pil to view image files.
This commit is contained in:
parent
6edcfbb746
commit
e1742f6959
20 changed files with 198 additions and 4 deletions
|
|
@ -42,3 +42,4 @@ Extensions | Tools
|
||||||
.tar.gz .tgz | [tar_gz](http://www.gnu.org/software/tar/manual/tar.html)
|
.tar.gz .tgz | [tar_gz](http://www.gnu.org/software/tar/manual/tar.html)
|
||||||
.tar.bz2 | [tar_bz2](http://www.gnu.org/software/tar/manual/tar.html)
|
.tar.bz2 | [tar_bz2](http://www.gnu.org/software/tar/manual/tar.html)
|
||||||
.a .so | [nm](https://linux.die.net/man/1/nm)
|
.a .so | [nm](https://linux.die.net/man/1/nm)
|
||||||
|
.png .jpg .gif .bmp .ppm .tiff .tga | [pil](http://python-pillow.github.io/) • [pil_half](http://python-pillow.github.io/)
|
||||||
|
|
|
||||||
9
fill3.py
9
fill3.py
|
|
@ -401,6 +401,15 @@ class Placeholder:
|
||||||
return self.widget.appearance(dimensions)
|
return self.widget.appearance(dimensions)
|
||||||
|
|
||||||
|
|
||||||
|
class Fixed:
|
||||||
|
|
||||||
|
def __init__(self, appearance):
|
||||||
|
self.appearance_min_ = appearance
|
||||||
|
|
||||||
|
def appearance_min(self):
|
||||||
|
return self.appearance_min_
|
||||||
|
|
||||||
|
|
||||||
##########################
|
##########################
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
BIN
golden-files/input/circle.bmp
Normal file
BIN
golden-files/input/circle.bmp
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1.1 KiB |
BIN
golden-files/input/circle.gif
Normal file
BIN
golden-files/input/circle.gif
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 108 B |
BIN
golden-files/input/circle.jpg
Normal file
BIN
golden-files/input/circle.jpg
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 381 B |
BIN
golden-files/input/circle.png
Normal file
BIN
golden-files/input/circle.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 320 B |
BIN
golden-files/input/circle.ppm
Normal file
BIN
golden-files/input/circle.ppm
Normal file
Binary file not shown.
BIN
golden-files/input/circle.tga
Normal file
BIN
golden-files/input/circle.tga
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 1 KiB |
BIN
golden-files/input/circle.tiff
Normal file
BIN
golden-files/input/circle.tiff
Normal file
Binary file not shown.
16
golden-files/results/pil-circle_bmp
Normal file
16
golden-files/results/pil-circle_bmp
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
(B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m
|
||||||
16
golden-files/results/pil-circle_gif
Normal file
16
golden-files/results/pil-circle_gif
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
(B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m
|
||||||
16
golden-files/results/pil-circle_jpg
Normal file
16
golden-files/results/pil-circle_jpg
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
(B[m[38;2;255;255;255m[48;2;0;0;0m (B[m[38;2;255;255;255m[48;2;7;7;7m (B[m[38;2;255;255;255m[48;2;0;0;0m (B[m[38;2;255;255;255m[48;2;1;1;1m (B[m[38;2;255;255;255m[48;2;0;0;0m (B[m[38;2;255;255;255m[48;2;2;2;2m (B[m[38;2;255;255;255m[48;2;1;1;1m (B[m[38;2;255;255;255m[48;2;3;3;3m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;7;7;7m (B[m[38;2;255;255;255m[48;2;0;0;0m (B[m[38;2;255;255;255m[48;2;1;1;1m (B[m[38;2;255;255;255m[48;2;0;0;0m (B[m[38;2;255;255;255m[48;2;251;251;251m (B[m[38;2;255;255;255m[48;2;253;253;253m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m (B[m[38;2;255;255;255m[48;2;1;1;1m (B[m[38;2;255;255;255m[48;2;2;2;2m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;2;2;2m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;247;247;247m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;1;1;1m (B[m[38;2;255;255;255m[48;2;0;0;0m (B[m[38;2;255;255;255m[48;2;2;2;2m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;4;4;4m (B[m[38;2;255;255;255m[48;2;0;0;0m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;251;251;251m (B[m[38;2;255;255;255m[48;2;249;249;249m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;249;249;249m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;249;249;249m (B[m[38;2;255;255;255m[48;2;1;1;1m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;2;2;2m (B[m[38;2;255;255;255m[48;2;0;0;0m (B[m[38;2;255;255;255m[48;2;253;253;253m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;248;248;248m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;253;253;253m (B[m[38;2;255;255;255m[48;2;252;252;252m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;1;1;1m (B[m[38;2;255;255;255m[48;2;2;2;2m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;2;2;2m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;252;252;252m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;247;247;247m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;253;253;253m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;251;251;251m (B[m[38;2;255;255;255m[48;2;248;248;248m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;4;4;4m (B[m[38;2;255;255;255m[48;2;253;253;253m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;251;251;251m (B[m[38;2;255;255;255m[48;2;253;253;253m (B[m[38;2;255;255;255m[48;2;252;252;252m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;2;2;2m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;253;253;253m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;253;253;253m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;4;4;4m (B[m[38;2;255;255;255m[48;2;249;249;249m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;252;252;252m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;253;253;253m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;250;250;250m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;252;252;252m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;251;251;251m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;253;253;253m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;253;253;253m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;248;248;248m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;252;252;252m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;1;1;1m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;2;2;2m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;253;253;253m (B[m[38;2;255;255;255m[48;2;250;250;250m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;249;249;249m (B[m[38;2;255;255;255m[48;2;252;252;252m (B[m[38;2;255;255;255m[48;2;253;253;253m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;253;253;253m (B[m[38;2;255;255;255m[48;2;2;2;2m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;1;1;1m (B[m[38;2;255;255;255m[48;2;0;0;0m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;253;253;253m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;253;253;253m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;246;246;246m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;1;1;1m (B[m[38;2;255;255;255m[48;2;0;0;0m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;253;253;253m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;252;252;252m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;253;253;253m (B[m[38;2;255;255;255m[48;2;249;249;249m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;251;251;251m (B[m[38;2;255;255;255m[48;2;7;7;7m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;6;6;6m (B[m[38;2;255;255;255m[48;2;0;0;0m (B[m[38;2;255;255;255m[48;2;252;252;252m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;252;252;252m (B[m[38;2;255;255;255m[48;2;1;1;1m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;2;2;2m (B[m[38;2;255;255;255m[48;2;0;0;0m (B[m[38;2;255;255;255m[48;2;2;2;2m (B[m[38;2;255;255;255m[48;2;0;0;0m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;248;248;248m (B[m[38;2;255;255;255m[48;2;252;252;252m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;251;251;251m (B[m[38;2;255;255;255m[48;2;0;0;0m (B[m[38;2;255;255;255m[48;2;1;1;1m (B[m[38;2;255;255;255m[48;2;0;0;0m (B[m[38;2;255;255;255m[48;2;1;1;1m (B[m[38;2;255;255;255m[48;2;3;3;3m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;5;5;5m (B[m[38;2;255;255;255m[48;2;0;0;0m (B[m[38;2;255;255;255m[48;2;1;1;1m (B[m[38;2;255;255;255m[48;2;2;2;2m (B[m[38;2;255;255;255m[48;2;1;1;1m (B[m[38;2;255;255;255m[48;2;0;0;0m (B[m[38;2;255;255;255m[48;2;4;4;4m (B[m[38;2;255;255;255m[48;2;0;0;0m (B[m[38;2;255;255;255m[48;2;1;1;1m (B[m[38;2;255;255;255m[48;2;2;2;2m (B[m[38;2;255;255;255m[48;2;0;0;0m (B[m
|
||||||
16
golden-files/results/pil-circle_png
Normal file
16
golden-files/results/pil-circle_png
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
(B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m
|
||||||
16
golden-files/results/pil-circle_ppm
Normal file
16
golden-files/results/pil-circle_ppm
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
(B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m
|
||||||
16
golden-files/results/pil-circle_tga
Normal file
16
golden-files/results/pil-circle_tga
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
(B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m
|
||||||
16
golden-files/results/pil-circle_tiff
Normal file
16
golden-files/results/pil-circle_tiff
Normal file
|
|
@ -0,0 +1,16 @@
|
||||||
|
(B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;254;254;254m (B[m[38;2;255;255;255m[48;2;255;255;255m (B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m
|
||||||
8
golden-files/results/pil_half-circle_png
Normal file
8
golden-files/results/pil_half-circle_png
Normal file
|
|
@ -0,0 +1,8 @@
|
||||||
|
(B[m[38;2;0;0;0m[48;2;0;0;0m▀▀▀▀▀▀(B[m[38;2;0;0;0m[48;2;255;255;255m▀▀▀▀(B[m[38;2;0;0;0m[48;2;0;0;0m▀▀▀▀▀▀(B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;0;0;0m[48;2;0;0;0m▀▀▀(B[m[38;2;0;0;0m[48;2;255;255;255m▀(B[m[38;2;254;254;254m[48;2;255;255;255m▀▀(B[m[38;2;255;255;255m[48;2;255;255;255m▀▀▀▀(B[m[38;2;254;254;254m[48;2;255;255;255m▀▀(B[m[38;2;0;0;0m[48;2;254;254;254m▀(B[m[38;2;0;0;0m[48;2;0;0;0m▀▀▀(B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;0;0;0m[48;2;0;0;0m▀▀(B[m[38;2;254;254;254m[48;2;254;254;254m▀(B[m[38;2;255;255;255m[48;2;255;255;255m▀▀▀▀▀▀▀▀▀▀(B[m[38;2;254;254;254m[48;2;254;254;254m▀(B[m[38;2;0;0;0m[48;2;255;255;255m▀(B[m[38;2;0;0;0m[48;2;0;0;0m▀(B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;0;0;0m[48;2;0;0;0m▀(B[m[38;2;255;255;255m[48;2;255;255;255m▀▀▀▀▀▀▀▀▀▀▀▀▀▀(B[m[38;2;0;0;0m[48;2;0;0;0m▀(B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;0;0;0m[48;2;0;0;0m▀(B[m[38;2;254;254;254m[48;2;254;254;254m▀(B[m[38;2;255;255;255m[48;2;255;255;255m▀▀▀▀▀▀▀▀▀▀▀▀(B[m[38;2;255;255;255m[48;2;254;254;254m▀(B[m[38;2;0;0;0m[48;2;0;0;0m▀(B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;0;0;0m[48;2;0;0;0m▀(B[m[38;2;255;255;255m[48;2;0;0;0m▀(B[m[38;2;254;254;254m[48;2;254;254;254m▀(B[m[38;2;255;255;255m[48;2;255;255;255m▀▀▀▀▀▀▀▀▀▀(B[m[38;2;255;255;255m[48;2;254;254;254m▀(B[m[38;2;255;255;255m[48;2;0;0;0m▀(B[m[38;2;0;0;0m[48;2;0;0;0m▀(B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;0;0;0m[48;2;0;0;0m▀▀▀(B[m[38;2;254;254;254m[48;2;255;255;255m▀(B[m[38;2;255;255;255m[48;2;254;254;254m▀(B[m[38;2;255;255;255m[48;2;255;255;255m▀▀▀▀▀▀(B[m[38;2;255;255;255m[48;2;254;254;254m▀(B[m[38;2;254;254;254m[48;2;255;255;255m▀(B[m[38;2;255;255;255m[48;2;0;0;0m▀(B[m[38;2;0;0;0m[48;2;0;0;0m▀▀(B[m[38;2;255;255;255m[48;2;0;0;0m
|
||||||
|
(B[m[38;2;0;0;0m[48;2;0;0;0m▀▀▀▀▀(B[m[38;2;255;255;255m[48;2;0;0;0m▀(B[m[38;2;254;254;254m[48;2;0;0;0m▀(B[m[38;2;255;255;255m[48;2;0;0;0m▀▀▀▀(B[m[38;2;0;0;0m[48;2;0;0;0m▀▀▀▀▀(B[m
|
||||||
|
|
@ -3,6 +3,7 @@
|
||||||
# Licensed under the Artistic License 2.0.
|
# Licensed under the Artistic License 2.0.
|
||||||
|
|
||||||
import collections
|
import collections
|
||||||
|
import itertools
|
||||||
import os
|
import os
|
||||||
import weakref
|
import weakref
|
||||||
|
|
||||||
|
|
@ -102,10 +103,7 @@ class CharStyle:
|
||||||
|
|
||||||
|
|
||||||
def _join_lists(lists):
|
def _join_lists(lists):
|
||||||
result = []
|
return list(itertools.chain.from_iterable(lists))
|
||||||
for list_ in lists:
|
|
||||||
result.extend(list_)
|
|
||||||
return result
|
|
||||||
|
|
||||||
|
|
||||||
class TermStr(collections.UserString):
|
class TermStr(collections.UserString):
|
||||||
|
|
|
||||||
58
tools.py
58
tools.py
|
|
@ -22,6 +22,7 @@ import tempfile
|
||||||
import time
|
import time
|
||||||
import traceback
|
import traceback
|
||||||
|
|
||||||
|
import PIL.Image
|
||||||
import pygments
|
import pygments
|
||||||
import pygments.lexers
|
import pygments.lexers
|
||||||
import pygments.styles
|
import pygments.styles
|
||||||
|
|
@ -646,6 +647,59 @@ php5_syntax.dependencies = {"php"}
|
||||||
php5_syntax.url = "https://en.wikipedia.org/wiki/PHP"
|
php5_syntax.url = "https://en.wikipedia.org/wiki/PHP"
|
||||||
|
|
||||||
|
|
||||||
|
def _pil_pixels(pil_image):
|
||||||
|
data = list(pil_image.getdata())
|
||||||
|
width = pil_image.width
|
||||||
|
return [data[row_index*width:(row_index+1)*width]
|
||||||
|
for row_index in range(pil_image.height)]
|
||||||
|
|
||||||
|
|
||||||
|
MAX_IMAGE_SIZE = 80
|
||||||
|
|
||||||
|
|
||||||
|
def _resize_image(image, new_width):
|
||||||
|
scale = new_width / image.width
|
||||||
|
return image.resize((int(image.width * scale), int(image.height * scale)),
|
||||||
|
PIL.Image.ANTIALIAS)
|
||||||
|
|
||||||
|
|
||||||
|
def pil(path):
|
||||||
|
with open(path, "rb") as image_file:
|
||||||
|
with PIL.Image.open(image_file).convert("RGB") as image:
|
||||||
|
if image.width > (MAX_IMAGE_SIZE // 2):
|
||||||
|
image = _resize_image(image, MAX_IMAGE_SIZE // 2)
|
||||||
|
text = " " * 2 * image.width
|
||||||
|
result = []
|
||||||
|
for row in _pil_pixels(image):
|
||||||
|
row_style = []
|
||||||
|
for pixel in row:
|
||||||
|
style = termstr.CharStyle(bg_color=pixel)
|
||||||
|
row_style.extend([style, style])
|
||||||
|
result.append(termstr.TermStr(text, tuple(row_style)))
|
||||||
|
return Status.normal, fill3.Fixed(result)
|
||||||
|
pil.dependencies = {"python3-pil"}
|
||||||
|
pil.url = "python3-pil"
|
||||||
|
|
||||||
|
|
||||||
|
def pil_half(path):
|
||||||
|
with open(path, "rb") as image_file:
|
||||||
|
with PIL.Image.open(image_file).convert("RGB") as image:
|
||||||
|
if image.width > MAX_IMAGE_SIZE:
|
||||||
|
image = _resize_image(image, MAX_IMAGE_SIZE)
|
||||||
|
text = "▀" * image.width
|
||||||
|
rows = _pil_pixels(image)
|
||||||
|
if image.height % 2 == 1:
|
||||||
|
rows.append([None] * image.width)
|
||||||
|
result = fill3.Fixed([
|
||||||
|
termstr.TermStr(text, tuple(termstr.CharStyle(
|
||||||
|
fg_color=top_pixel, bg_color=bottom_pixel)
|
||||||
|
for top_pixel, bottom_pixel in zip(rows[index], rows[index+1])))
|
||||||
|
for index in range(0, image.height, 2)])
|
||||||
|
return Status.normal, result
|
||||||
|
pil_half.dependencies = {"python3-pil"}
|
||||||
|
pil_half.url = "python3-pil"
|
||||||
|
|
||||||
|
|
||||||
#############################
|
#############################
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -768,6 +822,9 @@ def _generic_tools():
|
||||||
return [contents, metadata]
|
return [contents, metadata]
|
||||||
|
|
||||||
|
|
||||||
|
IMAGE_EXTENSIONS = ["png", "jpg", "gif", "bmp", "ppm", "tiff", "tga"]
|
||||||
|
|
||||||
|
|
||||||
TOOLS_FOR_EXTENSIONS = \
|
TOOLS_FOR_EXTENSIONS = \
|
||||||
[
|
[
|
||||||
(["py"], [python_syntax, python_unittests, pydoc, mypy, python_coverage,
|
(["py"], [python_syntax, python_unittests, pydoc, mypy, python_coverage,
|
||||||
|
|
@ -789,6 +846,7 @@ TOOLS_FOR_EXTENSIONS = \
|
||||||
(["tar.gz", "tgz"], [tar_gz]),
|
(["tar.gz", "tgz"], [tar_gz]),
|
||||||
(["tar.bz2"], [tar_bz2]),
|
(["tar.bz2"], [tar_bz2]),
|
||||||
(["a", "so"], [nm]),
|
(["a", "so"], [nm]),
|
||||||
|
(IMAGE_EXTENSIONS, [pil, pil_half])
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -212,6 +212,14 @@ class ToolsTestCase(unittest.TestCase):
|
||||||
def test_php5_syntax(self):
|
def test_php5_syntax(self):
|
||||||
self._test_tool(tools.php5_syntax, [("root.php", tools.Status.ok)])
|
self._test_tool(tools.php5_syntax, [("root.php", tools.Status.ok)])
|
||||||
|
|
||||||
|
def test_pil(self):
|
||||||
|
for extension in tools.IMAGE_EXTENSIONS:
|
||||||
|
self._test_tool(tools.pil, [("circle." + extension,
|
||||||
|
tools.Status.normal)])
|
||||||
|
|
||||||
|
def test_pil_half(self):
|
||||||
|
self._test_tool(tools.pil_half, [("circle.png", tools.Status.normal)])
|
||||||
|
|
||||||
|
|
||||||
class LruCacheWithEvictionTestCase(unittest.TestCase):
|
class LruCacheWithEvictionTestCase(unittest.TestCase):
|
||||||
|
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue