Commit Graph
100 Commits
Author SHA1 Message Date
Daniel Quinn fa4924d5ba fix: allow for caps in file name suffixes #206
@schinkelg ran aground of this one and I took the opportunity to add a
test to catch this sort of thing for next time.
2017-03-28 21:14:24 +00:00
Daniel Quinn a0edc7d54d chore: update the changelog for reminders 2017-03-25 16:22:04 +00:00
Daniel Quinn b876a0d0df feat: add the new reminders app 2017-03-25 16:21:46 +00:00
Daniel Quinn 27db4f7e51 refactor: code cleanup
I hate single quotes.
2017-03-25 16:20:59 +00:00
Daniel Quinn 426919fa9f refactor: break document-only stuff into the paperless app
The `SessionOrBasicAuthMixin` and `StandardPagination` classes were
living in the documents app and I needed them in the new `reminders`
app, so this commit breaks them out of `documents` and puts them in the
central `paperless` app instead.
2017-03-25 16:18:34 +00:00
Daniel Quinn e47c152b81 feat: migration for changes in 0.3.6 2017-03-25 16:01:59 +00:00
Daniel Quinn 7611c2b3d5 fix: pep8 + travis & tox env updates 2017-03-25 15:10:51 +00:00
Daniel Quinn 5f964830aa version bump 2017-03-25 15:10:51 +00:00
Daniel Quinn 7ec4f906af feat: make the content field optional 2017-03-25 15:10:25 +00:00
Daniel Quinn b5f6c06b8b fix: a little cleanup 2017-03-25 15:10:25 +00:00
Daniel Quinn 55e81ca4bb feat: refactor for pluggable consumers
I've broken out the OCR-specific code from the consumers and dumped it
all into its own app, `paperless_tesseract`.  This new app should serve
as a sample of how to create one's own consumer for different file
types.

Documentation for how to do this isn't ready yet, but for the impatient:

* Create a new app
    * containing a `parsers.py` for your parser modelled after
      `paperless_tesseract.parsers.RasterisedDocumentParser`
    * containing a `signals.py` with a handler moddelled after
      `paperless_tesseract.signals.ConsumerDeclaration`
    * connect the signal handler to
      `documents.signals.document_consumer_declaration` in
      `your_app.apps`
* Install the app into Paperless by declaring
  `PAPERLESS_INSTALLED_APPS=your_app`.  Additional apps should be
  separated with commas.
* Restart the consumer
2017-03-25 15:10:25 +00:00
Daniel Quinn 9525725c28 chore: update the changelog 2017-03-25 15:07:58 +00:00
Daniel Quinn 2a2196fa4d fix: #200 allow edits of correspondent & tags 2017-03-25 15:01:01 +00:00
Daniel Quinn 237efbcaa0 Merge branch 'master' of github.com:danielquinn/paperless 2017-03-05 12:15:22 +00:00
Daniel Quinn 351cd06ef7 Disable adding through the admin 2017-03-05 12:15:18 +00:00
Daniel Quinn 8bc2dfe4c6 Django migrations doesn't account for PostgreSQL completely
This was a weird bug to run into.  Basically I changed a CharField into
a ForeignKey field and ran `makemigrations` to get the job done.
However, rather than doing a `RemoveField` and an `AddField`, migrations
created a single `AlterField` which worked just fine in SQLite, but blew
up in PostgreSQL with:

    psycopg2.ProgrammingError: operator class "varchar_pattern_ops" does
    not accept data type integer

The fix was to rewrite the single migration into the two separate steps.
2017-02-18 17:55:52 +00:00
Daniel Quinn 3a427c9130 Allow for MariaDB/MySQL
MariaDB/MySQL doesn't handle indexes on TextFields well and for some
reason, Django's migrations opts to blow up rather than handle this in a
more user-friendly way.  The fix here isn't ideal, but should be
sufficient should anyone try to use Paperless with MySQL.
2017-02-18 17:53:43 +00:00
Daniel Quinn 499abd38f6 A nicer look for the documents listing
This change includes a filthy hack around how Django handles
change_list_results.html -- I'm not thrilled with it, but it's as
elegant as I could come up with.  I'm happy to field alternative ideas.
More details can be found in `documents/templatetags/hacks.py`

Specifically, this merge includes a significant facelift to the
documents listing page, moving away from the tabular layout and toward a
tileset look.  I tried fiddling with the colours, but I just don't have
any skills in that area, so we're all stuck with Django'd default
colours until someone with an eye for colour can submit a better CSS.
2017-02-12 17:52:01 +00:00
Daniel Quinn 75884285cf Added checks for expected binaries in the PATH
Fixes #112
2017-01-14 18:04:15 +00:00
Daniel Quinn d7d9c1edc0 Moved the dotenv loading above everything else 2017-01-14 18:03:42 +00:00
Daniel Quinn 92db3fec2e Allow users to set their own SECRET_KEY value
Fixes #171
Negates #174
2017-01-14 17:21:43 +00:00
Daniel Quinn 69ea039e31 Adds the ability for the user to configure the number of items per page.
Specifically requested by @ekw here:
https://github.com/danielquinn/paperless/issues/180#issuecomment-271665682
2017-01-14 17:09:48 +00:00
Daniel Quinn f640bef5fc Added changes for 0.3.4 2017-01-10 18:06:04 +00:00
Daniel Quinn e63e9e389e Shrinking the size of the thumbnails as they were huge even on my hidpi screen 2017-01-08 19:43:17 +00:00
Daniel Quinn c646cd4977 Update for 0.3.4 2017-01-08 19:40:50 +00:00
Daniel Quinn 4121876116 Update for version 0.3.3 2017-01-08 19:13:52 +00:00
Daniel Quinn 1f0fea2937 Merge branch 'ekw-master'
Thanks @ekw for the facelift!
2017-01-08 19:05:41 +00:00
Daniel Quinn 92e178cc59 Fixing some style bits for my own OCD 2017-01-08 19:05:31 +00:00
Daniel Quinn dc222cefd4 Merge branch 'master' of https://github.com/ekw/paperless into ekw-master 2017-01-08 18:58:59 +00:00
Daniel Quinn 0defa9d0ba Fix line length 2017-01-08 18:58:48 +00:00
Daniel Quinn 1711030cb5 Not xss, but host header 2017-01-04 11:37:26 +00:00
Daniel Quinn 7b586e6857 Fixes #172
Introduce some creative code around setting of ALLOWED_HOSTS that defaults to ['*'].  Also added PAPERLESS_ALLOWED_HOSTS to paperless.conf.example with an explanation as to what it's for
2017-01-03 09:57:27 +00:00
Daniel Quinn 350d2fb747 Version bump for convert binary fix 2017-01-01 22:46:29 +00:00
Daniel Quinn 5b53cc2139 Add a default value for CONVERT_BINARY 2017-01-01 22:44:04 +00:00
Daniel Quinn 0ca5373f6d Version 0.3.0! 2017-01-01 18:41:23 +00:00
Daniel Quinn 23bd887f16 Consumer loop time is now configurable 2017-01-01 18:41:06 +00:00
Daniel Quinn db7810a9d2 Fixed bad indentation 2017-01-01 18:40:23 +00:00
Daniel Quinn 30be13ae33 Added system checks to warn people of misconfigurations 2017-01-01 18:39:34 +00:00
Daniel Quinn 8fc3d8a27e Minor text edits. 2017-01-01 18:37:44 +00:00
Daniel Quinn fddd330e75 Fixed reference to wrong file 2017-01-01 16:40:29 +00:00
Daniel Quinn 294b8abc3f Fixes #164
There appears to be quite the mess out there with regard to how DRF
handles filtering.  DRF has its own built-in stuff, but recommends
django_filter for the advanced stuff, which has its own overriding
module that explodes with this message when used as per the
documentation:

  AttributeError: 'NoneType' object has no attribute 'DjangoFilterBackend'

Then there's djangorestframework-filter, another package that claims to
do the same thing, that does everything just differently enough that
nothing worked while I had it enabled.

I ended up using django_filter, but doing so importing each element
explicitly, rather than just using the recommended (and broken, at least
in this project) method of:

    import django_filter.restframework as fitlers

Anyway, this should bring the dependencies up to date, and strips out a
lot of redundant code.
2017-01-01 16:36:42 +00:00
Daniel Quinn 9ea39aeecb Give to the UNHCR 2016-12-26 13:08:18 +02:00
Daniel Quinn 6183e1ce5f pep8 2016-11-27 15:10:07 +00:00
Daniel Quinn 18495ce9da Fix for #154
* Added a test with a faked pyocr and tesseract
* Added a catch for pyocr's *other* TesseractError
2016-11-27 15:06:45 +00:00
Daniel Quinn b88e0fd902 django-filter upgraded and broke things 2016-11-25 15:42:25 +00:00
Daniel Quinn 110cd47e43 Temporary fix for #164 2016-11-21 13:26:28 +00:00
Daniel Quinn 6b2469dfbc Security update 2016-11-02 15:11:10 +00:00
Daniel Quinn 8cb5cabc85 More test stuff 2016-10-26 10:11:38 +00:00
Daniel Quinn 6d310f006c Merge branch 'CkuT-case_sensitive_matches' 2016-10-26 10:08:42 +00:00
Daniel Quinn a5f10cd6b3 Added the testing requirements 2016-10-26 10:08:21 +00:00
Daniel Quinn 875ad09b00 Fixt a ValueError in .matches() + pep8 2016-10-26 10:08:04 +00:00
Daniel Quinn ee939ae3bc Merge branch 'case_sensitive_matches' of https://github.com/CkuT/paperless into CkuT-case_sensitive_matches 2016-10-26 10:01:54 +00:00
Daniel Quinn f650fb0976 Merge branch 'synchrone-consumer-notifications' 2016-10-26 09:52:23 +00:00
Daniel Quinn ca21929cee Moved logging logic into the consumer 2016-10-26 09:52:09 +00:00
Daniel Quinn b11825832d Fixed conflicts 2016-10-26 09:42:48 +00:00
Daniel Quinn 77fda752ae Merge branch 'synchrone-no_stripping_newlines' 2016-10-26 09:33:07 +00:00
Daniel Quinn 8e58406881 pep8 corrections 2016-10-26 09:32:59 +00:00
Daniel Quinn 14811a4a49 Update Django 2016-10-03 12:32:06 +01:00
Daniel Quinn 8b4f6364f6 Merge branch 'master' of github.com:danielquinn/paperless 2016-09-06 19:22:26 +01:00
Daniel QuinnandDaniel Quinn 524d64c694 Merge branch 'master' of github.com:danielquinn/paperless 2016-09-06 17:53:41 +01:00
Daniel QuinnandDaniel Quinn 38b63fbe77 Updated changelog to include #150 2016-09-06 17:53:41 +01:00
Daniel QuinnandDaniel Quinn 509f7d908e Updated changelog. I really should tag soon 2016-09-06 17:53:34 +01:00
Daniel QuinnandDaniel Quinn 5662035efd Fixed an ugly bug that broke all deletions 2016-09-06 17:53:22 +01:00
Daniel Quinn cbfd1c5dd1 Merge branch 'master' of github.com:danielquinn/paperless 2016-09-03 15:19:28 +01:00
Daniel Quinn 5650e49558 Security update from Django 2016-09-03 15:19:22 +01:00
Daniel Quinn 9e845ba813 Remove complaints about the consumer chain 2016-08-21 13:41:50 +01:00
Daniel Quinn 66ae60dc23 Added py.test 'cause it's prettier 2016-08-21 10:48:41 +01:00
Daniel Quinn 0948796e77 Added issues #121 and #131 to the changelog 2016-08-21 10:48:08 +01:00
Daniel Quinn fdc171383c Fixed some syntax errors 2016-08-21 10:45:01 +01:00
Daniel Quinn c5aafdb43d Added some configs for Apache & Nginx/gunicorn 2016-08-21 10:44:52 +01:00
Daniel Quinn 47e42ed78b Merge branch 'master' into issue/121 2016-08-20 18:16:07 +01:00
Daniel Quinn 01919f75d9 pep8 2016-08-20 18:14:33 +01:00
Daniel Quinn 1ce76a5486 Actually write the date found in the file name 2016-08-20 18:11:51 +01:00
Daniel Quinn c7dda9de96 A quick & easy way to see the logs 2016-08-20 18:08:28 +01:00
Daniel Quinn 3bbcd562fc Account for thumbnail deletion as well 2016-08-20 14:03:42 +01:00
Daniel Quinn 22ec6f1808 Updated Django to 1.10 along with DRF (required) 2016-08-16 19:58:42 +01:00
Daniel Quinn 3b9893b8d4 Version bump for 1.9.x security release 2016-08-16 19:34:54 +01:00
Daniel Quinn 7adda9ac50 Reversion until I can get 1.10 working right 2016-08-16 19:29:32 +01:00
Daniel Quinn f5daded930 Fix for #131: delete files on document.delete 2016-08-16 19:13:37 +01:00
Daniel Quinn de92423006 Make the logs easier to read 2016-07-19 14:13:59 +01:00
Daniel Quinn 48bca7ea57 Added docs for pre-consume hook 2016-07-01 14:47:17 -07:00
Daniel Quinn c1ed4e8238 Allow for upgrades of most of the dependencies 2016-06-25 09:02:32 -07:00
Daniel Quinn c51d663731 Merge branch 'evils-master' 2016-04-17 14:40:02 +01:00
Daniel Quinn 5a07c72f1e removing duplicate code 2016-04-17 14:39:49 +01:00
Daniel Quinn 859440d8bd Merging the duplicate code for tests 2016-04-17 14:39:36 +01:00
Daniel Quinn e96c7448bc Fix for #107 2016-04-11 23:28:12 +01:00
Daniel Quinn 90939be6af @Pitkley made a good suggestion in #98 2016-04-10 17:39:49 +01:00
Daniel Quinn b4474c296c Added checksum to the documents api 2016-04-04 22:09:32 +01:00
Daniel Quinn e0ce2a7656 The consumer hook shouldn't contain the passphrase. That was a bad idea 2016-04-03 19:35:17 +01:00
Daniel Quinn 263d60858f Fixed up the consumer hook example 2016-04-03 19:28:24 +01:00
Daniel Quinn 96b8dd6d56 Added the passphrase to the consume hook and fixed the docs for it 2016-04-03 18:47:49 +01:00
Daniel Quinn 64b72d4337 Added test for duplicates 2016-04-03 18:44:00 +01:00
Daniel Quinn 2853545b9d Added a checksum property and a couple indexes 2016-04-03 16:34:09 +01:00
Daniel Quinn 12e2a96f13 Added a new working script for nuking my environment 2016-04-03 16:33:10 +01:00
Daniel Quinn f16aa33fd9 s/*Paperless*/Paperless/g 2016-03-28 20:01:01 +01:00
Daniel Quinn 62da1f49ae Added not about paperless.conf 2016-03-28 19:58:29 +01:00
Daniel Quinn 14375e19ef I'm not sure how this would have worked before 2016-03-28 19:56:17 +01:00
Daniel Quinn 3827c52194 Updated docs for new hook feature 2016-03-28 19:55:54 +01:00
Daniel Quinn cb2df58b27 Everything appears to be working 2016-03-28 19:47:11 +01:00
Daniel Quinn 40b2ea02b7 Learn to spell, Daniel 2016-03-28 15:09:26 +01:00