Erik Arvstedt
33e3277d2a
Add field 'added' to documents
...
This field indicates when the document was added to the database
2018-05-31 10:17:03 +02:00
Daniel Quinn
d1b6e9329f
It's exist_ok=, not exists_ok= -- my bad.
2018-05-28 13:08:00 +01:00
Daniel Quinn
26a471f5e0
Merge branch 'inotify' of git://github.com/erikarvstedt/paperless into erikarvstedt-inotify
2018-05-28 13:03:06 +01:00
Daniel Quinn
5d6e30bf47
Don't check changed passphrase if no passphrase set
2018-05-28 12:58:28 +01:00
Daniel Quinn
c8e711322e
Remove old Python2.7-style code
2018-05-28 12:58:28 +01:00
Daniel Quinn
4576541c28
Add script to (de|en)crypt all documents
2018-05-28 12:58:28 +01:00
Daniel Quinn
a9382ffd1a
Drop STORAGE_TYPE in favour of just using PAPERLESS_PASSPHRASE
2018-05-28 12:58:28 +01:00
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
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
3ac2e32bcf
Allow the searching of documents by tag #354
2018-05-20 17:28:00 +01:00
Daniel Quinn
999475e4c6
Add hack to allow for logentries to show for all users.
2018-05-20 16:29:00 +01: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
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
Daniel Quinn
fe5d55d2d1
Don't explode on invalid dates
2018-04-22 16:27:43 +01:00
CkuT
0c28a5329c
Fix LogEntry user when PAPERLESS_DISABLE_LOGIN is set to true
2018-04-17 21:03:18 +02:00
Daniel Quinn
56e3bcefb2
Revert root redirection
2018-04-16 09:53:31 +01:00