Commit Graph

1812 Commits

Author SHA1 Message Date
Andrew Murray
257bc8bd4f Added tests 2017-03-03 19:45:55 +11:00
wiredfool
2fb9c1a337 Merge pull request #2431 from hugovk/test-hdf5stub
Test Hdf5StubImagePlugin for correctness
2017-03-01 09:15:53 +00:00
hugovk
0489e38a0e Test Hdf5StubImagePlugin for correctness 2017-02-28 22:23:05 +02:00
hugovk
48f6be40cc Created via http://stackoverflow.com/a/29736206/724176 2017-02-28 22:21:47 +02:00
hugovk
a7a3bcda84 Test FitsStubImagePlugin for correctness 2017-02-28 21:44:26 +02:00
hugovk
76cde2fafb convert hopper.png hopper.fits 2017-02-28 21:40:58 +02:00
Hugo
49815f8d4a Test pixar for similarity 2017-02-28 08:27:53 +02:00
Hugo
c9e139e260 Image created with Photoshop 2017-02-28 08:22:03 +02:00
Hugo
df2a031941 Test PSD with and without ICC profile 2017-02-27 17:21:27 +02:00
Hugo
1a607bfd56 Resave hopper.psd with ICC profile, using Photoshop 2017-02-27 16:45:31 +02:00
Hugo
921a25d144 Test PSD seek 2017-02-27 16:20:18 +02:00
Hugo
5c3b10ee87 Test PSD for similarity 2017-02-27 16:20:18 +02:00
Hugo
cb34b686a5 Merge pull request #1822 from radarhere/unused
Remove unused imports
2017-02-26 10:05:19 +02:00
hugovk
c4b686f82d flake8 2017-02-23 02:41:28 -08:00
hugovk
e6864d16a8 Remove unrunnable code 2017-02-23 02:41:21 -08:00
wiredfool
64cd722038 Arch qpixmap is fixed on on the docker side with the environment variable QT_QPA_PLATFORM=offscreen 2017-02-22 08:10:08 -08:00
wiredfool
0ee223aa7a Merge pull request #1390 from radarhere/deprecated_27
Removed use of spaces in TIFF kwargs, deprecated in 2.7
2017-02-22 10:13:45 +00:00
wiredfool
a4ef743b0f Merge pull request #2220 from jdufresne/image-draw-dep
Remove long deprecated ImageDraw methods
2017-02-22 10:12:05 +00:00
wiredfool
8421a076ac Merge pull request #2253 from jdufresne/devnull
Send unwanted subprocess output to /dev/null
2017-02-22 10:10:03 +00:00
hugovk
310105625c Failing test case for #2259 2017-02-22 08:16:17 +02:00
wiredfool
c05ac25d6a Merge pull request #2381 from hugovk/convert-matrix
Test matrix convert
2017-02-20 22:37:25 +00:00
wiredfool
5969a7445b Merge pull request #2394 from wiredfool/travis-docker
Additional docker builds, Arch and Debian Stretch, fix for QT tests.
2017-02-20 21:59:20 +00:00
wiredfool
d707cb3692 Tight similarity tests for XYZ conversion 2017-02-20 13:41:28 -08:00
Eric Soroos
89443ae950 B/W images don't save properly in QT4 either 2017-02-20 12:28:13 -08:00
Eric Soroos
1b94ff81fe Skip failing QPixmap/QT5 tests on Arch 2017-02-20 08:51:17 -08:00
Eric Soroos
9b82bdbb10 fix ToQimage tests for QT5 2017-02-20 08:51:17 -08:00
ces42
8fb44a2bee More explicit error message when saving to a file with invalid extension (#2399)
* more explicit error message when saving to a file with invalid extension + test
2017-02-17 13:39:16 +00:00
wiredfool
b5f6732501 Merge pull request #2397 from radarhere/psdraw
Added anchor to readthedocs URL
2017-02-17 13:37:33 +00:00
Leonid Bloch
28b818974e Allow to save tiff stacks from separate images
This is a quick solution that will allow to save tiff stacks from
separate images, e.g. from Numpy arrays.
Previously, tiff stacks could be saved only from multiframe images.
This behavior is similar to what is possible now with GIFs.

Note however, that for correct results, all the appended images should
have the same encoder{info,config} properties.

Example:

import numpy as np
from PIL import Image
a = np.ones((100,100,100), dtype=np.uint8)
imlist = []
for m in a:
    imlist.append(Image.fromarray(m))

imlist[0].save("test.tif", compression="tiff_deflate", save_all=True,
               append_images=imlist[1:])

(Should result in a 100-frame, 100x100 tiff stack.)

Signed-off-by: Leonid Bloch <leonid.bloch@esrf.fr>
2017-02-17 00:57:00 +02:00
Hugo
53e5702557 Update http to https 2017-02-14 11:27:02 +02:00
Andrew Murray
63d0a5a326 Added anchor to readthedocs URL 2017-02-11 12:47:10 +11:00
wiredfool
3ea2599984 Merge pull request #2355 from gunjambi/imagecms-preserve-aux-channels
Imagecms preserve aux channels
2017-02-07 19:38:05 +00:00
wiredfool
9c4eafc188 Merge pull request #2382 from hugovk/test-effects
Test linear and radial gradient effects
2017-02-06 21:58:41 +00:00
hugovk
d7fe8d1eb7 Linear and radial gradient: only need one target image 2017-02-06 22:03:17 +02:00
wiredfool
cdaa448782 Merge pull request #2389 from hugovk/outline
Test ImageDraw.Outline and and ImageDraw.Shape
2017-02-06 16:57:18 +00:00
wiredfool
b93025fa5b Merge pull request #2380 from evalapply/master
BUG fix: '' in image mode no longer causes a crash
2017-01-31 19:03:29 +00:00
hugovk
96dfd722c3 Test ImageDraw.Outline curve 2017-01-31 08:22:33 +02:00
hugovk
008431fe0e Test ImageDraw.Outline curve 2017-01-30 21:50:48 +02:00
Hugo
04e3f585b0 Test no change with identity matrix 2017-01-30 14:28:00 +02:00
Hugo
7fba16b074 Test for similarity 2017-01-30 14:27:29 +02:00
hugovk
07af06bf8c Expose and test radial_gradient 2017-01-29 18:44:24 +02:00
hugovk
3ead178d18 flake8 2017-01-29 18:38:06 +02:00
hugovk
47b1c66961 Expose and test linear_gradient 2017-01-29 18:17:31 +02:00
hugovk
fdf0737fcd Test matrix convert for ValueError: image has wrong mode 2017-01-29 15:55:17 +02:00
hugovk
90dac5f4dc Refactor and test matrix convert with RGB and L modes 2017-01-29 14:24:49 +02:00
hugovk
cea36587ab Test matrix convert 2017-01-29 14:03:38 +02:00
Lukasz Kozuchowski
3e317f3ca0 Empty image mode test 2017-01-29 07:50:28 +01:00
Jarkko Pöyry
fa56b3d255 Add tests for CMS transform auxiliary channel preservation. See bug #1662. 2017-01-28 22:04:49 +02:00
Andrew Murray
e67ee44ea8 Added test for missing method data in Image transform 2017-01-28 14:21:41 +11:00
Andrew Murray
cd114cef3f Added test for Image fromstring NotImplementedError 2017-01-28 14:16:39 +11:00
Andrew Murray
2039d43d85 Added test for unknown filter in Image resize 2017-01-28 14:09:28 +11:00
Andrew Murray
01cb6590a4 Added test for point operation on F mode image 2017-01-28 14:02:22 +11:00
Andrew Murray
e8495e5917 Added test for abbreviated Image paste mask syntax 2017-01-28 13:50:44 +11:00
Andrew Murray
581fef2ebd Added test for Image offset NotImplementedError 2017-01-28 13:06:28 +11:00
Jon Dufresne
cecdb2af61 Send unwanted subprocess output to /dev/null
Avoids unnecessary creation of temporary files as well as unnecessarily
storing process output in memory. The temporary files would sometimes
remain and not be cleaned up.
2017-01-26 17:31:29 -08:00
wiredfool
2df28a6601 Merge pull request #2347 from radarhere/icc_profile
Moved iCCP chunk before PLTE chunk when saving as PNG
2017-01-26 14:26:25 +00:00
wiredfool
a62f2c5b44 Merge pull request #2365 from SemanticsOS/lambdafu/dpiresolution
Default to inch-interpretation for missing ResolutionUnit in TiffImagePlugin
2017-01-26 14:22:32 +00:00
wiredfool
2d06d8550f Merge pull request #2359 from wiredfool/issue_1902
Fix for issue ImageTk Integer Overflow error
2017-01-26 14:12:32 +00:00
Eric Soroos
e66271d464 added tests for functionality in ImageTk 2017-01-26 05:31:45 -08:00
Andrew Murray
f0480de118 Restricted PNG encoderinfo chunks to valid values when saving 2017-01-21 16:57:03 +11:00
Andrew Murray
ded14572a1 Added more tests for PNG chunk ordering 2017-01-21 14:47:59 +11:00
Andrew Murray
361f579579 Moved iCCP chunk before PLTE chunk when saving as PNG 2017-01-21 13:32:22 +11:00
Eric Soroos
94cc72a2ba disable tests broken on old system versions of numpy/scipy 2017-01-20 11:35:49 -08:00
Hugo
bceee54895 Prevent nose -v printing docstrings (#2369) 2017-01-20 19:10:02 +00:00
Marcus Brinkmann
8a9bd2cdcd Default to inch-interpretation for missing ResolutionUnit in TiffImagePlugin. 2017-01-19 17:24:28 +01:00
Andrew Murray
b82151f281 Removed unused division import 2017-01-18 20:06:47 +11:00
Andrew Murray
c168f01111 Removed imports used only by comments 2017-01-18 20:06:47 +11:00
Andrew Murray
97a2d42dac Removed unused print_function imports 2017-01-18 20:06:21 +11:00
wiredfool
c1b510c72c Merge pull request #2307 from radarhere/contextmanagers
Added context managers
2017-01-17 13:20:41 +00:00
Andrew Murray
89742225bf Fixed test coverage 2017-01-07 13:20:16 +11:00
Andrew Murray
2a93cdb698 Simplified assertEqual checks to assertTrue 2017-01-07 11:35:09 +11:00
Luis G
dad5971561 Add unit tests
Add unit tests for registered_extensions
2017-01-07 11:32:16 +11:00
Andrew Murray
c5265e2100 Added test for crop operation with no argument 2017-01-03 13:30:09 +11:00
wiredfool
45138fec9b Added output checked tests for rotate with center and translate 2017-01-01 11:09:06 +00:00
wiredfool
7228de1491 test image 2016-12-31 19:31:02 +00:00
wiredfool
5fda1a803a Added resample target test 2016-12-31 19:30:26 +00:00
wiredfool
cc1ba56c28 Refactor tests 2016-12-31 19:12:39 +00:00
Marcus Brinkmann
90077b3975 Add center and translate option to Image.rotate. 2016-12-31 19:01:09 +00:00
wiredfool
5269828d3a Test: Relax WMF test condition, fixes #2323 2016-12-31 17:38:35 +00:00
wiredfool
c7df6287fa Merge pull request #2262 from wiredfool/zero_size
Allow 0 size images, Fixes #2259
2016-12-31 16:35:14 +00:00
wiredfool
20abc9cdfe Fix size check on expan for image_rotate 2016-12-31 13:31:51 +00:00
wiredfool
7d59183c1d Zero image size test 2016-12-31 13:19:29 +00:00
wiredfool
0a922b962f tests for basic operations on 0x0 images 2016-12-31 13:19:29 +00:00
wiredfool
69bea50810 Allow 0 size images, Fixes #2259 2016-12-31 13:19:29 +00:00
wiredfool
3d185ee857 added tests for sgi writing 2016-12-31 12:29:10 +00:00
wiredfool
95888466c8 Added correctness tests for opening SGI images 2016-12-30 22:20:46 +00:00
Andrew Murray
a06dd59df7 Added context managers 2016-12-28 09:54:10 +11:00
wiredfool
944a470a79 Merge pull request #2312 from wiredfool/pr_2298
List of individual frame durations for saving animated gifs. #2298
2016-12-27 12:00:40 +00:00
wiredfool
f36a04570f Merge pull request #2313 from wiredfool/pr_2196
Unified different GIF optimize conditions #2196, Test for #2196
2016-12-27 11:53:50 +00:00
wiredfool
915270ef6f test for issue #2195 2016-12-27 03:33:20 -08:00
wiredfool
e530f2a228 Added tuple option for durations 2016-12-27 03:04:37 -08:00
wiredfool
87092ad4f8 can pass list of integer to set different duration for each frame when saving GIF 2016-12-27 02:44:05 -08:00
Alessio Sergi
7e8a6c61f8 Use pathlib2 for Path objects on Python < 3.4
The pathlib backport module is no longer maintained. The development
has moved to the pathlib2 module instead.

Quoting from the pathlib's README:
"Attention: this backport module isn't maintained anymore. If you want
to report issues or contribute patches, please consider the pathlib2
project instead."

Other projects have already switched to pathlib2, most notably IPython
and its dependencies.
2016-12-17 18:50:50 +01:00
wiredfool
80b78be21a Merge pull request #2199 from jdufresne/dep-olefile
Remove vendored version of olefile Python package in favor of upstream
2016-12-13 20:12:29 +00:00
wiredfool
55f7a736a4 Merge pull request #2234 from radarhere/print
Updated comments to use print as a function
2016-12-13 20:00:25 +00:00
wiredfool
9f711ea59a Merge pull request #2286 from hugovk/change-freetype2.7-epsilon
Increase epsilon for FreeType 2.7
2016-12-13 19:54:00 +00:00
wiredfool
86ff654487 Merge pull request #2279 from uploadcare/fast-assert_image_similar
Fast assert_image_similar
2016-12-13 19:52:50 +00:00
hugovk
acf68c835c Increase epsilon for FreeType 2.7 2016-12-12 15:16:43 +02:00
Andrew Murray
41e492b026 Removed use of spaces in TIFF kwargs, deprecated in 2.7 2016-12-09 20:44:42 +11:00
Hugo
e83479edf0 Merge pull request #2263 from wiredfool/tiff_bytesio
Fix for writing Tiff to BytesIO using libtiff
2016-12-09 11:04:41 +02:00
Alexander
9ee1f58215 fix I;16 mode 2016-12-07 05:16:10 +03:00
Alexander
ba92896a53 remove old version 2016-12-07 04:39:36 +03:00
Alexander
52c8e2050e replace test "1"-mode image 2016-12-07 03:09:13 +03:00
Alexander
8967a20ad7 test new assert_image_similar implementation 2016-12-07 03:07:20 +03:00
wiredfool
aa247dbb60 Moving tests requiring libtiff to test_file_libtiff 2016-12-05 08:25:10 -08:00
Hugo
837d583b15 Merge pull request #2275 from wiredfool/issue_2272
Update Maxblock heuristic (fixes #2272)
2016-12-04 21:38:22 +02:00
Hugo
03b9d718fc Merge pull request #2274 from wiredfool/issue_2258
Fix for 2 bit palette corruption #2258
2016-12-04 12:27:40 +02:00
wiredfool
d983aead74 Py3 bytes 2016-12-03 14:49:44 +00:00
wiredfool
7e2bd28a7c Fix for issue 2272, CMYK images miss the heuristic for the maxblock buffer scaling 2016-12-03 14:45:45 +00:00
wiredfool
4b57345683 Refactor random image 2016-12-03 14:45:05 +00:00
wiredfool
88c43b61b7 Fix for #2258, 2 bit palette images corrupted 2016-12-03 14:08:59 +00:00
wiredfool
86606022c5 Merge pull request #2193 from SemanticsOS/lambdafu/libtiff-icc
Update info.icc_profile when using libtiff reader.
2016-12-03 13:44:26 +00:00
wiredfool
8a68bd6daa Merge pull request #2270 from ChristopherHogan/test_ifd_rational_save
Test: Fix bug in test_ifd_rational_save
2016-12-03 13:38:02 +00:00
homm
77210e410d test for common modes and filters
pass box for RGBA → RGBa conversion
2016-12-02 16:33:48 +03:00
homm
cf25722a73 improve error message 2016-12-02 15:42:33 +03:00
homm
295382aadc vertical and horizontal pass with boxes 2016-12-02 15:40:32 +03:00
homm
1477fbc07a update tests, add comments 2016-12-02 02:59:40 +03:00
Chris Hogan
711e95e361 Fix bug in test_idf_rational_save
A boolean wrapped in parentheses is still a boolean, not a tuple.
The comma makes this an actual tuple so it can be iterated on in
the for loop.
2016-12-01 11:10:03 -06:00
homm
6def4bfc73 roi → box 2016-11-30 20:01:28 +03:00
hugovk
ed4c0a58e8 Test case for #2266 2016-11-30 16:36:04 +02:00
hugovk
4061c3836c Created with IrfanView 2016-11-30 14:38:04 +02:00
hugovk
4d6c2d5601 Test saving 256x256 icons 2016-11-30 14:37:50 +02:00
wiredfool
e0b957240b Merge pull request #2087 from cskau/patch-1
Fixes TIFFImagePlugin ICC color profile saving.
2016-11-29 19:33:52 +00:00
glexey
0116c9240e EMF: support negative bounding box coordinates (#2249)
* EMF: support negative bounding box coordinates

Similar to placeable WMF, bounding box coordinates
should be interpreted as signed integer, otherwise
opening EMF file with negative (x0,y0) fails.

* Basic load tests for WMF and EMF formats

* WMF/WMF tests: just test open(), not load()

Not sure why load() fails on Debian build. Well, at least we can test
open().

* WMF/EMF: Unpack signed integers using unpack()

* WMF/EMF: Compare to reference PNG rendering

* EMF/WMF comparison: use assert_image_similar()

* Use similarity epsilon 0.5 for WMF, as vector rendering looks different across Windows platforms

* Trigger rebuild
2016-11-27 16:03:51 +00:00
Andrew Murray
67be3a9eda Added future print_function imports 2016-11-26 11:05:56 +11:00
Andrew Murray
4ed31e8ef7 Updated comments to use print as a function 2016-11-26 11:02:44 +11:00
homm
44e443fa75 fix int boundaries 2016-11-26 01:38:55 +03:00
homm
ef787bc3f5 use ROI in precompute_coeffs 2016-11-24 06:11:36 +03:00
homm
a1fedc0f8a expose roi to precompute_coeffs (still noop) 2016-11-24 06:05:20 +03:00
homm
338610b112 nearest and copy ROI 2016-11-24 05:12:41 +03:00
homm
f828416752 add roi argument to Image.resize() method
constraints check
2016-11-24 04:40:54 +03:00
homm
bcb6d606a2 fix typo! 2016-11-24 04:07:06 +03:00
homm
d4784bffb2 return copy of the image if size matches 2016-11-24 03:30:36 +03:00
homm
9947794ccd fix spelling error 2016-11-24 03:09:34 +03:00
wiredfool
ce3432f5f4 Test for issue #2206 2016-11-23 06:24:40 -08:00
Hugo
6fa7f3fc67 Merge pull request #2241 from wiredfool/sunrle
SunImagePlugin fixes
2016-11-23 16:10:17 +02:00
wiredfool
212508b3f2 Review comments 2016-11-23 05:33:02 -08:00
Jon Dufresne
52b1f46b12 Deprecate vendored version of olefile Python package in favor of upstream
Pillow now requires the olefile Python package through setup.py.

This removes Pillow's maintenance of this library by instead relying on
and reusing the upstream version. No longer need to regularly update the
vendored package and docs. olefile bug fixes and features can go
directly upstream.

During travis tests, now installs Pillow package before tests; this will
also install all dependencies (currently, only olefile).
2016-11-22 18:17:31 -08:00
wiredfool
620d082457 Merge pull request #2240 from uploadcare/draft-min-scale
Use minimal scale for jpeg drafts
2016-11-22 15:22:59 +00:00
wiredfool
82caa13a02 Additional test images for sun raster files 2016-11-22 07:19:58 -08:00
Jon Dufresne
dbe9f85c7d Drop support for Python 2.6
* Drop unittest2 requirement
* Use set literals
* Use dict/set comprehension
* Use str.format() automatic numbering
2016-11-22 04:23:55 -08:00
wiredfool
87b8d2894a Merge pull request #2227 from radarhere/fpname
Fixed bug in saving to fp-objects in Python >= 3.4
2016-11-22 12:03:25 +00:00
homm
55fca4857c protect .draft() from second call 2016-11-22 04:28:04 +03:00
homm
8f6b7b258b use minimal scale for jpeg downscaling 2016-11-22 04:00:49 +03:00
wiredfool
318ff7d332 fixed support for hopper.ras, and other RGB sun raster files 2016-11-19 19:43:43 -08:00
wiredfool
e43c91cf1c Working 1 bit sun_rle raster file 2016-11-19 19:16:46 -08:00
Andrew Murray
38fd77ca7d Fixed bug in saving to fp-objects in Python >= 3.4 2016-11-15 20:13:25 +11:00
Jon Dufresne
ffa5bc2726 Use generator expressions instead of list comprehension
Avoids unnecessary temporary lists in memory.
2016-11-14 18:11:15 -08:00
Andrew Murray
b6a4d9bc94 Added test 2016-11-15 06:38:54 +11:00
wiredfool
8c36cd09f7 Merge pull request #2221 from jmerdich/master
Add support for another type of BMP bitfield
2016-11-14 16:13:10 +00:00
Jake Merdich
991df9b87a Update test image for xbgr bmp files 2016-11-14 10:26:57 -05:00
Jake Merdich
e63b97ea42 Add testing for bmp 'questionable' files 2016-11-14 10:10:56 -05:00
Andrew Murray
3dcef86fe5 Added missing top-level test code 2016-11-14 21:12:25 +11:00
Jon Dufresne
a5d6519d74 Remove long deprecated ImageDraw methods
Deprecated in 89ccf66ff7 since Sep 29,
2015, version 3.0.0.
2016-11-13 10:08:47 -08:00
wiredfool
9ee19f2aa9 Merge pull request #2182 from wiredfool/pyside_segfault
Fix for ImageQt Segfault
2016-11-11 17:00:27 +00:00
Jon Dufresne
f041188050 Replace try/except/fail pattern with TestCase.assertRaises()
Replace pattern with the builtin support for asserting exceptions.
2016-11-06 13:43:09 -08:00
Clement Skau
caf53b05ec Fixes TIFFImagePlugin ICC color profile saving.
In the TIFF code saving icc_profile is conditional on tag_v2 being set which doesn't make sense to me. I believe this is merely an indentation typo.

I've been trying to save TIFFs with im.info['icc_profile'] set and compression=raw, but unfortunately this results in TIFFs without ICC color profiles.
With the attached patch TIFFs with said conditions will be saved with the profile set in im.info['icc_profile'].

Note: There are a number of different conditions that need to be met for code to succeed in saving with the profile since it branches between using libtiff and ImageFile._save(..), and the libtiff code does not currently save the ICC color profile.
For instance setting compression=tiff_lzw will result in using libtiff and no profile will be saved.
2016-11-05 15:01:39 +09:00
Marcus Brinkmann
66de02685f Update info.icc_profile when using libtiff reader. 2016-11-04 16:37:49 +01:00
Hugo
48b72eac34 Merge pull request #2184 from jdufresne/isinstance
Replace type() equality checks with isinstance
2016-11-01 19:07:06 +02:00
Jon Dufresne
a33939f5c3 Remove unused, open files at top level of tests.
The data read from the file was unused. The files remained opened and
were never explicitly closed.

Fixes some instances of warnings during tests:

"ResourceWarning: unclosed file ..."
2016-11-01 06:34:17 -07:00
Jon Dufresne
e44bb42ae9 Replace type() equality checks with isinstance 2016-10-31 06:41:43 -07:00
wiredfool
8582144e0e Fix for issue #1370, Segfault using QImages due to not retaining the data 2016-10-27 14:11:06 -07:00
Jon Dufresne
7992d2a65a Fix BytesWarning discovered while running tests
Discovered using the command:

python -b -m nose -vx Tests/test_*.py
2016-10-22 12:35:44 -07:00
Alexander Karpinsky
5a359fbf28 Fix coefficients calculation (#2162)
Fix coefficients calculation

* test for regression

* detailed comments what is going on
prevent setting the `k[-1]` item

* more readable
2016-10-17 01:31:45 -07:00
homm
923f0bb9b3 improve test 2016-10-04 03:11:53 +03:00
homm
c5e111e6b8 allow lists as arguments for Image.new 2016-10-04 03:06:35 +03:00
wiredfool
22ff3f4358 Vulnerable map function is not called on windows 2016-10-03 07:42:48 -07:00
wiredfool
aa8cfce94c IOError is also a valid error here 2016-10-03 07:33:29 -07:00
wiredfool
b3ad80a2bd Image.core.open_ppm has been removed. Test the Storage.c fix with an alternate method. Assert that the ordinary opener rejects the negative size in the PPM file 2016-10-03 07:27:02 -07:00
wiredfool
445451c0b9 Added common check for size tuple errors 2016-10-03 07:27:02 -07:00
wiredfool
c50ebe6459 Map.c overflow fixes 2016-10-03 07:27:02 -07:00
wiredfool
5d8a0be45a Memory error in Storage.c when accepting negative image size arguments 2016-10-03 07:27:02 -07:00
wiredfool
d9fc1848a2 Merge pull request #2140 from SemanticsOS/lambdafu/tiff-multipage
Add TIFF save_all writer.
2016-10-03 06:31:39 -07:00
wiredfool
2db3f00e92 Merge pull request #2141 from wiredfool/tiff_fd
Move libtiff fd duplication to _load_libtiff
2016-10-03 06:03:50 -07:00
wiredfool
f8e6953e6e Merge pull request #2133 from wiredfool/gif-optimize-perf
Speed up GIF save optimization step
2016-10-03 06:03:12 -07:00
wiredfool
9440764863 Merge pull request #2131 from wiredfool/imagecms-segfault
Fix for ImageCms Segfault
2016-10-03 06:02:39 -07:00
wiredfool
ab29e2fa24 Merge pull request #2138 from wiredfool/issue_1077
Make Image.crop an immediate operation, not lazy.
2016-10-03 06:01:34 -07:00
Andrew Murray
4c28926da3 Fixed typos 2016-10-02 21:31:53 +11:00
wiredfool
b81da5a322 Tests for issue #1651 2016-09-29 22:29:19 +01:00
Eric Soroos
95b50bf611 Make Image.crop an immediate operation, not lazy. Fixes #1077 2016-09-29 13:28:24 -07:00
wiredfool
4a90e8f75b Merge pull request #2024 from uploadcare/fix-empty-exif-tags
Skip empty values in ImageFileDirectory
2016-09-29 08:24:44 -07:00
wiredfool
0902120f09 Merge pull request #2139 from SemanticsOS/lambdafu/multipage-tiff-palette
Force reloading palette when using mmap in ImageFile.
2016-09-29 08:20:25 -07:00
Marcus Brinkmann
92c7337df0 Add TIFF save_all writer. 2016-09-29 17:05:33 +02:00
Marcus Brinkmann
c74e45e87c Force reloading palette when using mmap in ImageFile. 2016-09-29 14:54:25 +02:00
Tim Graham
0c66b80a95 Fix "invalid escape sequence" warning in Python 3.6
http://bugs.python.org/issue27364
2016-09-27 19:26:57 -04:00
wiredfool
bc66e2b34a py3 fix 2016-09-26 15:15:43 -07:00
wiredfool
1d068b6e0a Check type of items passed into to ImageCms.ImageCmsProfile, fixes #2037 2016-09-26 14:56:00 -07:00
wiredfool
a51d3bcdba Speed up Gif save optimization step: don't do it as often and do it in C. Fixes #2093 2016-09-26 14:51:28 -07:00
Andrew Murray
d3d29ab2e3 Use truth value when checking for optimize option on save 2016-09-25 21:20:54 +10:00
wiredfool
21d1fd6be0 Merge pull request #2125 from radarhere/macos
Renamed references to OS X to macOS
2016-09-25 09:31:01 +01:00
Andrew Murray
b58f76dc4f Renamed references to OS X to macOS 2016-09-23 21:12:03 +10:00
Andrew Murray
de6158f5f1 Read value when checking for JPEG progressive key 2016-09-23 20:32:21 +10:00
Andrew Murray
051a410859 Convert DPI to ints when saving as JPEG 2016-09-22 19:41:32 +10:00
wiredfool
25797b2baa Merge pull request #2103 from radarhere/append_images
Added append_images parameter to GIF saving
2016-09-22 10:21:31 +01:00
wiredfool
69ee1e35b8 Merge pull request #2015 from uploadcare/paste-speedup
Speedup paste with masks up to 80%
2016-09-22 10:10:56 +01:00
wiredfool
9c4c16df75 Merge pull request #2068 from Mischanix/dxtc
Move DDS decoders to C, add DXT3, BC7 Decoders
2016-09-22 10:04:23 +01:00
wiredfool
8ed63793bf Merge pull request #2111 from anntzer/save-tiff-resolution-when-originally-missing-entry
Fix saving originally missing TIFF tags.
2016-09-22 09:20:56 +01:00
homm
f07c42f719 added more case insensitivity tests 2016-09-19 12:12:16 +03:00
Antony Lee
7e9c944caf Fix saving originally missing TIFF tags.
Don't incorrectly set the tag type to None if it was originally missing.
2016-09-19 00:31:17 -07:00
homm
cdd0624945 improve tests 2016-09-19 03:12:53 +03:00
homm
7faf18ccde better paste tests 2016-09-19 03:12:20 +03:00
homm
c90eecd8f3 paste test for different mask formats 2016-09-19 03:12:20 +03:00
homm
9453129a57 simpler colormap lookup 2016-09-17 12:38:45 +03:00
homm
859a75ba07 complete getrgb tests 2016-09-17 12:22:27 +03:00
Andrew Murray
b346ed36f1 Added append_images parameter to GIF saving 2016-09-11 12:04:01 +10:00
Andrew Murray
572a3d970c Removed whitespace from blank lines 2016-09-03 12:23:42 +10:00
Andrew Murray
72d5218080 Flake8 fixes 2016-09-03 12:17:22 +10:00
Andrew Murray
5c59603fcf Fixed typos 2016-08-31 20:12:07 +10:00
Hugo
ad9fddbcbc Remove duplicate import 2016-08-29 12:57:12 +03:00
Robert Nix
2be760ca79 Add support for BC7 to DdsImagePlugin 2016-08-26 02:26:03 -05:00
Robert Nix
b46804ea27 Add support for DXT3 to DdsImagePlugin 2016-08-25 20:12:44 -05:00
Robert Nix
18a91cebcf Move DDS decoders to C
- Fixed inaccurate BC1/BC3 texture decoding
2016-08-25 19:27:48 -05:00
Eric Soroos
5b0a1a1c0d Moved tiff save / load of uint16 to test_file_tiff.
Saving a numpy generated image as a tiff will save in native endian, and comparing it to a
little endian tiff will fail on bigendian machines.
2016-08-25 12:49:40 -07:00
wiredfool
39227ff33c Merge pull request #2091 from wiredfool/pr_2008
Resampling lookups, trailing empty coefficients, precision
2016-08-25 12:58:36 +01:00
wiredfool
35068e35d1 Merge pull request #2057 from arjennienhuis/RGBa
Add (un)packing between RGBA and BGRa
2016-08-25 12:31:23 +01:00
wiredfool
0444b4935b Merge pull request #2061 from wiredfool/j2k-access
Added return for J2k (and fpx) Load to return a pixel access object
2016-08-25 12:26:18 +01:00
homm
5c0eb2c365 normalize coefficients in normalize_coeffs_8bpc
increase precision of negative filter lobes. Add test
2016-08-25 04:11:02 -07:00
wiredfool
b77adf4692 Merge pull request #2090 from wiredfool/pr_2083
Skip failing numpy tests on Pypy <= 5.3.1
2016-08-25 11:57:57 +01:00
wiredfool
21209769bd More specific test 2016-08-25 03:55:50 -07:00
wiredfool
e980ca7896 Merge pull request #2010 from uploadcare/jpeg-raise-on-alpha
Show warning when trying to save RGBA image as JPEG
2016-08-25 11:41:49 +01:00
wiredfool
5d2667efda Merge pull request #2022 from uploadcare/rotation-pixel-center
Respect pixel centers during transform
2016-08-25 11:40:09 +01:00
wiredfool
30abb42c27 More specific version of pr #2083 2016-08-25 03:22:20 -07:00
Matthew Brett
824a0c232c BF: fix conversion of bit images to numpy arrays
Numpy cannot form arrays from bits.  To convert bit images to numpy,
convert bits to bytes.

From suggestion by Alexander Karpinsky, with thanks.

Fixes gh-350.
2016-08-17 18:47:14 -07:00
Arjen Nienhuis
67eb7a3dc2 Ignore PyPy numpy errors 2016-08-17 23:25:52 +02:00
Andrew Murray
61972f03ec Fixed typos [ci skip] 2016-08-13 12:32:13 +10:00
homm
193c756139 return implicit RGBA to JPEG save, raise warning 2016-08-09 03:11:35 +03:00
wiredfool
cf27e03dcd Added return for J2k (and fpx) Load to return a pixel access object 2016-08-08 07:36:34 -07:00
Arjen Nienhuis
28ede3a327 Merged BGRa test into Tests/test_lib_pack.py 2016-08-08 00:07:08 +02:00
Arjen Nienhuis
916ea94052 Add packing from RGBA to BGRa 2016-08-07 15:34:45 +02:00
homm
1b54e01736 Revert "temporary disable PCX P mode test due to errors in codec"
This reverts commit afff487084.
2016-08-07 13:48:01 +03:00
homm
993e49c0be Merge branch 'master' into rotation-pixel-center 2016-08-07 13:47:16 +03:00
Arjen Nienhuis
2ecbcce415 add unpacking from BRGa 2016-08-07 13:32:19 +03:00
wiredfool
ffa18c8efd Merge pull request #2011 from vlmath/master
Add ImageOps.scale to expand or contract a PIL image by a factor
2016-08-06 22:19:50 +01:00
wiredfool
879f864cd1 Merge pull request #2050 from hugovk/flake8
flake8 tests
2016-08-06 22:13:41 +01:00
wiredfool
0a8385f5e0 Merge pull request #2041 from uploadcare/pcx-encoding
PCX encoding fixes
2016-08-06 22:09:22 +01:00
Alexander Karpinsky
bc2c933552 Merge pull request #2052 from uploadcare/rotate-loading
Fix image loading when rotating by 0 deg
2016-08-05 19:35:06 +03:00
homm
3185262e31 fix image loading when rotating by 0 deg 2016-08-05 19:20:02 +03:00
hugovk
2c4a1209f4 flake8 2016-08-04 09:40:12 +03:00
homm
467f6cfcbb rename test 2016-07-29 12:47:36 +03:00
homm
978c37d699 add tests for different PCX encoding cases 2016-07-28 05:29:24 +03:00
homm
7a4847f457 all literals are bytes 2016-07-12 22:54:15 +03:00
homm
107307dfc9 do not use as_dict anywhere in tests except tests for as_dict warnings 2016-07-12 21:34:15 +03:00
homm
c2b4ff5fa4 skip empty values in ImageFileDirectory 2016-07-12 18:09:02 +03:00
homm
afff487084 temporary disable PCX P mode test due to errors in codec 2016-07-11 05:25:47 +03:00
homm
2221a6467c fix test which relied on old bugs 2016-07-11 01:47:25 +03:00
homm
5b8c8aa389 improve resize test 2016-07-11 00:47:58 +03:00
homm
1321713688 repeat all affine tests with PERSPECTIVE 2016-07-11 00:26:12 +03:00
homm
ad3f7238d2 add translate tests 2016-07-10 21:48:19 +03:00
homm
ac747d2290 resize transform tests 2016-07-10 16:09:33 +03:00
homm
2522101ed7 tests for 90 degree transformation 2016-07-10 15:23:01 +03:00
homm
1ba4e9e5ba remove end of file banner from all files 2016-07-10 14:11:28 +03:00
Marco De Donno
f19c52b5d5 Code style update 2016-07-06 10:21:00 +02:00
Marco De Donno
7d8fea012b Code style update 2016-07-06 01:32:16 +02:00
Marco De Donno
4d51a410d8 Add the test for factor = 1 and -1 2016-07-05 20:46:47 +02:00
Marco De Donno
7af3c4c3bc Add test for the ImageOps.scale function 2016-07-05 20:15:14 +02:00
wiredfool
e8c123c833 Merge pull request #1959 from uploadcare/new-filters
Add Box and Hamming filters for resampling
2016-07-05 12:25:57 +01:00
homm
af75f7ab40 test for reference counting 2016-07-05 00:17:11 +03:00
homm
c1da18e0ad do not allow to save images discarding alpha channel 2016-07-03 05:40:34 +03:00
homm
c36c5fcf0f fix access tests:
clean up global variable Image.USE_CFFI_ACCESS after tests
do not run tests twice via `test_put` and `test_get`
2016-07-03 04:33:14 +03:00
homm
66715246c1 remove mitchell filter. Has no advantages over bicubic 2016-07-02 01:54:39 +03:00
homm
a67e5453d5 add tests, fix errors ) 2016-07-02 01:54:39 +03:00
wiredfool
d553a9d603 Merge pull request #1996 from uploadcare/test-for-1986
Improve test for #1986
2016-06-30 20:16:54 +01:00
wiredfool
6c5cf14596 Merge pull request #1995 from wiredfool/move_j2k_check
Move test_j2k_overflow to check_j2k_overflow
2016-06-30 15:35:42 +01:00
wiredfool
3cb13f99cf rename large memory tests to remove test from name 2016-06-30 07:30:38 -07:00
wiredfool
872fd0652e Merge pull request #1846 from wiredfool/pr_1826
EPS + CMYK
2016-06-30 15:23:24 +01:00
wiredfool
da04d32a5b Merge pull request #1997 from wiredfool/32bit_test_precision
Fix 2 more failing tests on 32 bit due to float precision
2016-06-30 15:06:04 +01:00
homm
9c3bd46b36 improve test: compare all pixels, do not take color into account 2016-06-30 16:59:04 +03:00
Alexander Karpinsky
92660a1a05 Merge pull request #1986 from didrix/fix-1979-p2la
Fix issue converting P mode to LA
2016-06-30 17:43:53 +04:00
wiredfool
c057c4238e Fix 2 more failing tests on 32 bit due to float precision 2016-06-30 06:38:31 -07:00
wiredfool
5b13c38dd8 move overflow test to check, it is a DOS on 32bit machines 2016-06-30 06:28:29 -07:00
Alexander Karpinsky
639bdd3c02 Merge pull request #1991 from kkopachev/png-crc-error-ignore
Ability to skip crc checks for ancillary chunks
2016-06-30 17:25:04 +04:00
wiredfool
291c00c58a Merge pull request #1954 from uploadcare/skip-resampling-passes
Do not do unnecessary passes on resizing
2016-06-30 12:23:07 +01:00
Konstantin Kopachev
5f2fe6083c
CR feedback: don't use lambda 2016-06-29 17:29:55 -07:00
Konstantin Kopachev
885297d21f
Fix python 3 bytes to string concat error 2016-06-29 14:44:29 -07:00
wiredfool
41a747300f Merge pull request #1990 from AbdealiJK/ajk/test
test_imagecms: Reduce precision of extended info
2016-06-29 22:44:16 +01:00
wiredfool
ffcc067038 Merge pull request #1988 from wiredfool/iccprofile
Binary Tiff Metadata/ICC profile.
2016-06-29 22:35:03 +01:00
wiredfool
0ddb0f3c7f Merge pull request #1970 from uploadcare/ignore-decompression-dos
Ignore large text blocks in PNG if LOAD_TRUNCATED_IMAGES is enabled
2016-06-29 22:32:35 +01:00
Konstantin Kopachev
c3b970f046
Ability to skip crc checks for ancillary chunks 2016-06-29 12:24:37 -07:00
AbdealiJK
356926f825 test_imagecms: Reduce precision of extended info
In 32bit computers (when making wheels) it was found that the
precision of the extended information in test_extended_information() was
found to be lesser than what was being tested. This commit adds a helper
function which reduces the precision by truncating (multiplying by
10 ** digits, truncating to int and dividing by 10 ** digits) and then
testing the rtruncated numbers rather than the original numbers.
2016-06-28 21:14:34 +05:30
Diederik Veeze
95de0b6d05 Testing for p2la 2016-06-26 13:23:42 +02:00
wiredfool
c50503a14d API change/revert: Bytes should be returned as a single byte string, not a tuple of integers 2016-06-26 12:06:56 +01:00
wiredfool
a64c1674a1 Tests for issue #1462, #1834, #1831, #1910 2016-06-26 12:05:05 +01:00
wiredfool
1e2a27f00d Fixed broken test re: https://github.com/python-pillow/Pillow/issues/1462#issuecomment-210487186 2016-06-26 12:02:45 +01:00
wiredfool
97dbb5cd33 Merge pull request #1977 from kkopachev/jpeg-junk-header
Skip extra 0xff00 in jpeg
2016-06-25 15:30:19 +01:00
wiredfool
c1d25d9062 Merge pull request #1985 from wiredfool/palette
Use bytearray for mutable palette storage
2016-06-25 15:14:07 +01:00
wiredfool
95874635e1 Merge pull request #1984 from wiredfool/pr_1824
Pr 1824 rebase
2016-06-25 15:01:34 +01:00
wiredfool
0bc06f7944 Fix filename on py2.6 2016-06-25 14:50:40 +01:00
wiredfool
9e1b4aba9a These modes upconvert to 32bit I 2016-06-25 14:33:26 +01:00
Bryant Mairs
4f2836e218 Move constant to module level. 2016-06-25 12:20:37 +01:00
Bryant Mairs
7d5856bdf7 Corrects fromarray() datatype mapping for integer datatypes.
Currently failing for int16LE as of this commit.
2016-06-25 12:20:37 +01:00
Bryant Mairs
7fb24e8af0 Add test for reading and writing uint16 TIFFs. 2016-06-25 12:20:37 +01:00
Bryant Mairs
f51e90bf33 Create named constant for repeated values. 2016-06-25 12:19:12 +01:00
Bryant Mairs
51247fb7f0 Test all applicable numpy datatypes for Image.fromarray() 2016-06-25 12:19:12 +01:00
wiredfool
6a3acde001 Merge pull request #1909 from uploadcare/png-icc-profile
Get ICC profile from `encoderinfo` while PNG saving
2016-06-25 11:01:53 +01:00
Konstantin Kopachev
c8f93c979c
Skip extra 0xff00 in jpeg 2016-06-22 13:36:23 -07:00
homm
95402143fe ignore large text blocks in PNG if LOAD_TRUNCATED_IMAGES is enabled 2016-06-20 17:33:10 +03:00
homm
78fad0f819 Do not make unnecessary passes on resizing 2016-06-15 01:04:02 +03:00
Andrew Murray
3c2e374824 Added test 2016-06-09 22:28:29 +01:00
wiredfool
62551a8b49 Merge pull request #1933 from uploadcare/resample-vertical-pass
Resample horizontal + vertical pass
2016-06-08 14:14:41 +01:00
homm
f09067e45e add La mode (2 bands) to the test 2016-05-28 10:47:14 +03:00
homm
a1b12f792a improve CoreResampleAccuracy test. Use all bands configurations 2016-05-27 07:09:49 +03:00
homm
edc9880b61 accept RGBa and La modes for blur 2016-05-27 03:16:48 +03:00
wiredfool
13b8c1c70b test the output for a CMYK EPS image 2016-05-26 22:06:10 +01:00
wiredfool
3657bc10a6 Merge pull request #1889 from rr-/libpngquant
Add libimagequant support in quantize()
2016-05-26 21:12:25 +01:00
rr-
db989ad99b Add perceptive comparisons to quantization tests 2016-05-26 17:23:43 +02:00
homm
c4b92d09b7 support for La mode 2016-05-26 15:15:08 +03:00
homm
1ed5c59f23 tests for LA modes 2016-05-26 15:15:08 +03:00
homm
8947485e71 test dirty pixels 2016-05-26 15:15:08 +03:00
homm
05d1022e99 test for levels 2016-05-26 15:15:08 +03:00
homm
5ffd9e53bc use calloc and INT_MAX 2016-05-26 02:28:35 +03:00
homm
555d2ace49 add test for L 2016-05-26 02:07:56 +03:00
homm
f44a7f8b11 implement round
fix windows build
2016-05-26 02:07:56 +03:00
homm
e47002dec3 tests for 32bit modes 2016-05-26 02:07:56 +03:00
homm
9618ec98b8 test for consistency 2016-05-26 02:07:56 +03:00
Alexander Karpinsky
73c81404e6 Merge pull request #1920 from uploadcare/resampling-accuracy-tests
Tests for resampling accuracy
2016-05-26 02:05:15 +03:00
wiredfool
5839c3b9d1 Merge pull request #1921 from thebostik/decode_jpeg_qtable
More fixes related to custom jpeg qtables
2016-05-24 09:51:46 +01:00
wiredfool
1eedd2ef15 Merge pull request #1896 from radarhere/comment
Added support for GIF comment extension
2016-05-23 22:32:52 +01:00
Stephen Arthur
7872501c5b Added test cases to exhibit issues with custom qtables 2016-05-22 17:54:03 -07:00
homm
39fcd80b2e tests for resample accuracy 2016-05-21 23:58:54 +03:00
homm
1a6c6b1250 tests for icc profile in png 2016-05-12 20:31:54 +03:00
Andrew Murray
6de51536c4 Replaced mixed tabs and spaces with spaces 2016-05-10 22:23:23 +10:00
Andrew Murray
63ae7fbfe9 Removed unnecessary lambdas 2016-05-10 22:20:49 +10:00
Andrew Murray
8298fcce73 Added support for GIF comment extension 2016-05-07 13:57:40 +10:00
rr-
d471b35470 Fix typo 2016-05-06 23:29:53 +02:00
rr-
c5278000c5 Skip libimagequant's test if it's unavailable 2016-05-06 21:40:18 +02:00
wiredfool
9a4f6482b4 Merge pull request #1893 from wiredfool/tiff_check
Skip tests that require libtiff if it is not installed, fixes #1866
2016-05-06 17:19:54 +01:00
wiredfool
be2100be7b Skip tests that require libtiff if it is not installed, fixes #1866 2016-05-06 09:07:00 -07:00
wiredfool
3926bfb747 Skip test when icc profile is not available, fixes #1887 2016-05-06 08:58:40 -07:00
rr-
eb354be7c4 Add method=Image.LIBIMAGEQUANT for quantize() 2016-05-05 21:39:16 +02:00
wiredfool
42f7a08ca4 Merge pull request #1856 from radarhere/eafp
Combined duplicate code in ImageTk
2016-05-03 21:02:08 +01:00
wiredfool
a0602fb68c Merge pull request #1882 from wiredfool/pr_1840
Fix Transparency for PNG images
2016-05-03 19:51:04 +01:00
wiredfool
b2800b57a7 spelling typos 2016-05-03 19:46:22 +01:00
Andrew Murray
abdb848f08 Corrected filename [ci skip] 2016-05-03 19:23:51 +10:00
Andrew Murray
0b515ae3fa Added test for ImageTk _get_image_from_kw 2016-05-01 22:19:52 +10:00
wiredfool
460480dfff Merge pull request #1847 from wiredfool/revert-1813-DIB_1293
Revert 1813, plus second commit with tweaks.
2016-05-01 10:31:59 +01:00
wiredfool
9f9436ca2f Merge pull request #1871 from wiredfool/pr_1865
Rebased #1865 + 1 test
2016-05-01 10:14:08 +01:00
wiredfool
219182beda Removing all transparency from the test image 2016-04-29 21:17:18 +01:00
wiredfool
6f92a5adc0 Tests for LA mode looping through numpy 2016-04-29 21:03:24 +01:00
Pierrick Koch
cb42a9383c [Test] image array add LA mode test 2016-04-29 21:03:24 +01:00
wiredfool
300ca19a0e Merge pull request #1854 from hugovk/tga-rle
Test TGA RLE file
2016-04-29 20:44:32 +01:00
wiredfool
12bfb976bd Merge pull request #1855 from hugovk/tiff-lzw
Test TIFF with LZW compression
2016-04-29 20:43:10 +01:00
hugovk
11b8faa761 Update RTD links https://blog.readthedocs.com/securing-subdomains/ 2016-04-28 09:35:03 +03:00
hugovk
839c52b96a flake8 2016-04-21 23:13:10 +03:00
hugovk
311f8f6a9c Test TIF with LZW compression 2016-04-21 23:10:08 +03:00
hugovk
272f11434d convert hopper.png -compress lzw hopper_lzw.tif 2016-04-21 23:09:23 +03:00
hugovk
31b05ce82c Test TGA RLE file 2016-04-21 17:49:35 +03:00
hugovk
ad299ea9e5 Source: https://samples.libav.org/image-samples/TGA/ 2016-04-21 17:49:25 +03:00
wiredfool
0507192a77 Comments for future people investigating alpha and DIBs 2016-04-19 20:36:25 +01:00
wiredfool
23a847c532 Fixes DIB image format
The DIB image format uses the 40 byte BMP header, followed by 3 masks
for RGB channels. We were reading 4 masks, consuming the first pixel
of the image.

Mostly fixes issue #1293. Remaining issue: alpha channel is actually a
transparency mask.
2016-04-19 20:17:36 +01:00
wiredfool
ae6c46ea92 Merge pull request #1814 from thebostik/jpeg-qtable-bounds
Valid range for baseline jpeg qtables 0 to 255
2016-04-19 16:48:03 +01:00