Commit Graph

839 Commits

Author SHA1 Message Date
Konstantin Kopachev
0704367952
Add more parenthesis to make statement clearer 2018-08-12 21:44:25 -07:00
Andrew Murray
e3aaa80c06 Added NumPy to documentation 2018-08-12 13:58:26 +10:00
Andrew Murray
046df78448 Fixed typos 2018-08-11 16:39:49 +10:00
Konstantin Kopachev
84b32a0388
Read/Save RGB webp as RGB (instead of RGBX) 2018-08-09 11:40:10 -07:00
Andrew Murray
1648676435 Fixed typo [ci skip] 2018-08-09 20:54:16 +10:00
yo1995
a221420ec3 fixe typo 2018-08-06 19:36:18 +08:00
yo1995
8676044a27 fix docstring tab 2018-08-06 18:47:49 +08:00
yo1995
24388addb6 feature improvement: improved performance of ImageDraw.floodfill with Python built-in set() datatype. 2018-08-06 18:13:57 +08:00
Hugo
f70f952f85
Merge branch 'master' into add-width-to-shapes 2018-07-14 14:58:48 +03:00
tsennott
50d6611587 moved tuple test to assert method in PillowTestCase; added docs 2018-07-09 07:04:48 -07:00
tsennott
1eed17c70e tightened up colorize(); split tests; moved tuple comparison fcn to helper.py 2018-07-08 20:09:39 -07:00
tsennott
4a6ec5ca72 updated colorize to allow optional black/white positions; enhanced tests 2018-07-07 18:19:26 -07:00
tsennott
b19c460568 fixed mapping function, now smooth 2018-07-06 19:49:07 -07:00
tsennott
3c6fd275c8 added assert for midpoint range 2018-07-06 19:09:57 -07:00
tsennott
adf570a77e adding tests, updated docstring and comments 2018-07-06 18:42:16 -07:00
tsennott
63d8637bb8 adding three-color feature to ImageOps.colorize 2018-07-06 18:18:06 -07:00
Hugo
5d751572cc
Merge pull request #2922 from radarhere/fill_ink
Skip outline if the draw operation fills with the same colour
2018-07-02 22:19:35 +03:00
Hugo
959db43d22
Merge pull request #3173 from radarhere/flake8
Flake8 fixes
2018-07-02 21:42:17 +03:00
Hugo
4d88e2852e
Merge pull request #2187 from jdufresne/open-warning
Avoid deprecated 'U' mode when opening files
2018-07-02 21:34:32 +03:00
Andrew Murray
2630054266 Removed unused import 2018-07-02 19:26:07 +10:00
Andrew Murray
c2189235af Line too long 2018-07-02 19:26:02 +10:00
Andrew Murray
145589ef14 Ambiguous variable name 'l' 2018-07-02 19:21:44 +10:00
Andrew Murray
e7cfa15216 Visually indented line with same indent as next logical line 2018-07-02 19:21:44 +10:00
Andrew Murray
0e61d4be9f Removed unused variables 2018-07-02 19:21:44 +10:00
Andrew Murray
32cebddd1e Multiple imports on one line 2018-07-02 19:21:44 +10:00
Andrew Murray
e7815ccd62 Block comment should start with '# ' 2018-07-02 19:21:44 +10:00
Andrew Murray
fe42591f5f Removed redundant backslash between brackets 2018-07-02 19:20:48 +10:00
Andrew Murray
5a33e02072 Commented unused variable 2018-07-02 19:20:48 +10:00
Andrew Murray
bf29960283 Fixed multiple spaces after operator 2018-07-02 19:20:48 +10:00
Hugo
d6e3ef85c2 Add width parameter to arc, chord, ellipse, pieslice 2018-07-02 11:26:42 +03:00
Hugo
9dedbff713 Add width parameter to rectangle 2018-07-02 11:21:30 +03:00
Hugo
ae9f62040d 5.3.0.dev0 version bump 2018-07-02 10:26:56 +03:00
Hugo
c28bf86b7e 5.2.0 version bump 2018-07-01 22:40:29 +03:00
Hugo
c222df2b56
Merge pull request #3137 from radarhere/pdf
Fixed saving a multiframe image as a single frame PDF
2018-07-01 22:18:48 +03:00
Hugo
8e3c450de2
Merge pull request #3143 from radarhere/qt
If a Qt version is already imported, attempt to use it first
2018-07-01 22:16:05 +03:00
Hugo
af552801c2
Merge pull request #3186 from danpla/tga-write-rle
TGA: Add support for writing RLE data
2018-07-01 22:00:03 +03:00
Hugo
80d399a485
Merge pull request #3178 from danpla/tga-la
TGA: Read and write LA data
2018-07-01 21:57:10 +03:00
Hugo
abae745da1
Merge pull request #3114 from tianyu139/hotfix
Fixed bug in ImageDraw.multiline_textsize()
2018-07-01 21:34:45 +03:00
Hugo
490464010a
Merge pull request #3113 from tianyu139/develop
Added getsize_multiline support for PIL.ImageFont
2018-07-01 21:33:21 +03:00
Hugo
d97e16c903
Merge pull request #3190 from radarhere/mimetype
Added ImageFile get_format_mimetype method
2018-07-01 21:19:57 +03:00
Hugo
cebcc06a1b
Merge pull request #3216 from radarhere/mmap
Changed mmap file pointer to use context manager
2018-07-01 20:59:54 +03:00
Jon Dufresne
1ba14783d2 Avoid deprecated 'U' mode when opening files
Instead, use PSFile() wrapper to handle all newline in the EPS spec.

Update line ending tests to handle all combinations of '\n' and '\r'.

Fixes warning "DeprecationWarning: 'U' mode is deprecated" in tests.
2018-07-01 08:07:59 -07:00
Martin Thoma
32e721498a
Use cls instead of klass as first argument
This is captured by N804 / https://www.python.org/dev/peps/pep-0008/?#function-and-method-arguments
of PEP8
2018-07-01 14:10:58 +02:00
Alex Clark
17be81f53d
Merge pull request #3218 from hugovk/update-docstrings
Update docstrings
2018-07-01 07:50:07 -04:00
Hugo
2b09e7fa6a
Merge pull request #3099 from uploadcare/lut-numpy
NumPy support for LUTs
2018-07-01 13:18:03 +03:00
Hugo
d52fd2b79b
Merge pull request #3217 from radarhere/pop
Simplified dictionary pop
2018-07-01 12:49:32 +03:00
Hugo
36be37c5c5 update package and version module docstrings
Co-authored-by: gnbl <gnbl@github>
2018-07-01 10:45:08 +03:00
Hugo
87d38a6dde
Merge pull request #2946 from hugovk/2944-exif
Only extract first Exif segment
2018-07-01 07:53:17 +03:00
Hugo
5dda23d547
Merge pull request #3135 from hugovk/test-imagedraw2
Test ImageDraw2
2018-07-01 07:48:54 +03:00
Andrew Murray
4d59941608 Simplified dictionary pop 2018-07-01 14:47:48 +10:00
Andrew Murray
c971bac651 Changed mmap file pointer to use context manager 2018-07-01 12:19:30 +10:00
Andrew Murray
dbf899fb78 Removed manual determination of mmap file length 2018-07-01 12:09:23 +10:00
Alex Clark
eafbb395a9
Merge pull request #1817 from radarhere/gd
Added GD tests
2018-06-30 18:01:36 -04:00
Alex Clark
9e5494e9a6
Merge pull request #3123 from hugovk/collections.abc-deprecationwarning
Fix collections ABCs DeprecationWarning in Python 3.7
2018-06-30 18:00:10 -04:00
Hugo
2be5c035fb
Merge pull request #3201 from landfillbaby/patch-1
unpack_from is faster than unpack of slice
2018-06-30 23:12:43 +03:00
Andrew Murray
6793b5bbd5 Added ImageFile get_format_mimetype method 2018-06-30 21:08:41 +10:00
Andrew Murray
d9653a48c7 Added file handling links in documentation 2018-06-30 16:44:59 +10:00
Lucy Phipps
98cff5320a unpack_from is faster than unpack of slice 2018-06-24 18:00:22 +01:00
Andrew Murray
7274636a7e Added coordinate system links in documentation 2018-06-24 14:34:01 +10:00
Daniel Plakhotich
1d20056234 TGA: Add support for writing RLE data 2018-06-15 23:01:06 +03:00
Daniel Plakhotich
39fae6e077 TGA: Read and write LA data 2018-06-14 12:18:08 +03:00
Hugo
3c032a3809
Merge pull request #3171 from radarhere/save
Corrected argument name in documentation
2018-06-14 09:31:31 +03:00
Hugo
aaa2560374
Merge pull request #3164 from radarhere/fill
Improved Image.transform documentation
2018-06-14 09:27:37 +03:00
Hugo
48dda53c12
Merge pull request #3163 from radarhere/fillcolor
Fixed transform fillcolor argument when image mode is RGBA or LA
2018-06-14 09:25:00 +03:00
Andrew Murray
a73dcf42ad Corrected argument name in documentation 2018-06-12 04:42:25 +10:00
Andrew Murray
ae2ffb8a05 Fixed transform fillcolor argument when image mode is RGBA or LA 2018-06-12 04:41:46 +10:00
Andrew Murray
62c870f5cf Fixed raising of no exception 2018-06-12 04:41:31 +10:00
Andrew Murray
15a4aaec7c Improved Image.transform documentation [ci skip] 2018-06-08 22:04:13 +10:00
Andrew Murray
1947d65c7b Removed unnecessary init method 2018-06-03 16:43:30 +10:00
Andrew Murray
30b292c6d8 Corrected argument name in documentation 2018-06-01 20:18:41 +10:00
Hugo
9050b47169 Not in this version, not in any version 2018-05-31 15:11:50 +03:00
Andrew Murray
3d82672404 Added getrgb hsb color string 2018-05-31 06:14:29 +10:00
Andrew Murray
b50f63430f Added getrgb hsv color string 2018-05-31 06:13:22 +10:00
Andrew Murray
adda3b7473 Allow float values in getrgb hsl color string 2018-05-30 21:00:44 +10:00
Andrew Murray
821862c401 If a Qt version is already imported, attempt to use it first 2018-05-29 21:21:53 +10:00
Andrew Murray
3bbd0a5810 Fixed saving a multiframe image as a single frame PDF 2018-05-18 22:15:45 +10:00
Hugo
3dbd4fb9e8 Fix DeprecationWarning in Python 3.7 2018-05-06 15:31:43 +03:00
Andrew Murray
765a6c7e74 Updated redirected URLs 2018-04-30 14:20:32 +10:00
Andrew Murray
f77adb5ab3 Replaced broken URLs with archive URLs 2018-04-30 11:01:09 +10:00
Hugo
de6baf65f3 Clarify PILLOW_VERSION will be removed after VERSION 2018-04-25 11:24:50 +03:00
Hugo
ef9bf76ce8 PILLOW_VERSION will be removed in a future release 2018-04-25 11:24:50 +03:00
Hugo
34d66494ca Keep Image.VERSION here 2018-04-25 11:21:38 +03:00
Hugo
d80ed2e948 Deprecate PILLOW_VERSION and VERSION, use __version__ instead 2018-04-25 11:21:38 +03:00
Hugo
e33dd498f5 Prefer more conventional __version__ rather than PILLOW_VERSION 2018-04-25 11:21:38 +03:00
tianyu
d6926009d0 Fixed bug: ImageDraw.multiline_textsize() returning wrong size by adding extra spacing 2018-04-24 22:54:27 +08:00
tianyu
b77e89b286 Added getsize_multiline support for ImageFont 2018-04-24 22:26:52 +08:00
Hugo
04a1f71b4c
Merge pull request #3105 from radarhere/py3
Change Python version checks to use util
2018-04-22 18:37:33 +03:00
Andrew Murray
b4e6cdadac Added py3 variable to _util 2018-04-20 09:19:13 +10:00
Andrew Murray
bf77bba323 Changed dictionary comprehension style 2018-04-18 16:00:57 +10:00
Andrew Murray
cbc056f43d Fixed whitespace 2018-04-18 16:00:57 +10:00
Andrew Murray
06f4cd62ad Removed redundant backslashes 2018-04-18 16:00:18 +10:00
Andrew Murray
30c9ca15fb Fixed docstrings 2018-04-18 16:00:17 +10:00
Alexander
5ec1b2e8ba versionadded 2018-04-14 18:48:06 +03:00
Alexander
c8405ef706 Transparently store numpy arrays in ColorLut 2018-04-14 18:16:28 +03:00
Alexander Karpinsky
b01ba0f50c
Merge pull request #3091 from uploadcare/lut-alter
Transforming LUTs
2018-04-14 18:08:52 +03:00
Alexander
854a0d6044 edit doctring [ci skip] 2018-04-14 15:03:34 +03:00
Alexander
68af72bef4 edit doctring [ci skip] 2018-04-13 10:07:51 +03:00
Alexander
d9b8d970b2 edit doctring [ci skip] 2018-04-12 23:42:47 +03:00
Alexander
daa8e7dacd Add earlier catching of wrong channels count 2018-04-12 12:40:40 +03:00
Alexander
1a371e572c update repr method 2018-04-12 12:10:28 +03:00
Alexander
75c76d91e1 Add repr for Color3DLUT 2018-04-12 11:54:54 +03:00
Alexander
70c453b857 rename alter() to transform()
add with_normals argument
docstring
2018-04-11 16:17:10 +03:00
Alexander
dcb37dd1f1 new method alter(); 3 times faster generate() 2018-04-11 16:15:10 +03:00
Hugo
215b0e0833
Merge pull request #3086 from radarhere/info
Change encoderinfo to have priority over info when saving GIF images
2018-04-11 15:23:19 +03:00
Andrew Murray
05c78a13e7 Changed encoderinfo to have priority over info when saving GIF images 2018-04-11 08:57:31 +10:00
Alexander
6958ce1700 Rename PIL.version to PIL._version and remove it from module 2018-04-09 16:09:36 +03:00
Alexander Karpinsky
e24fad40ad
Merge pull request #3056 from uploadcare/color-LUT
3D Color lookup tables
2018-04-09 10:41:44 +03:00
Hugo
0567a54cd7
Merge pull request #3057 from storesource/RotateImagewithColor
Enabling background colour parameter on rotate
2018-04-05 09:45:22 +01:00
Jon Dufresne
85ff61f4dc Remove unused Python class, Path
The class is always overridden by the C implementation. The Python
implementation is unused.
2018-04-03 20:57:30 -07:00
Eric Soroos
0b578f25d5 5.1.0 version bump 2018-04-02 10:23:36 +00:00
Alexander
4231038132 Remove unused imports 2018-04-01 19:52:39 +03:00
Alexander
912980c52f Remove Color3DLUT.from_cube_file from сore library 2018-03-31 19:56:09 +03:00
Alexander
805dc44707 improve color cube parser 2018-03-30 11:29:59 +03:00
Alexander
e304a0d501 add tests, fix error messages 2018-03-30 09:57:54 +03:00
Alexander
aa929dda98 from_cube_file + test 2018-03-30 02:02:37 +03:00
Alexander
7f0bbf52e3 Python3 fix 2018-03-29 17:37:00 +03:00
Alexander
622749530b Color3DLUT.generate 2018-03-29 17:26:21 +03:00
Alexander
506995d816 Tests for python API 2018-03-29 16:37:35 +03:00
Alexander
461a090405 Python interface 2018-03-29 14:40:34 +03:00
storesource
f358038968
modify comment 2018-03-27 19:03:35 +05:30
storesource
bca6c4384f
Added review Changes
Changed parameter name to fillcolor
Added full stop on param description
2018-03-27 19:01:33 +05:30
storesource
a42beccee7
Enabling background colour parameter on rotate
Enabling the user to choose the background colour of the final rotated image rather than just black. 
parameter added: backgroundcolor
2018-03-26 19:29:44 +05:30
wiredfool
0e9f07def9
Merge pull request #3042 from hugovk/3006-parser-feed
Fix TypeError for JPEG2000 parser feed
2018-03-21 07:56:23 +00:00
wiredfool
d173e81798
Merge pull request #3023 from kkopachev/issue-3022
Certain corrupted jpegs can result in no data read
2018-03-21 07:55:17 +00:00
wiredfool
f504cbe642
Merge pull request #3007 from jleclanche/feat/blp
Add support for BLP file format
2018-03-21 07:54:29 +00:00
wiredfool
c004b6beaa
Merge pull request #2998 from hugovk/simplify-version-checks
Simplify version checks
2018-03-21 07:50:51 +00:00
wiredfool
659824773b
Merge pull request #2996 from timgraham/invalid-escape
Fix "invalid escape sequence" warning on Python 3.6+
2018-03-21 07:50:34 +00:00
Andrew Murray
2123dd70fb Allow append_images to set .icns scaled images 2018-03-19 19:38:07 +11:00
Hugo
d61921455e Prevent TypeError for JPEG2000 parser feed 2018-03-18 11:13:33 +02:00
Hugo
ddc9e73b47
Merge pull request #2965 from vashek/master
Support appending to existing PDFs
2018-03-13 11:30:25 +02:00
Hugo
13767f045f Use named version attributes and simplify version checks 2018-03-12 10:35:29 +02:00
Andrew Murray
6af53a7303 Improved efficient saving by copying the saved image, instead of saving the same image twice 2018-03-11 22:14:49 +11:00
Andrew Murray
de80b8f36b Fixed efficient saving 2018-03-11 22:01:06 +11:00
Konstantin Kopachev
1e9e64c8b0
Move jpeg-specific eof-processing to jpeg plugin 2018-03-06 22:52:08 -08:00
wiredfool
3a77758d9a Convert BlpImagePlugin to use Pydecoder framework 2018-03-06 18:16:26 +02:00
Jerome Leclanche
73d7fff16e blp: Separate BLP1 and BLP2 decoding more cleanly 2018-03-06 18:16:26 +02:00
Jerome Leclanche
fcba3583c3 blp: Simplify dxt1/dxt3/dxt5 decoding 2018-03-06 18:16:26 +02:00
Jerome Leclanche
adaa703576 Add support for BLP file format 2018-03-06 18:16:26 +02:00
Andrew Murray
c13ccf13a1 Added missing whitespace 2018-03-06 19:53:07 +11:00
Andrew Murray
f22f1628eb At least two spaces before inline comment 2018-03-04 21:36:33 +11:00
Andrew Murray
2202196162 Flake8 blank line fixes 2018-03-04 21:36:33 +11:00
Andrew Murray
45352662bb Removed unused variable 2018-03-04 21:36:33 +11:00
Andrew Murray
6930d871eb Removed unused import 2018-03-04 21:36:33 +11:00
Dvořák Václav
24ecfe315a issue #2959: fix wrong Parent of pre-existing Page objects when appending 2018-03-03 23:32:47 +01:00
Dvořák Václav
113d67214c issue #2959: change asserts into raises 2018-03-03 21:08:20 +01:00
Konstantin Kopachev
add2746ac6
Certain corrupted jpegs can result in no data read
On truncated jpeg, decoder can suspend waiting for additional bytes in
buffer. For some input files, decoder suspends on jpeg_start_decompress
stage. If at this point file reader reaches EOF, py code never gets back
to jpeg decoder and we end up with no bytes to result image. This leaves
us with some amount of potentially useful bytes undecoded and thrown
away.
Libjpeg docs suggest that in such situation, more appropriate would be
to add EOI marker to the end of buffer, which will allows decoder
to finish. https://github.com/libjpeg-turbo/libjpeg-turbo/blob/0dd9a2c1fd6c/libjpeg.txt#L1803-L1809
Docs also mention that adding EOI markers is what non-suspending code
does anyway.
2018-02-28 22:15:58 -08:00
Hugo
4936b447f0
Merge pull request #2985 from Metallicow/trim-trailing-space
Trim trailing whitespace
2018-02-27 12:00:15 +02:00
Tim Graham
eb5c52cb17 Fix "invalid escape sequence" warning on Python 3.6+ 2018-02-05 13:53:45 -05:00
Dvořák Václav
c15a0b2fce issue #2959: rename pdfParser.py to PdfParser.py 2018-01-31 00:35:55 +01:00
Dvořák Václav
9be8d669f9 issue #2959: changes based on @hugovk's review 2018-01-31 00:25:04 +01:00
Andrew Murray
aa0ee9feab Rearranged classes into alphabetical order 2018-01-30 20:13:51 +11:00
Metallicow
22a59ac839 Trim trailing whitespace src dir 2018-01-27 00:02:56 -06:00
Andrew Murray
d212808e3d Fixed typo 2018-01-27 16:19:02 +11:00
Dvořák Václav
ede57b91e0 issue #2959: keep file open, add context manager, add methods to support writing, eliminate the passing of file or buffer 2018-01-26 19:07:43 +01:00
Dvořák Václav
78fe32a431 issue #2959: support streams, add some tests 2018-01-26 17:15:38 +01:00
Dvořák Václav
971837cc00 issue #2959: another Py2 bugfix 2018-01-26 16:12:39 +01:00
Dvořák Václav
524addc499 issue #2959: argh, do we really need to support Python 2.x? ;-) 2018-01-26 15:32:54 +01:00
Dvořák Václav
51bed10d4e issue #2959: oops, hopefully fix Python 2.x 2018-01-26 14:54:49 +01:00
Dvořák Václav
53ce9ec4fb issue #2959: fix PdfDict attribute access, text decoding, tests 2018-01-26 13:42:11 +01:00
Dvořák Václav
4d3b13fb08 issue #2959: improve Info setting and dumping 2018-01-26 12:11:10 +01:00
Andrew Murray
c255948860 Fixed typo 2018-01-26 16:52:07 +11:00
Dvořák Václav
95f5c8d4ff issue #2959: move pdfParser self tests to Tests directory 2018-01-25 01:12:32 +01:00
Dvořák Václav
84f87471f5 issue #2959: support io.BytesIO objects 2018-01-25 00:44:59 +01:00
Dvořák Václav
13fe1a5ba7 issue #2959: text string decoding, support for Info dict, updated tests 2018-01-25 00:20:18 +01:00
Dvořák Václav
991f832d91 issue #2959: change Py3 detection, fix trailer location for some PDFs 2018-01-24 22:45:37 +01:00
wiredfool
9a19858fb7
Merge pull request #2938 from uploadcare/tiff-with-optional-channels
Tiff with optional channels
2018-01-24 11:10:18 +00:00
wiredfool
d6973ff50f
Merge pull request #2942 from radarhere/imagecms_remove_main
Removed __main__ code from ImageCms
2018-01-24 10:55:59 +00:00
Andrew Murray
25e72d5856 Fixed typos 2018-01-24 21:54:16 +11:00
Dvořák Václav
a187a361cb issue #2959: add tests and fixes, text encoding, remove remnants of text writing from PdfImagePlugin 2018-01-24 02:28:39 +01:00
Dvořák Václav
65112bad7e issue #2959: fix Python 3.4 not supporting bytes%tuple 2018-01-22 16:39:08 +01:00
Dvořák Václav
6207b44ab1 issue #2959: support appending to existing PDFs 2018-01-18 14:33:11 +01:00
Andrew Murray
1aefc90cb0 Removed __main__ code 2018-01-13 16:41:01 +11:00
Hugo
8f88d6b60a Only extract first Exif segment 2018-01-10 16:00:10 +02:00
Alexander
dc127273f4 Add RGBXX RGBXXX YCbCrXX YCbCrXXX rawmodes for TIFFs 2018-01-07 17:23:05 +03:00
Alexander
1f4fd49a80 unpack CMYK TIFFs optional channels 2018-01-07 17:23:05 +03:00
Hugo
e92e730597
Merge pull request #2935 from wiredfool/crc
Remove _imaging.crc32 in favor or builtin python crc32 implementation
2018-01-06 20:43:35 +02:00
Andrew Murray
696b3819e8 Combined two excerpt statements 2018-01-06 21:58:05 +11:00
Andrew Murray
b7aab522e1 Added syntax print statements 2018-01-06 21:57:29 +11:00
Andrew Murray
3c73043509 Simplified use of sys.argv 2018-01-06 21:57:29 +11:00
Andrew Murray
59b9d1dc46 Simplified Image.open call 2018-01-06 21:57:29 +11:00
Eric Soroos
4bc33d3e4a Remove _imaging.crc32 in favor or builtin python crc32 implementation 2018-01-05 15:53:50 +00:00
Andrew Murray
4e69b9c553 Skip outline if the draw operation fills with the same colour 2018-01-05 10:59:24 +11:00
Andrew Murray
62b2bdf909 Removed unused imports 2018-01-04 14:56:18 +11:00
Andrew Murray
dc5e280785 5.1.0.dev0 version bump 2018-01-02 12:22:22 +11:00
wiredfool
e5bd7eb623 5.0.0 Version Bump 2018-01-01 15:03:06 +00:00
Andrew Murray
6c61de97ad Added GD tests 2017-12-30 19:31:33 +11:00
Andrew Murray
e0c6ca9b61 Corrected info key 2017-12-30 19:31:33 +11:00
Andrew Murray
07a86bacc9 Removed duplicate code 2017-12-30 19:31:33 +11:00
wiredfool
0bb3f4fee9 source layout reorg 2017-12-28 14:49:47 +00:00