Commit Graph

8372 Commits

Author SHA1 Message Date
Hugo
b41ffe585b Remove deprecated ImageOps functions 2019-01-19 20:00:55 +02:00
Hugo
dbbe463326 Remove deprecated PIL.OleFileIO in favour of olefile Python package 2019-01-19 17:59:17 +02:00
Andrew Murray
1afcdb2c34 Fixed JS errors in local Sphinx build 2019-01-19 20:39:13 +11:00
Andrew Murray
be99470b29 Moved docs JS file into custom directory 2019-01-19 20:27:11 +11:00
Andrew Murray
75c7504d93 Added Ghostscript to AppVeyor 2019-01-17 11:15:42 +11:00
Andrew Murray
221c2cb7a7 Moved before_install before install 2019-01-16 07:11:27 +11:00
Andrew Murray
0481d0ac1e Seek to IFD offset 2019-01-16 06:55:37 +11:00
Hugo
8e4d547195
Merge pull request #3583 from radarhere/raise
Revert "Use bare 'raise' to re-raise exceptions"
2019-01-15 18:13:12 +02:00
Hugo
a478c213a7
Merge pull request #3585 from hugovk/fix-travis
Fix Travis CI: Only start Xvfb for Qt builds
2019-01-15 16:16:23 +02:00
Hugo
e3795cae89
Merge pull request #26 from radarhere/fix-travis
Start Xvfb for Trusty and use the service for Xenial
2019-01-15 14:01:09 +02:00
Andrew Murray
d7476e15db Start xvfb for Trusty and use the service for Xenial 2019-01-15 22:13:45 +11:00
Hugo
ea60256b3b Only start Xvfb for Qt builds 2019-01-15 11:37:17 +02:00
Andrew Murray
06f47ea546 Revert "Use bare 'raise' to re-raise exceptions"
This reverts commit 80e96b2c7b.
2019-01-14 21:55:47 +11:00
Andrew Murray
811a6ae9f2
Merge pull request #3575 from jdufresne/bare-raise
Use bare 'raise' to re-raise exceptions
2019-01-14 15:39:20 +11:00
Andrew Murray
e4062fcced
Merge pull request #3582 from python-pillow/update-docs
Docs: Release history is visible at PyPI
2019-01-14 07:40:12 +11:00
Hugo
5e18bbdaef
Release history is visible at PyPI
Now available since the PyPI (aka Warehouse) redesign
2019-01-13 20:58:22 +02:00
Jon Dufresne
c41ec5b115 Fix 'BytesWarning: Comparison between bytes and string' in PdfDict
When bytes warnings are enabled with the '-b' argument, the PdfDict
class would emit a warning.
https://docs.python.org/3/using/cmdline.html#miscellaneous-options

> -b
>
> Issue a warning when comparing bytes or bytearray with str or bytes
> with int.

Object attributes are always type str, so can safely encode them without
a type check. Observe:

    $ python3
    >>> o = object()
    >>> setattr(o, b'foo', b'bar')
    Traceback (most recent call last):
      File "<stdin>", line 1, in <module>
    TypeError: attribute name must be string, not 'bytes'
2019-01-13 09:38:13 -08:00
Jon Dufresne
7da17ad41e Improve pytest configuration to allow specific tests as CLI args
The previous test configuration made it difficult to run a single test
with the pytest CLI. There were two major issues:

- The Tests directory was not a package. It now includes a __init__.py
  file and imports from other tests modules are done with relative
  imports.

- setup.cfg always specified the Tests directory. So even if a specific
  test were specified as a CLI arg, this configuration would also always
  include all tests. This configuration has been removed to allow
  specifying a single test on the command line.

Contributors can now run specific tests with a single command such as:

  $ tox -e py37 -- Tests/test_file_pdf.py::TestFilePdf.test_rgb

This makes it easy and faster to iterate on a single test failure and is
very familiar to those that have previously used tox and pytest.

When running tox or pytest with no arguments, they still discover and
runs all tests in the Tests directory.
2019-01-13 09:00:12 -08:00
Jon Dufresne
e19d8dd84b Add linting to the tox matrix
Allows contributors to easily run the lint stage with a single command:
`tox -e lint`. This creates shorter round trips with CI in case of an
error.

Update the Travis configuration to use the new environment to run lint.
This allows using a single/common source of truth to reduce differences
between Travis and local testing.

The tox environment uses the skip_install feature as static analysis
doesn't requiring install the Pillow package itself to run. This feature
requires tox 1.9 (2015-02-24), so a minimum tox version was added to the
configuration.

https://tox.readthedocs.io/en/latest/config.html#conf-skip_install
2019-01-13 08:55:06 -08:00
Hugo
b62ff510aa
Merge pull request #3562 from hugovk/update-release-checklist
Update release checklist
2019-01-13 16:42:28 +02:00
Hugo
032efc2b23
Merge pull request #3573 from jdufresne/del
Python del is a statement not a function
2019-01-13 10:57:45 +02:00
Jon Dufresne
80e96b2c7b Use bare 'raise' to re-raise exceptions
Slightly more concise and nicer syntax
2019-01-12 18:45:37 -08:00
Jon Dufresne
51e95f6252 Catch BaseException for resource cleanup handlers
In the event of a SystemExit or KeyboardInterrupt, file resources should
still be cleaned up before re-raising the exception.

https://docs.python.org/3/library/exceptions.html#exception-hierarchy
2019-01-12 18:32:14 -08:00
Jon Dufresne
3e28ba3b7d Python del is a statement not a function
https://docs.python.org/3/reference/simple_stmts.html#the-del-statement
2019-01-12 18:28:35 -08:00
Jon Dufresne
a00fc33c04 Replace .seek() magic numbers with io.SEEK_* constants
A bit more readable.

https://docs.python.org/3/library/io.html#io.IOBase.seek
2019-01-12 18:22:07 -08:00
Jon Dufresne
a08bfa6e9f Make ContainerIO.isatty() return a bool, not int
Better follows the interface of IOBase.isatty:

https://docs.python.org/3/library/io.html#io.IOBase.isatty
2019-01-12 16:48:05 -08:00
Hugo
503138c857
Merge pull request #3559 from jdufresne/in-place-bool
Use bool type for ImageCms inPlace argument (instead of int)
2019-01-12 23:59:15 +02:00
Hugo
d442996fc3
Merge pull request #3560 from jdufresne/numpy
Install optional dependencies in tox environment
2019-01-12 23:50:38 +02:00
Hugo
5ab266e165
Merge pull request #3571 from jdufresne/setup-tkinter
Remove unused _tkinter var from setup.py
2019-01-12 23:49:25 +02:00
Jon Dufresne
eccef43837 Remove unused _tkinter var from setup.py
Unused since 659e294676.
2019-01-11 20:27:44 -08:00
Andrew Murray
7acaf3d6a6 Added support for I;16 modes for more transpose operations 2019-01-10 07:26:52 +11:00
Jon Dufresne
45740b4a28 Install optional dependencies in tox environment
Improves test coverage by reducing skipped tests when testing through
tox.
2019-01-07 21:12:07 -08:00
Jon Dufresne
0ae7b3374e Use bool type for ImageCms inPlace argument (instead of int)
The argument is used as a bool and the docs describe it as a bool, so
use an actual bool.
2019-01-07 20:22:52 -08:00
Andrew Murray
4e0a73b4fa Allow for unknown PNG chunks after image data 2019-01-08 07:21:25 +11:00
Hugo van Kemenade
7bf5246b93
Merge pull request #3554 from jdufresne/test-str
Remove unused PillowTestCase.__str__
2019-01-07 08:46:40 +02:00
cgohlke
c0f4382af2
Add TIFF compression codecs: LZMA, Zstd, WebP 2019-01-06 19:49:00 -08:00
Jon Dufresne
8a05aae988 Remove unused PillowTestCase.__str__
With the move to pytest, the class's string method is unused. pytest has
its own test progress outputter.
2019-01-06 15:18:18 -08:00
Hugo
683ea38a4e Single backticks for inline code in Markdown (double in RST) 2019-01-06 17:26:47 +02:00
Hugo
ef85d67f21 Make code blocks copy/pastable 2019-01-06 17:25:39 +02:00
Hugo
f77c5d48b4 Add command to download distributions from container 2019-01-06 17:21:08 +02:00
Hugo
7eebcbc968 Put username in code to prevent spamming when pasting checklist into release issue 2019-01-06 17:21:08 +02:00
Hugo
38df53208a Check out release branch before cherry picking 2019-01-06 17:21:08 +02:00
Hugo
0a323d2aae Ignore output of viewdoc (run by 'make release-test') 2019-01-06 17:21:08 +02:00
Hugo van Kemenade
b97f9c4fcf
Merge pull request #3524 from hugovk/check-manifest-on-ci
CI: Run check-manifest in lint job
2019-01-06 16:13:16 +02:00
Hugo van Kemenade
304800497a
Update CHANGES.rst
[CI skip]
2019-01-06 12:59:34 +02:00
Hugo van Kemenade
e946ee48a3
Merge pull request #3553 from radarhere/releasenotes
Added release notes for #3540
2019-01-06 12:56:44 +02:00
Hugo van Kemenade
4d1be57256
Merge pull request #3540 from radarhere/fp
Only close __fp if not fp
2019-01-06 12:53:04 +02:00
Hugo van Kemenade
39cd976492
Apply suggestions from code review
Co-Authored-By: radarhere <3112309+radarhere@users.noreply.github.com>
2019-01-06 21:29:54 +11:00
Andrew Murray
93a2dce8f9 Added release notes for #3540 [ci skip] 2019-01-06 16:00:51 +11:00
Hugo
0f09274690 Remove more unused hashtable functions 2019-01-05 22:26:35 +02:00