mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-04-09 09:58:20 -05:00
add pre-consume hook
a script hook can be defined in /etc/paperless.conf as PAPERLESS_PRE_CONSUME_SCRIPT
This commit is contained in:
parent
7b88cea07b
commit
c728b1dd21
@ -8,11 +8,14 @@ class DocumentsConfig(AppConfig):
|
||||
def ready(self):
|
||||
|
||||
from .signals import document_consumption_finished
|
||||
from .signals import document_consumption_started
|
||||
from .signals.handlers import (
|
||||
set_correspondent, set_tags, run_external_script)
|
||||
set_correspondent, set_tags, run_post_consume_external_script, run_pre_consume_external_script)
|
||||
|
||||
document_consumption_finished.connect(set_tags)
|
||||
document_consumption_finished.connect(set_correspondent)
|
||||
document_consumption_finished.connect(run_external_script)
|
||||
document_consumption_finished.connect(run_post_consume_external_script)
|
||||
|
||||
document_consumption_started.connect(run_pre_consume_external_script)
|
||||
|
||||
AppConfig.ready(self)
|
||||
|
@ -57,7 +57,7 @@ def set_tags(sender, document=None, logging_group=None, **kwargs):
|
||||
document.tags.add(*relevant_tags)
|
||||
|
||||
|
||||
def run_external_script(sender, document, **kwargs):
|
||||
def run_post_consume_external_script(sender, document, **kwargs):
|
||||
|
||||
if not settings.POST_CONSUME_SCRIPT:
|
||||
return
|
||||
@ -73,3 +73,13 @@ def run_external_script(sender, document, **kwargs):
|
||||
str(document.correspondent),
|
||||
str(",".join(document.tags.all().values_list("slug", flat=True)))
|
||||
)).wait()
|
||||
|
||||
def run_pre_consume_external_script(sender, filename, **kwargs):
|
||||
|
||||
if not settings.PRE_CONSUME_SCRIPT:
|
||||
return
|
||||
|
||||
Popen((
|
||||
settings.PRE_CONSUME_SCRIPT,
|
||||
filename
|
||||
)).wait()
|
||||
|
@ -230,6 +230,7 @@ SHARED_SECRET = os.getenv("PAPERLESS_SHARED_SECRET", "")
|
||||
|
||||
# Trigger a script after every successful document consumption?
|
||||
POST_CONSUME_SCRIPT = os.getenv("PAPERLESS_POST_CONSUME_SCRIPT")
|
||||
PRE_CONSUME_SCRIPT = os.getenv("PAPERLESS_PRE_CONSUME_SCRIPT")
|
||||
|
||||
#
|
||||
# TODO: Remove after 0.2
|
||||
|
Loading…
x
Reference in New Issue
Block a user