979 Commits

Author SHA1 Message Date
Daniel Quinn
c18901df5a Change default storage_type to unencrypted 2018-05-28 12:58:28 +01:00
Daniel Quinn
afe3bfe23a Don't run document checks if table doesn't exist yet 2018-05-28 12:58:28 +01:00
Daniel Quinn
f5a198d96e Fix migration conflict 2018-05-28 12:58:28 +01:00
Daniel Quinn
3ec1dd656e Add check for changed password
These tests are incomplete, but I have no idea how to write the other
half.
2018-05-28 12:58:28 +01:00
Daniel Quinn
e9fd22059b Add "fat finger" check to password status 2018-05-28 12:58:28 +01:00
Daniel Quinn
27b541c330 Remove checks we weren't using 2018-05-28 12:58:28 +01:00
Daniel Quinn
6b123daf28 Only require a passphrase if STORAGE_TYPE is not "unencrypted" 2018-05-28 12:58:28 +01:00
Daniel Quinn
92d9506a2e Make the consumer aware of the different storage types 2018-05-28 12:58:28 +01:00
Daniel Quinn
3db9544c7f Move the encrypt/decrypt decision out of db and into the view 2018-05-28 12:58:28 +01:00
Daniel Quinn
e3eb95eb47 Attach storage_type to Documents 2018-05-28 12:58:28 +01:00
Daniel Quinn
2309076038 Set STORAGE_TYPE instead of ENABLE_ENCRYPTION boolean
This allows for future decisions around the types of encryption used (if any).  Ideally, I want to replace GPG one day with something elegant out of the cryptography module.
2018-05-28 12:58:28 +01:00
Daniel Quinn
4925ecd1da Try to be more pep8 in the settings file 2018-05-28 12:58:28 +01:00
Mike Cronce
24e56c0899 src/paperless/db.py: If encryption is disabled, just directly read the file contents 2018-05-28 12:58:28 +01:00
Mike Cronce
d2d9804d01 src/manage.py: Added check to see whether or not encryption is enabled before prompting for passphrase if it's empty 2018-05-28 12:58:28 +01:00
Mike Cronce
8df12400b3 src/paperless/settings.py: Added DISABLE_ENCRYPTION environment variable 2018-05-28 12:58:28 +01:00
Daniel Quinn
a808d5b483 Fix redirect for subpaths (hopefully) 2018-05-28 12:56:20 +01:00
Daniel Quinn
dac59af437 Code clean up 2018-05-28 12:56:06 +01:00
Erik Arvstedt
b57cbe2e3b fixup: mention inotify in 'utilities.rst' 2018-05-22 01:22:41 +02:00
Erik Arvstedt
2a8dcd1403 Documentation: Replace 'PDF' with 'document'
There are more supported file formats than just PDF.
2018-05-22 01:22:38 +02:00
Erik Arvstedt
901a810e97 fixup: require usage of PAPERLESS_EMAIL_SECRET 2018-05-21 12:11:56 +02:00
Erik Arvstedt
d132e2b9f5 fixup: remove helper fn 'make_dirs' 2018-05-21 00:45:00 +02:00
Erik Arvstedt
1eeae1df00 fixup: break up complex if condition 2018-05-21 00:44:58 +02:00
Daniel Quinn
1a044972a9 Minor dependency updates 2018-05-20 18:07:53 +01:00
Daniel Quinn
e4dacb8daa Update for project status 2018-05-20 17:52:46 +01:00
Daniel Quinn
d9b42c081d Add notes for #352 and #354 2018-05-20 17:28:10 +01:00
Daniel Quinn
3ac2e32bcf Allow the searching of documents by tag #354 2018-05-20 17:28:00 +01:00
Daniel Quinn
9d2252618c Merge pull request #352 from Strubbl/fix-unwanted-exit-in-docker-entrypoint.sh
fix bug where docker-entrypoint.sh exits w/o notice
2018-05-20 17:16:01 +01:00
Daniel Quinn
999475e4c6 Add hack to allow for logentries to show for all users. 2018-05-20 16:29:00 +01:00
Daniel Quinn
c2a7d043a4 Include changelog notes for better clickable area. 2018-05-20 16:28:42 +01:00
Daniel Quinn
8e7e7c3490 Merge pull request #344 from erikarvstedt/increase_link_area
[Help needed] Increase link area in documents listing
2018-05-20 14:58:08 +01:00
Sven Fischer
1c0801a3ec fix bug where docker-entrypoint.sh exits w/o notice
This commit fixes a nasty bug, where the docker-entrypoint.sh silently
exits without any error message. The test for a lock file can fail and
due to the `set -e` at the beginning of the file the bash script exists
without starting the paperless application.
It is fixed by moving the check for the existence of the lock file into
the if statement, where the `set -e` does not trigger an exit in case
the statement fails.

Additionally this commit enables the script to trap exit signals and in
that case deletes the lock file.
2018-05-15 19:34:21 +02:00
Erik Arvstedt
3db175dfe2 Add inotify support 2018-05-11 14:14:50 +02:00
Erik Arvstedt
b74b47423d Consumer loop: make sleep duration dynamic
Make the sleep duration dynamic to account for the time spent in
loop_step.
This improves responsiveness when repeatedly consuming newly
arriving docs.

Use float epoch seconds (time.time()) as the time type for
MailFetcher.last_checked to allow for natural time arithmetic.
2018-05-11 14:14:50 +02:00
Erik Arvstedt
aac17670de Refactor: renamings, extract fn 'loop'
Renamings:
loop -> loop_step
delta -> next_mail_time (this variable names a point in time, not a duration)

Extracting the 'loop' fn is a preparation for later commits where a
second type of loop is added.
2018-05-11 14:14:25 +02:00
Erik Arvstedt
8b37af994a Consider mtime of ignored files, garbage-collect ignore list
1. Store the mtime of ignored files so that we can reconsider them if
they have changed.

2. Regularly reset the ignore list to files that still exist in the
consumption dir. Previously, the list could grow indefinitely.
2018-05-11 14:05:30 +02:00
Erik Arvstedt
cc22204e5a Simplify ignoring docs 2018-05-11 14:05:29 +02:00
Erik Arvstedt
f56ec70aad Ensure docs have been unmodified for some time before consuming
Previously, the second mtime check for new files usually happened right
after the first one, which could have caused consumption of docs that
were still being modified.

We're now waiting for at least FILES_MIN_UNMODIFIED_DURATION (0.5s).

This also cleans up the logic by eliminating the consumer.stats attribute
and the weird double call to consumer.run().

Additionally, this a fixes memory leak in consumer.stats where paths could be
added but never removed if the corresponding files disappeared from
the consumer dir before being considered ready.
2018-05-11 14:05:29 +02:00
Erik Arvstedt
0db6ed225b Refactor: extract fn try_consume_file
The main purpose of this change is to make the following commits more
readable.
2018-05-11 14:05:28 +02:00
Erik Arvstedt
312a6a91b5 Use os.scandir instead of os.listdir
It's simpler and better suited for use cases introduced in later commits.
2018-05-11 14:05:25 +02:00
Erik Arvstedt
2c64e70754 Consume documents in order of increasing mtime
This increases overall usability, especially for multi-page scans.
Previously, the consumption order was undefined (see os.listdir())
2018-05-11 14:04:37 +02:00
Erik Arvstedt
9320230100 Refactor: extract fn 'make_dirs' 2018-05-11 14:04:36 +02:00
Erik Arvstedt
8ebe52a7db Fix list out of bounds error in mail message parsing
Check list length before accessing the first two elements of
'dispositions'.
The list may have only a single element ('inline') or may be empty in
mailformed emails.
2018-05-11 14:04:36 +02:00
Erik Arvstedt
260ce7d75c Set default empty PAPERLESS_EMAIL_SECRET
Previously, if the user didn't set PAPERLESS_EMAIL_SECRET, Paperless
failed with an error in check_body() because self.SECRET was None.
2018-05-11 14:04:31 +02:00
Erik Arvstedt
d5e56095ac Mail fetching: Only catch internal errors
Previously, all errors raised during mail fetching were silently caught
and printed without backtrace.

To increase robustness and ease debugging, we now fail with a backtrace
on unexpected errors.
2018-05-11 14:01:09 +02:00
Erik Arvstedt
8033f97ec3 Increase link area in documents listing
Increase the link area to include the whole visual header.

Fixes #335
2018-05-11 13:50:09 +02:00
Daniel Quinn
bce2d3dd22 Account for KeyError problem in #345 2018-04-28 12:20:43 +01:00
Daniel Quinn
f3f86242de Account for KeyError problem in #345 2018-04-28 12:19:53 +01:00
Ovv
4818cd11da Installation documentation setup
Issue #329
2018-04-25 19:51:21 +02:00
Daniel Quinn
1522af2ea5 Clean up test formatting a bit 2018-04-22 16:28:21 +01:00
Daniel Quinn
b7d321286f Remove old Python style 2018-04-22 16:28:03 +01:00