Commit graph

308 commits

Author SHA1 Message Date
Paul Ingemi
505344f83e
Add Windows support for paths containing wildcards "*" and "?"
Img2pdf accepts paths containing wildcards such as *.jpg to efficiently refer
to multiple input files that match the wildcard expression. Under POSIX
environments the command line shell is expected to perform this expansion,
however Windows requires the command line utility itself to expand the
wildcard expression.

Ideally this would be performed by argparse as described in this draft PEP:
https://mail.python.org/pipermail/python-ideas/2015-August/035244.html

Since argparse doesn't do it, this commit performs expansion directly.

Some implementation notes:
 - Wildcard characters "*" and "?" are not valid in Windows filenames
 - Code doesn't support bracket wildcards such as [0-3] on Windows since
   they are valid filename characters
 - Due to expansion, the images list collected by argparse may contain
   sub-lists. Code uses chain.from_iterable to create a flat list.
 - Paths that refer to non-existant files raise an error message, while
   wildcards that match no files are silently ignored.
2020-10-05 10:28:08 +02:00
Anna Levenberg
32b4ed1f43
Add check for empty list 2020-09-22 16:23:17 +02:00
b2c3b641db
fix typo: complient -> compliant 2020-08-27 02:48:26 +02:00
c4fb1d886f
remove magick.py and test.sh 2020-08-27 00:56:32 +02:00
11907242a5
src/img2pdf_test.py: we create our own channel-switching ICC profile 2020-08-09 22:03:47 +02:00
692b54ac67
release version 0.4.0 2020-08-07 08:05:27 +02:00
cc79581e2c
.travis.yml: install icc-profiles-free 2020-08-07 00:41:42 +02:00
c7db805dee
don't use /usr/share/color/icc/ghostscript/srgb.icc but /usr/share/color/icc/sRGB.icc because the former converts from sRGB to CIE LAB and PDF/A requires a profile from CIE LAB to sRGB (closes: #78) 2020-08-07 00:20:44 +02:00
f0b57985ee
first stab at embedding ICC profiles 2020-08-07 00:13:53 +02:00
1ba02bf838
src/img2pdf_test.py: use json output instead of -verbose everywhere (the former is for machines, the latter for human consumption and can change without notice) 2020-08-06 20:25:20 +02:00
042aac71eb
reformat with black 2020-08-05 08:13:52 +02:00
7da0a00ef3
src/img2pdf_test.py: replace jpg_img check by json output 2020-08-05 08:11:39 +02:00
67dca425d1
.travis.yml: remove jpeg2000 check 2020-08-05 01:15:51 +02:00
86fddab622
src/img2pdf_test.py: check for JP2 support 2020-08-05 01:12:59 +02:00
c229e20547
.travis.yml: test for jpeg2000 support 2020-08-05 00:57:30 +02:00
a53fed5d17
.travis.yml: really switch to focal 2020-08-05 00:50:45 +02:00
788102ee05
.travis.yml: use focal 2020-08-05 00:48:15 +02:00
d92790ad26
try ghostscript version shaningans 2020-08-05 00:10:00 +02:00
f0e7e8daaf
.travis.yml: try xenial 2020-08-05 00:00:00 +02:00
9bd41dba1e
src/img2pdf_test.py: check that psnr is not zero 2020-08-04 23:54:11 +02:00
6c742be642
src/img2pdf_test.py: cater for json output of imagemagick before 6.9.9.34 2020-08-04 23:29:42 +02:00
7ccd987d6d
.travis.yml: use bionic instead of xenial 2020-08-04 13:15:43 +02:00
c506cf0b8d
try to use json output instead of identify -verbose 2020-08-04 13:07:40 +02:00
fbb51d9083
tighten minimum imagemagick version for quantum:polarity=min-is-black 2020-08-04 09:30:03 +02:00
593aeb5d2d
appveyor.yml: install pyinstaller to create an exe 2020-08-04 08:03:34 +02:00
c62ed4d691
appveyor.yml: install wheel for bdist_wheel 2020-08-04 07:54:18 +02:00
2493af173c
tox.ini: also remove support for py34 (fails to compile pikepdf) 2020-08-04 07:45:39 +02:00
a39beb5c5e
tox.ini: remove jython and pypy 2020-08-03 23:27:04 +02:00
7a72c38c3d
appveyor.yml: run tox 2020-08-03 23:26:15 +02:00
1d5be0cc9d
src/img2pdf_test.py: also catch subprocess.CalledProcessError 2020-08-03 18:46:58 +02:00
e151ca27eb
src/img2pdf_test.py: skip tests on win32 and macos 2020-08-03 18:45:40 +02:00
7aed0ea0d0
src/img2pdf_test.py: fixes for Ubuntu Trusty 2020-08-03 18:31:55 +02:00
bed0b4cdae
src/img2pdf_test.py: check for mutool >= 1.10.0 2020-08-03 16:04:58 +02:00
53e991bec2
.travis.yml: add dependency on mupdf-tools 2020-08-03 15:06:35 +02:00
11f7db5003
src/img2pdf_test.py: explicitly convert PosixPath to str 2020-08-03 15:04:51 +02:00
000fc3b5ac
remove obsolete src/tests/__init__.py 2020-08-03 14:56:32 +02:00
78bd869b10
.travis.yml: install additional dependencies 2020-08-03 14:50:38 +02:00
0992832ab0
src/img2pdf_test.py: explicitly convert PosixPath to str 2020-08-03 14:49:58 +02:00
1d0e4c5272
.travis.yml: install imagemagick 2020-08-03 14:13:45 +02:00
bfd822b74e
.travis.yml: install tox 2020-08-03 14:03:00 +02:00
2c8e417c51
run tox on travis 2020-08-03 14:01:25 +02:00
66fd7cc765
rename test.py -> src/img2pdf_test.py 2020-08-03 12:34:02 +02:00
5b7f93bb9a
do not allow negative values in parse_num() 2020-08-03 12:25:14 +02:00
a2d846052e
document pytest in HACKING, tox.ini and .travis.yml 2020-08-03 12:24:41 +02:00
a84a1b8480
add test.py 2020-06-06 01:19:30 +02:00
663010ca61
src/img2pdf.py: tiny logic error 2020-06-06 01:19:30 +02:00
802dd4b1f3
magick.py: prevent floyd_steinberg() from modifying its input 2020-06-03 00:15:55 +02:00
93f65a49c9
add --pdfa argument to attach an icc profile for PDF/A-1b compliant output 2020-06-01 02:10:07 +02:00
bca3f802ac
Add support for pikepdf 2020-05-31 17:18:02 +02:00
65d9aed630
test.sh: compare uncompressed contents 2020-05-31 09:08:00 +02:00