Commit Graph

248 Commits (9c971a18f01892c2124c4e7b0e5c4c8fefa8177c)

Author SHA1 Message Date
Frh 161f71230d Refactor base classes and improve plotting
Move common code to base class to reduce duplication
Stream plots display pdf background for better context
2020-06-11 17:20:36 -07:00
Frh bd2aab5b2d Fix unit tests, lint, drop Python 2 support
Drop EOL Python 2 support. Resolve unit test discrepancies.
Update unit tests to pass in Travis across all supported Py.
Linting.
2020-06-11 17:20:35 -07:00
Vinayak Mehta d5d6a5962b
Bump version and update HISTORY.md 2020-05-24 18:36:13 +05:30
Vinayak Mehta a22fa63c4e
Fix syntax errors 2020-05-24 18:19:48 +05:30
Vinayak Mehta 52b2a595b4
Add f-strings and remove python3.5 test job 2020-05-24 18:14:43 +05:30
Vinayak Mehta f725f04223
Remove future imports 2020-05-24 17:33:13 +05:30
Vinayak Mehta 3afb72b872
Fix read_pdf(url) and test data 2020-05-24 17:26:52 +05:30
Dimiter Naydenov b2929a9e92
Merge pull request #34 from KOLANICH/win_ghostscript_callback_fix
Fixed calling convention of callback functions
2019-07-24 13:39:18 +03:00
KOLANICH 5687fbc8b2 Fixed calling convention of callback functions 2019-07-16 21:08:34 +03:00
KOLANICH 9e356b1b0a Fixed library discovery on Windows 2019-07-16 21:07:23 +03:00
Vinayak Mehta 0efb3ca1b0 Update HISTORY.md and bump version 2019-07-07 16:07:28 +05:30
Vinayak Mehta a97b50ef21 Update flavor kwargs 2019-07-06 22:59:51 +05:30
Dimiter Naydenov 0f8cda4793
Merge pull request #5 from camelot-dev/fix-cli-group-name
[MRG] No need to monkey-patch Click.HelpFormatter
2019-07-04 18:26:35 +03:00
Dimiter Naydenov 13616c2fb4 No need to monkey-patch Click.HelpFormatter 2019-07-04 13:13:32 +03:00
Dimiter Naydenov 240ea6c411 Fixed strip_text argument getting ignored 2019-07-04 12:12:52 +03:00
Vinayak Mehta 16ddd10644
Update image_processing.py 2019-07-04 00:06:46 +05:30
Vinayak Mehta 2115a0e177 Blacken code 2019-07-03 23:47:42 +05:30
Vinayak Mehta de3281c1b6 Add test 2019-05-27 22:18:23 +05:30
Vinayak Mehta b2a8348f13 Fix #312 2019-05-26 17:13:59 +05:30
Vinayak Mehta 355ae818a0
Merge branch 'master' into fix-split-bug 2019-04-20 21:06:47 +05:30
Vinayak Mehta ce727d9558 Fix split text bug 2019-03-22 02:28:29 +05:30
Sym Roe 8446271aa4
Always sort TableList after reading PDF 2019-02-25 09:48:47 +00:00
Sym Roe c019e582bf
Add __lt__ to Table to allow sorting
Refs #277
2019-02-25 09:20:09 +00:00
yatintaluja 6c4b468800 Fix #245 2019-01-16 16:33:17 +05:30
yatintaluja 5330620ea2 Bump version 2019-01-16 16:30:05 +05:30
Vinayak Mehta 45ae980988 Bump version 2019-01-06 13:00:08 +05:30
Vinayak Mehta 215e5ea2a5 Move ghostscript import 2019-01-06 01:50:54 +05:30
Vinayak Mehta 9d38b2f5af Bump version 2019-01-05 13:23:31 +05:30
Vinayak Mehta ab5391c76f Merge branch 'master' of github.com:socialcopsdev/camelot into replace-gs-c-api 2019-01-05 11:22:38 +05:30
Vinayak Mehta 506cec7f6b Add sqlite support 2019-01-05 01:50:27 +05:30
Vinayak Mehta f94777038a Update stream table regions logic 2019-01-04 20:27:53 +05:30
Vinayak Mehta eaca147b9d Apply mask at threshold level 2019-01-04 20:15:41 +05:30
Vinayak Mehta 03f301b25c Add table regions support 2019-01-04 19:17:54 +05:30
Vinayak Mehta 605ffdd444 Add test 2019-01-03 16:13:41 +05:30
Vinayak Mehta 9d90cadac0 Fix variable name 2019-01-03 15:47:05 +05:30
Vinayak Mehta f605bd8f94 Fix #239 2019-01-03 14:55:47 +05:30
Vinayak Mehta 7a0acd7929 Update CLI 2019-01-02 16:36:25 +05:30
Vinayak Mehta 859610e0dc Add pages test 2019-01-02 16:35:49 +05:30
Vinayak Mehta ea5747c5c4 Bump version 2018-12-24 15:51:29 +05:30
Vinayak Mehta 62ed4753cd Make python2 compat 2018-12-24 13:10:48 +05:30
Vinayak Mehta 2b3461deab Add support to read from url 2018-12-24 12:55:52 +05:30
Vinayak Mehta 27fa226c71 Fix merge conflict 2018-12-22 11:07:24 +05:30
Vinayak Mehta 50b4468aff Rename kwargs and add tests 2018-12-21 15:09:37 +05:30
Vinayak Mehta f6aa21c31f Add strip_text 2018-12-20 16:32:16 +05:30
Vinayak Mehta 3f5af18738 Add resolution 2018-12-20 15:01:29 +05:30
Vinayak Mehta e0090fbb0a Add edge close tolerance 2018-12-20 13:58:54 +05:30
Vinayak Mehta 48b2dce633 Update advanced docs 2018-12-19 18:19:39 +05:30
Vinayak Mehta 736fb25b56 Change gs resolution 2018-12-18 20:47:09 +05:30
Vinayak Mehta 9e79a795b8 Add GhostscriptError 2018-12-18 09:14:21 +05:30
Vinayak Mehta 4938c48853 Remove _errors and ghostscript test 2018-12-18 07:43:52 +05:30
Vinayak Mehta 9879a87c6f Add ghostscript 2018-12-17 19:09:57 +05:30
Vinayak Mehta 9aa219695f Fix merge conflict 2018-12-17 15:33:38 +05:30
Vinayak Mehta 6301fee523 Fix AttributeError 2018-12-17 12:00:41 +05:30
Vinayak Mehta 01dab12fbc Fix SyntaxError 2018-12-17 11:53:00 +05:30
Vinayak Mehta ca6cefa362 Add extra_kwargs 2018-12-17 11:49:05 +05:30
Vinayak Mehta 153869fda2 Update HISTORY.md and bump version
Update HISTORY.md
2018-12-13 16:46:17 +05:30
Vinayak Mehta 69136431b6 Fix #215 2018-12-13 14:36:50 +05:30
Vinayak Mehta 5e71f0b0e6 Fix #192 2018-12-13 12:50:30 +05:30
Vinayak Mehta 33cea45346 Fix #105 2018-12-13 00:45:22 +05:30
Vinayak Mehta 591cfd5291 Change kwarg name 2018-12-12 10:15:04 +05:30
Vinayak Mehta e50f9c8847 Change suppress_warnings to verbose 2018-12-12 09:58:34 +05:30
Vinayak Mehta 87a2f4fdc9 Add textedge plot type 2018-12-12 07:36:07 +05:30
Vinayak Mehta 8d8ca6e435 Fix variable name 2018-12-07 18:45:23 +05:30
Vinayak Mehta cb3e76726b Bump version 2018-12-05 20:10:25 +05:30
Vinayak Mehta 23ec6b55f7 Add docstrings and update docs 2018-11-23 21:04:10 +05:30
Vinayak Mehta 1f71513004 Fix no table found warning and add tests for two tables 2018-11-23 19:28:55 +05:30
Vinayak Mehta 0251422e33 Add fix to include table headers 2018-11-23 03:27:23 +05:30
Vinayak Mehta a1e1fd781d Fix comments 2018-11-23 02:51:22 +05:30
Vinayak Mehta 9b67b271e4 Add atol and fix variable declaration 2018-11-23 02:44:55 +05:30
Vinayak Mehta 9b5782f9ba Fix indent 2018-11-22 20:05:30 +05:30
Vinayak Mehta bcde67fe17 Add constant to include table headers 2018-11-22 19:56:16 +05:30
Vinayak Mehta 529914eb6f Update comment 2018-11-22 19:50:59 +05:30
Vinayak Mehta 4e2aee18c3 Add get_table_areas textedges method 2018-11-22 19:48:51 +05:30
Vinayak Mehta a587ea3782 Add get_relevant textedges method 2018-11-22 18:24:31 +05:30
Vinayak Mehta 378408a271 Remove debug statements 2018-11-22 05:42:10 +05:30
Vinayak Mehta 123227aa8c Add TextEdge and TextEdges helper classes 2018-11-22 05:31:02 +05:30
Vinayak Mehta b310f16dba Bump version and update HISTORY.md 2018-11-04 01:37:27 +05:30
Vinayak Mehta defaead679
Add table bbox attribute (#193) 2018-11-04 01:33:41 +05:30
Vinayak Mehta 36006cadc5 Bump version and update HISTORY.md 2018-11-02 23:25:07 +05:30
Vinayak Mehta db3f8c6897
[MRG] Make matplotlib optional (#190)
* Rename png files

* Convert plot to PlotMethods class and update docs

* Update test

* Update setup.py and docs

* Refactor PlotMethods

* Make matplotlib optional

* Raise ImportError in cli
2018-11-02 23:16:03 +05:30
Suyash Behera c0e9235164 [MRG + 1] Create a new figure and test each plot type #127 (#179)
* [MRG] Create a new figure and test each plot type #127

 - move `plot()` to `plotting.py` as `plot_pdf()`
 - modify plotting functions to return matplotlib figures
 - add `test_plotting.py` and baseline images
 - import `plot_pdf()` in `__init__`
 - update `cli.py` to use `plot_pdf()`
 - update advanced usage docs to reflect changes

* Change matplotlib backend for image comparison tests

* Update plotting and tests
 - use matplotlib rectangle instead of `cv2.rectangle` in
`plot_contour()`
 - set matplotlib backend in `tests/__init__`
 - update contour plot baseline image
 - update `test_plotting` with more checks

* Update plot tests and config
 - remove unnecessary asserts
 - update setup.cfg and makefile with `--mpl`

* Add  to

* Add tolerance

* remove text from baseline plots
update plot tests with `remove_text`

* Change method name, update docs and add pep8

* Update docs
2018-11-02 20:57:02 +05:30
Vinayak Mehta f73062c1c4 Bump version
Update HISTORY.md
2018-10-28 22:37:33 +05:30
rbares 429640feea [MRG + 1] Add basic support for encrypted PDF files (#180)
* [MRG] Add basic support for encrypted PDF files

Update API and CLI to accept ASCII passwords to decrypt PDFs
encrypted by algorithm code 1 or 2 (limited by support from PyPDF2).
Update documentation and unit tests accordingly.

Example document health_protected.pdf generated as follows:
qpdf --encrypt userpass ownerpass 128 -- health.pdf health_protected.pdf

Issue #162

* Support encrypted PDF files in python3

Issue #162

* Address review comments

Explicitly check passwords for None rather than falsey.
Correct read_pdf documentation for Owner/User password.

Issue #162

* Correct API documentation changes for consistency

Issue #162

* Move error tests from test_common to test_errors

Issue #162

* Add qpdf example

* Remove password is not None check

* Fix merge conflict

* Fix pages example
2018-10-28 22:01:10 +05:30
gison93 4366313484 Clarify example for argument pages in read_pdf (#177) 2018-10-28 14:41:04 +05:30
Vinicius Mesel 39cf65ffef [MRG + 1] Convert filename to lowercase to check for extension (#169)
* Creates a new variable that stores a lowercase version of the filename

* Remove variable
2018-10-24 23:53:54 +05:30
Parth P Panchal 32df09ad1c Renames the keyword `table_area` to `table_areas` (#171)
`table_areas` sounds more apt since it is a list and there can be
multiple table areas on a page.

Closes #165
2018-10-24 23:06:53 +05:30
Vinayak Mehta a78ef7f841
[MRG] Use find_executable for gs and raise error if not found (#166)
* Use find_executable for gs and raise error if not found

* Remove unused variable

* Add test

* Use pytest monkeypatch
2018-10-23 21:12:43 +05:30
Parth P Panchal 61963aabb6 [MRG + 1] Add __main__ (#159)
* Renames camelot.cli to camelot.__main__

Closes #154

* Keep __main__ and cli separate

* Monkey patch click HelpFormatter
2018-10-23 15:01:20 +05:30
Jonathan Lloyd 3def4a5aea [MRG + 1] Add suppress_warnings flag (#155)
* Add suppress_warnings flag

* Add --quiet flag to cli (to suppress warnings)

* Remove TODO and update comment
2018-10-19 16:55:00 +05:30
Vinayak Mehta 45e7f7570e Bump version 2018-10-08 03:54:21 +05:30
Vinayak Mehta fe68328ef2
Move opencv-python to extra_requires (#134) 2018-10-08 01:10:48 +05:30
Vinayak Mehta 2527512f63 Replace gs subprocess call (Wand experiment)
Replace gs subprocess call

Update requirements.txt
2018-10-07 13:39:44 +05:30
Vinayak Mehta 9b2fc53e58 Bump version 2018-10-05 20:22:46 +05:30
Vaibhav Mule c53ea795fd [MRG + 1] Add tests for repr (#128)
* add tests for repr

* remove repr for Cell

* add round for repr of Cell

* change decimal places to 2

* change tests for 2 decimal places
2018-10-05 20:19:24 +05:30
Oshawk 90aaba6eec [MRG + 1] Make pep8 (#125)
* Make setup.py pep8

Add new line at end of file, fix bare except, remove unused import.

* Make tests/*.py pep8

Add some newlines at and of files and a visual indent.

* Make docs/*.py pep8

Fix block comments and add new lines at end of files.

* Make camelot/*.py pep8

Fixed unused import, a few weirdly ordered imports, a docstring typo and  many new lines at the end of lines.

* Fix imports

Fix import order and remove a couple more unused imports.

* Fix indents

Fix indentation (no opening delimiter alignment).

* Add newlines
2018-10-05 16:55:43 +05:30
Vinayak Mehta 6e8079df84
[MRG] Add tests for output formats and parser kwargs (#126)
* Remove unused image processing code

* Add opencv back-compat comment

* Add tests for parser special cases

* Fix lattice table area test

* Add tests for output format

* Add openpyxl dep
2018-10-05 16:15:30 +05:30
Vinayak Mehta cf7823f33c
[MRG] Add ghostscript fix for windows (#124)
* Add ghostscript fix for windows

* Add python2 fix

* Update install.rst
2018-10-05 02:06:37 +05:30
Vinayak Mehta c5bde5e2ad
[MRG] Add error/warning tests (#113)
* Add unknown flavor test

* Add input kwargs test

* Remove unused utils

* Add unsupported format test

* Add stream unequal tables-columns length test

* Add python3 compat

* Add no tables found test

* Convert util info log to warning
2018-10-02 19:28:42 +05:30
Vinayak Mehta fc0542bd3c
Add Python 3 compatibility (#109)
* Add python3 compat

* Update .gitignore

* Update .gitignore again

* Remove debugging return

* Add unicode_literals import

* Bump version

* Add python3-tk note
2018-09-28 21:58:29 +05:30
Vinayak Mehta dfb0d4fb4c Fix TableList repr 2018-09-27 04:42:23 +05:30