diff --git a/GIDs b/GIDs index dfa255fc31aa..9f8ea56a9c1f 100644 --- a/GIDs +++ b/GIDs @@ -177,7 +177,7 @@ _ntp:*:233: kafka:*:234: openhab:*:235: rspamd:*:236: -# free: 237 +paperless:*:237: # free: 238 # free: 239 aprsd:*:240: diff --git a/UIDs b/UIDs index dd3b9fe4cb14..2490a56e4e95 100644 --- a/UIDs +++ b/UIDs @@ -182,7 +182,7 @@ _ntp:*:233:233::0:0:NTP Daemon:/var/empty:/usr/sbin/nologin kafka:*:234:234::0:0:Apache Kafka user:/nonexistent:/usr/sbin/nologin openhab:*:235:235::0:0:openHAB user:/var/db/openhab2/home:/usr/sbin/nologin rspamd:*:236:236::0:0:rspamd pseudo-user:/nonexistent:/usr/sbin/nologin -# free: 237 +paperless:*:237:237::0:0:paperless user:/var/db/paperless:/bin/sh # free: 238 # free: 239 aprsd:*:240:240::0:0:aprsd:/nonexistent:/bin/sh diff --git a/deskutils/py-paperless/Makefile b/deskutils/py-paperless/Makefile new file mode 100644 index 000000000000..ba80ea46b818 --- /dev/null +++ b/deskutils/py-paperless/Makefile @@ -0,0 +1,126 @@ +# $FreeBSD$ + +PORTNAME= paperless +PORTVERSION= 2.7.0 +CATEGORIES= deskutils python +PKGNAMEPREFIX= ${PYTHON_PKGNAMEPREFIX} + +MAINTAINER= grembo@FreeBSD.org +COMMENT= Index and archive scanned paper documents + +LICENSE= GPLv3 +LICENSE_FILE= ${WRKSRC}/LICENSE + +BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}dateparser>=0.7.1:devel/py-dateparser@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}dj21-django-cors-headers>=2.4.0:www/py-dj21-django-cors-headers@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}dj21-django-crispy-forms>=1.7.2:www/py-dj21-django-crispy-forms@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}dj21-django-extensions>=2.1.6:www/py-dj21-django-extensions@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}dj21-django-filter>=2.0.0:www/py-dj21-django-filter@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}dj21-djangoql>=0.12.4:www/py-dj21-djangoql@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}dj21-djangorestframework>=3.9.0:www/py-dj21-djangorestframework@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}fuzzywuzzy>=0.15.1:devel/py-fuzzywuzzy@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}langdetect>=1.0.7:textproc/py-langdetect@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pdftotext>=2.1.1:textproc/py-pdftotext@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}pyocr>=0.5.3:graphics/py-pyocr@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}python-dotenv>=0.10.1:www/py-python-dotenv@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}python-gnupg>=0.4.3:security/py-python-gnupg@${PY_FLAVOR} \ + ${PYTHON_PKGNAMEPREFIX}python-magic>=0.4.10:devel/py-python-magic@${PY_FLAVOR} +RUN_DEPENDS:= ${BUILD_DEPENDS} +RUN_DEPENDS+= gpg2:security/gnupg \ + optipng:graphics/optipng \ + tesseract:graphics/tesseract \ + unpaper:graphics/unpaper + +USES= python:3.5+ shebangfix +USE_GITHUB= yes +GH_ACCOUNT= the-paperless-project +GH_PROJECT= paperless +USE_RC_SUBR= paperless-consumer + +SHEBANG_FILES= ${WRKSRC}/src/manage.py + +SUB_FILES= README nginx.conf paperless.7 pkg-message sshd_config uwsgi.ini +SUB_LIST= PKGBASE=${PKGBASE} PYTHON_CMD=${PYTHON_CMD} \ + PYTHONPREFIX_SITELIBDIR=${PYTHONPREFIX_SITELIBDIR} \ + ECHO=${ECHO} EGREP=${EGREP} TOUCH=${TOUCH} \ + CHOWN=${CHOWN} RM=${RM:Q} + +NO_ARCH= yes + +USERS= paperless +GROUPS= paperless + +OPTIONS_DEFINE= DOCS EXAMPLES +OPTIONS_SINGLE= IMAGICK +OPTIONS_SINGLE_IMAGICK= IMAGICK6_NOX11 IMAGICK6_X11 IMAGICK7_NOX11 IMAGICK7_X11 +OPTIONS_DEFAULT= IMAGICK6_X11 + +IMAGICK_DESC= ${IMAGEMAGICK_DESC} +IMAGICK6_NOX11_DESC= ImageMagick6 without X11 support +IMAGICK6_X11_DESC= ImageMagick6 with X11 support +IMAGICK7_NOX11_DESC= ImageMagick7 without X11 support +IMAGICK7_X11_DESC= ImageMagick7 with X11 support + +DOCS_BUILD_DEPENDS= ${PYTHON_PKGNAMEPREFIX}sphinx>=0:textproc/py-sphinx@${PY_FLAVOR} +DOCS_USES= gmake + +IMAGICK6_X11_RUN_DEPENDS= convert:graphics/ImageMagick6 +IMAGICK6_NOX11_RUN_DEPENDS= convert:graphics/ImageMagick6-nox11 +IMAGICK7_X11_RUN_DEPENDS= convert:graphics/ImageMagick7 +IMAGICK7_NOX11_RUN_DEPENDS= convert:graphics/ImageMagick7-nox11 + +PAPERLESS_STATICDIR= ${WRKSRC}/static + +do-build: + @${PYTHON_CMD} ${PYTHON_LIBDIR}/compileall.py \ + -d ${PYTHONPREFIX_SITELIBDIR} \ + -f ${WRKSRC}/src + @${PYTHON_CMD} -O ${PYTHON_LIBDIR}/compileall.py \ + -d ${PYTHONPREFIX_SITELIBDIR} \ + -f ${WRKSRC}/src + @${RM} -r ${PAPERLESS_STATICDIR} + @${SETENV} \ + PAPERLESS_STATICDIR=${PAPERLESS_STATICDIR} \ + ${PYTHON_CMD} ${WRKSRC}/src/manage.py collectstatic + +do-build-DOCS-on: + cd ${WRKSRC}/docs && ${SETENV} ${MAKE_ENV} \ + ${MAKE_CMD} ${MAKE_ARGS} html SPHINXBUILD=sphinx-build-${PYTHON_VER} + +do-install: + @${MKDIR} ${STAGEDIR}${PYTHON_SITELIBDIR}/paperless + @cd ${WRKSRC}/resources && \ + ${COPYTREE_SHARE} . ${STAGEDIR}${DATADIR} + @cd ${WRKSRC}/src && \ + ${COPYTREE_SHARE} . ${STAGEDIR}${PYTHON_SITELIBDIR}/paperless + @${RLN} ${STAGEDIR}${PYTHON_SITELIBDIR}/paperless/manage.py \ + ${STAGEDIR}${PREFIX}/bin/paperless + @${MKDIR} ${STAGEDIR}${WWWDIR} + @cd ${WRKSRC} && \ + ${COPYTREE_SHARE} static ${STAGEDIR}${WWWDIR} + @${SED} -e 's|%%WWWDIR%%|${WWWDIR}|g;' \ + ${WRKSRC}/paperless.conf.example \ + > ${STAGEDIR}${PREFIX}/etc/paperless.conf.sample + @${MKDIR} ${STAGEDIR}/var/db/paperless/consume/input \ + ${STAGEDIR}/var/db/paperless/media \ + ${STAGEDIR}/var/db/paperless/sqlite + ${INSTALL_MAN} ${WRKDIR}/paperless.7 ${STAGEDIR}${MANPREFIX}/man/man7 + +# Klammern aussenrum? +post-install-DOCS-on: + @${MKDIR} ${STAGEDIR}${DOCSDIR}/presentation + @cd ${WRKSRC}/docs/_build/html && \ + ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR} + @cd ${WRKSRC}/presentation && \ + ${COPYTREE_SHARE} . ${STAGEDIR}${DOCSDIR}/presentation + +post-install-EXAMPLES-on: + @${MKDIR} ${STAGEDIR}${EXAMPLESDIR} + ${INSTALL_DATA} \ + ${WRKDIR}/README \ + ${WRKDIR}/nginx.conf \ + ${WRKDIR}/sshd_config \ + ${WRKDIR}/uwsgi.ini \ + ${STAGEDIR}${EXAMPLESDIR} + +.include diff --git a/deskutils/py-paperless/distinfo b/deskutils/py-paperless/distinfo new file mode 100644 index 000000000000..57725e4af124 --- /dev/null +++ b/deskutils/py-paperless/distinfo @@ -0,0 +1,3 @@ +TIMESTAMP = 1553390083 +SHA256 (the-paperless-project-paperless-2.7.0_GH0.tar.gz) = 478823e12ea874dc0acd7f6ce038d221849cfcb797f0d6de57624bacdaa02839 +SIZE (the-paperless-project-paperless-2.7.0_GH0.tar.gz) = 4038688 diff --git a/deskutils/py-paperless/files/README.in b/deskutils/py-paperless/files/README.in new file mode 100644 index 000000000000..bb4fc88e205d --- /dev/null +++ b/deskutils/py-paperless/files/README.in @@ -0,0 +1 @@ +Please see `man paperless' for details on how to use the paperless examples. diff --git a/deskutils/py-paperless/files/nginx.conf.in b/deskutils/py-paperless/files/nginx.conf.in new file mode 100644 index 000000000000..519f7fde0ca0 --- /dev/null +++ b/deskutils/py-paperless/files/nginx.conf.in @@ -0,0 +1,18 @@ + server { + listen 80; + server_name localhost; + + location /static/ { + alias %%WWWDIR%%/static/; + } + + location / { + uwsgi_pass unix:/tmp/uwsgi-paperless.sock; + include uwsgi_params; + } + + error_page 500 502 503 504 /50x.html; + location = /50x.html { + root %%PREFIX%%/www/nginx-dist; + } + } diff --git a/deskutils/py-paperless/files/paperless-consumer.in b/deskutils/py-paperless/files/paperless-consumer.in new file mode 100644 index 000000000000..3dd2086cec1a --- /dev/null +++ b/deskutils/py-paperless/files/paperless-consumer.in @@ -0,0 +1,61 @@ +#!/bin/sh + +# $FreeBSD$ +# +# PROVIDE: paperless-consumer +# REQUIRE: LOGIN +# KEYWORD: shutdown +# +# Add the following line(s) to /etc/rc.conf to enable the paperless +# document consumer: +# paperless_consumer_enable (bool):XSet to "NO" by default. +# Set it to "YES" to enable +# paperless_consumer +# paperless_consumer_log_facility(str): Set to "daemon" by default. +# Consumer logging syslog facility. +# paperless_consumer_log_priority(str): Set to "notice" by default. +# Consumer logging syslog priority. +# paperless_consumer_log_tag(str): Set to "paperless-consumer" by default. +# Consumer logging syslog tag. +# paperless_consumer_restart_delay(int):Set to "60" by default. +# Consumer automatic restart delay in +# seconds. + +. /etc/rc.subr + +name="paperless_consumer" +rcvar="${name}_enable" + +# Set defaults +paperless_consumer_enable=${paperless_consumer_enable:-"NO"} +paperless_consumer_daemon_user=${paperless_consumer_user:-"paperless"} +paperless_consumer_log_facility=${paperless_consumer_log_facility:-"daemon"} +paperless_consumer_log_priority=${paperless_consumer_log_priority:-"notice"} +paperless_consumer_log_tag=${paperless_consumer_log_tag:-"paperless-consumer"} +paperless_consumer_restart_delay=${paperless_consumer_restart_delay:-"5"} + +paperless_consumer_env="LANG=en_US.UTF-8 PATH=$PATH:%%PREFIX%%/bin" + +start_precmd="${name}_prestart" + +pidfile="/var/run/paperless_consumer.pid" +command="/usr/sbin/daemon" +command_args="-cS -u ${paperless_consumer_daemon_user} \ + -P ${pidfile} \ + -t paperless-consumer \ + -l ${paperless_consumer_log_facility} \ + -s ${paperless_consumer_log_priority} \ + -T ${paperless_consumer_log_tag} \ + -R ${paperless_consumer_restart_delay} \ + %%PREFIX%%/bin/paperless document_consumer" + +paperless_consumer_prestart() +{ + %%ECHO%% "Applying potential migrations to ${name}." + env ${paperless_consumer_env} su \ + -m ${paperless_consumer_daemon_user} \ + -c 'sh -c "%%PREFIX%%/bin/paperless migrate --no-color -v 0"' +} + +load_rc_config ${name} +run_rc_command "$1" diff --git a/deskutils/py-paperless/files/paperless.7.in b/deskutils/py-paperless/files/paperless.7.in new file mode 100644 index 000000000000..f2bdd8ba7360 --- /dev/null +++ b/deskutils/py-paperless/files/paperless.7.in @@ -0,0 +1,259 @@ +.\" +.\" Copyright (c) 2019 Michael Gmelin +.\" +.\" All rights reserved. +.\" +.\" Redistribution and use in source and binary forms, with or without +.\" modification, are permitted provided that the following conditions +.\" are met: +.\" 1. Redistributions of source code must retain the above copyright +.\" notice, this list of conditions and the following disclaimer. +.\" 2. Redistributions in binary form must reproduce the above copyright +.\" notice, this list of conditions and the following disclaimer in the +.\" documentation and/or other materials provided with the distribution. +.\" +.\" THIS SOFTWARE IS PROVIDED BY THE DEVELOPERS ``AS IS'' AND ANY EXPRESS OR +.\" IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES +.\" OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. +.\" IN NO EVENT SHALL THE DEVELOPERS BE LIABLE FOR ANY DIRECT, INDIRECT, +.\" INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT +.\" NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, +.\" DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY +.\" THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT +.\" (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF +.\" THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. +.\" +.\" $FreeBSD$ +.\" +.Dd March 30, 2019 +.Dt PAPERLESS 7 +.Os +.Sh NAME +.Nm paperless +.Nd Index and archive scanned paper documents - installation +.Sh SYNOPSIS +.Nm pkg install %%PKGBASE%% +.Sh DESCRIPTION +.Em Paperless +is a simple Django application running in two parts: The consumer, +which does the indexing and a web interface, which allows searching +and downloading already-indexed documents. +.Pp +This man page documents how the +.Fx FreeBSD +port is installed and configured. +It assumes that the paperless package was already installed, e.g., from the +.Fx FreeBSD +package repo as described in +.Sx SYNOPSIS . +.Pp +For more information about using paperless, see +.Dq the official paperless documentation +.Pa ( file:/%%DOCSDIR%%/index.html +or +.Pa https://paperless.readthedocs.io ) . +.Pp +The package creates a symlink from +.Pa %%PYTHONPREFIX_SITELIBDIR%%/paperless/manage.py +to +.Pa %%PREFIX%%/bin/paperless +for convenience reasons, so whenever the official +documentation mentions +.Em manage.py +it can be substituted with +.Pa %%PREFIX%%/bin/paperless +or simply +.Pa paperless . +.Pp +.Em Paperless always needs to be run using the correct system user +and an UTF-8 codepage. +.Pp +The package %%PKGBASE%% created a user +.Em paperless +with the following home directory layout, setting appropriate +restrictive access permissions: +.Bl -tag -width "/var" +.It Pa /var/db/paperless +home directory (only writeable by root) +.Bl -tag -width "consume/" -compact +.It Pa consume/ +Consume directory writable by root, used as chroot directory +for sftp access (see below). +.Bl -tag -width "123" -compact +.It Pa input/ +Input files are dropped in there to be processed by the +paperless document consumer - either directly or via +a mechanism like sftp. +.El +.It Pa media/ +Directory used by paperless to store original files and +thumbnails. +.It Pa sqlite/ +Contains paperless' SQLite database. +.El +.El +.Sh CONSUMER SETUP +In case documents should be PGP encrypted, +.Va PAPERLESS_PASSPHRASE +needs to be configured in +.Pa %%PREFIX%%/etc/paperless.conf +first. +.Pp +Also, +.Va PAPERLESS_OCR_THREADS +can be tuned in the same configuration file to limit +the impact on system performance. +.Pp +To use paperless, the consumer is enabled +.Pp +.Dl "sysrc paperless_consumer_enable=YES" +.Pp +and subsequently started +.Pp +.Dl "service paperless-consumer start" +.Pp +(which also creates/updates the paperless SQLite database). +.Pp +Therefore, restarting the consumer after updates +.Pp +.Dl "service paperless-consumer restart" +.Pp +updates the database before starting the new program version. +.Sh WEB UI SETUP +Before using the web ui, make sure to create a super user and assign +a password +.Pp +.Dl "su -l paperless -c '%%PREFIX%%/bin/paperless createsuperuser'" +.Pp +It is recommended to host the web component using a real +web server, e.g., nginx + uwsgi. +.Pp +Install and configure uwsgi: +.Pp +.Dl "pkg install uwsgi-py36" +.Dl "mkdir -p %%PREFIX%%/etc/uwsgi" +.Dl "cp %%EXAMPLESDIR%%/uwsgi.ini \\" +.Dl " %%PREFIX%%/etc/uwsgi/paperless.ini" +.Dl "sysrc uwsgi_enable=YES" +.Dl "sysrc uwsgi_profiles+=paperless" +.Dl "sysrc uwsgi_paperless_socket_owner=paperless:www" +.Dl "sysrc uwsgi_paperless_uid=paperless" +.Dl "sysrc uwsgi_paperless_gid=paperless" +.Dl "sysrc uwsgi_paperless_configfile=%%PREFIX%%/etc/uwsgi/paperless.ini" +.Pp +Start the uwsgi process: +.Pp +.Dl "service uwsgi start paperless" +.Pp +Install nginx: +.Pp +.Dl "pkg install nginx" +.Pp +Create a basic server configuration ( +.Pa %%PREFIX%%/etc/nginx/nginx.conf +), example snippet: +.Pp +.Dl "server {" +.Dl " listen 80;" +.Dl " server_name localhost;" +.Dl "" +.Dl " location /static/ {" +.Dl " alias %%WWWDIR%%/static/;" +.Dl " }" +.Dl "" +.Dl " location / {" +.Dl " uwsgi_pass unix:/tmp/uwsgi-paperless.sock;" +.Dl " include uwsgi_params;" +.Dl " }" +.Dl "" +.Dl " error_page 500 502 503 504 /50x.html;" +.Dl " location = /50x.html {" +.Dl " root %%PREFIX%%/www/nginx-dist;" +.Dl " }" +.Dl "}" +.Pp +Enable and start nginx: +.Pp +.Dl "sysrc nginx_enable=YES" +.Dl "service nginx start" +.Pp +.Em \In the real world, nginx should be configured to use TLS +.Em and (potentially) client certificates . +.Sh SFTP SETUP +Setting up +.Em sftp +enabled direct upload of files to be processed by the paperless +consumer. +Some scanners allow configuring sftp with key based authentication, +which is convenient as it scans directly to the paperless processing +pipeline. +.Pp +In case paperless is using a dedicated instance of +.Xr sshd 8 , +access can be limited to the paperless user by adding +these lines to +.Pa /etc/ssh/sshd_config : +.Pp +.Dl "# Only include if sshd is dedicated to paperless" +.Dl "# otherwise you'll lock yourself out" +.Dl "AllowUsers paperless" +.Pp +The following block limits the paperless user to using the +.Xr sftp 1 +protocol and locks it into the consume directory: +.Pp +.Dl "# paperless can only do sftp and is dropped into correct directory" +.Dl "Match User paperless" +.Dl " ChrootDirectory %h/consume" +.Dl " ForceCommand internal-sftp -u 0077 -d /input" +.Dl " AllowTcpForwarding no" +.Dl " X11Forwarding no" +.Dl " PasswordAuthentication no" +.Pp +The public keys of authorized users/devices need to be added to +.Pa /var/db/paperless/.ssh/authorized_keys : +.Pp +.Dl "mkdir -p /var/db/paperless/.ssh" +.Dl "cat path/to/pubkey >>/var/db/paperless/.ssh/authorized_keys" +.Pp +Make sure +.Xr sshd 8 +is enabled and restart (or reload) it: +.Pp +.Dl "sysrc sshd_enable=YES" +.Dl "service sshd restart" +.Pp +The user will be dropped into the correct directory, so uploading +a file is as simple as: +.Pp +.Dl "echo put file.pdf | sftp -b - paperless@host" +.Sh FILES +.Bl -tag -width ".Pa %%PREFIX%%/etc/paperless.conf" -compact +.It Pa %%PREFIX%%/etc/paperless.conf +See self-documented +.Pa %%PREFIX%%/etc/paperless.conf.sample +for example. +.It Pa %%DOCSDIR%%/index.html +Official documentation for the version installed. +.It Pa %%DOCSDIR%%/presentation/index.html +Presentation of the motivation for and technology behind paperless. +.It Pa %%EXAMPLESDIR%% +Configuration examples, complementary to this man page. +.El +.Sh SEE ALSO +.Xr sftp 1 , +.Xr sshd_config 5 , +.Xr ports 7 , +.Xr daemon 8 , +.Xr service 8 , +.Xr sysrc 8 +.Pp +.Rs +.%B "Official paperless documentation" +.Re +.Pp +.Pa https://paperless.readthedocs.io +.Sh AUTHORS +.An -nosplit +This manual page was written by +.An Michael Gmelin Aq Mt grembo@FreeBSD.org . diff --git a/deskutils/py-paperless/files/patch-paperless.conf.example b/deskutils/py-paperless/files/patch-paperless.conf.example new file mode 100644 index 000000000000..1c733c3988a4 --- /dev/null +++ b/deskutils/py-paperless/files/patch-paperless.conf.example @@ -0,0 +1,29 @@ +--- paperless.conf.example.orig 2019-01-27 13:48:05 UTC ++++ paperless.conf.example +@@ -11,22 +11,22 @@ + # This where your documents should go to be consumed. Make sure that it exists + # and that the user running the paperless service can read/write its contents + # before you start Paperless. +-PAPERLESS_CONSUMPTION_DIR="" ++PAPERLESS_CONSUMPTION_DIR="/var/db/paperless/consume/input" + + + # You can specify where you want the SQLite database to be stored instead of + # the default location of /data/ within the install directory. +-#PAPERLESS_DBDIR=/path/to/database/file ++PAPERLESS_DBDIR=/var/db/paperless/sqlite + + + # Override the default MEDIA_ROOT here. This is where all files are stored. + # The default location is /media/documents/ within the install folder. +-#PAPERLESS_MEDIADIR=/path/to/media ++PAPERLESS_MEDIADIR=/var/db/paperless/media + + + # Override the default STATIC_ROOT here. This is where all static files + # created using "collectstatic" manager command are stored. +-#PAPERLESS_STATICDIR="" ++PAPERLESS_STATICDIR=%%WWWDIR%%/static + + + # Override the MEDIA_URL here. Unless you're hosting Paperless off a subdomain diff --git a/deskutils/py-paperless/files/pkg-message.in b/deskutils/py-paperless/files/pkg-message.in new file mode 100644 index 000000000000..4a75bbeeb74d --- /dev/null +++ b/deskutils/py-paperless/files/pkg-message.in @@ -0,0 +1,3 @@ +========================================================================= + Please see `man paperless' for details on how to configure paperless. +========================================================================= diff --git a/deskutils/py-paperless/files/sshd_config.in b/deskutils/py-paperless/files/sshd_config.in new file mode 100644 index 000000000000..aab9e1692f39 --- /dev/null +++ b/deskutils/py-paperless/files/sshd_config.in @@ -0,0 +1,14 @@ +### Configuration for uploading documents via SFTP +### e.g. using a scanner that supports such a feature + +# Only include if sshd is dedicated to paperless +# otherwise you'll lock yourself out +AllowUsers paperless + +# paperless can only do sftp and is dropped into correct directory +Match User paperless + ChrootDirectory %h/consume + ForceCommand internal-sftp -u 0077 -d /input + AllowTcpForwarding no + X11Forwarding no + PasswordAuthentication no diff --git a/deskutils/py-paperless/files/uwsgi.ini.in b/deskutils/py-paperless/files/uwsgi.ini.in new file mode 100644 index 000000000000..c991c5b1bb68 --- /dev/null +++ b/deskutils/py-paperless/files/uwsgi.ini.in @@ -0,0 +1,9 @@ +[uwsgi] +chdir = %%PYTHONPREFIX_SITELIBDIR%%/paperless +module = paperless.wsgi:application +env = DJANGO_SETTINGS_MODULE=paperless.settings +env = LANG=en_US.UTF-8 +env = PATH=$PATH:%%PREFIX%%/bin +harakiri = 20 +max-requests = 500 +vacuum = true diff --git a/deskutils/py-paperless/pkg-descr b/deskutils/py-paperless/pkg-descr new file mode 100644 index 000000000000..21fb4ed5baaf --- /dev/null +++ b/deskutils/py-paperless/pkg-descr @@ -0,0 +1,8 @@ +Index and archive all of your scanned paper documents. + +Paperless is a simple Django application running in two parts: The consumer, +which does the indexing and a web interface, which let's you you search and +download already-indexed documents. + +WWW: https://github.com/the-paperless-project/paperless +WWW: https://paperless.readthedocs.io diff --git a/deskutils/py-paperless/pkg-plist b/deskutils/py-paperless/pkg-plist new file mode 100644 index 000000000000..bd1c24d0588f --- /dev/null +++ b/deskutils/py-paperless/pkg-plist @@ -0,0 +1,741 @@ +bin/paperless +@sample(paperless,paperless,0600) etc/paperless.conf.sample +%%PYTHON_SITELIBDIR%%/paperless/__pycache__/manage.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/__pycache__/manage.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/__init__.py +%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/actions.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/actions.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/admin.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/admin.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/apps.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/apps.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/checks.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/checks.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/consumer.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/consumer.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/filters.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/filters.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/forms.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/forms.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/loggers.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/loggers.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/mail.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/mail.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/managers.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/managers.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/mixins.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/mixins.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/models.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/models.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/parsers.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/parsers.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/serialisers.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/serialisers.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/settings.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/settings.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/views.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/__pycache__/views.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/actions.py +%%PYTHON_SITELIBDIR%%/paperless/documents/admin.py +%%PYTHON_SITELIBDIR%%/paperless/documents/apps.py +%%PYTHON_SITELIBDIR%%/paperless/documents/checks.py +%%PYTHON_SITELIBDIR%%/paperless/documents/consumer.py +%%PYTHON_SITELIBDIR%%/paperless/documents/filters.py +%%PYTHON_SITELIBDIR%%/paperless/documents/forms.py +%%PYTHON_SITELIBDIR%%/paperless/documents/loggers.py +%%PYTHON_SITELIBDIR%%/paperless/documents/mail.py +%%PYTHON_SITELIBDIR%%/paperless/documents/management/__init__.py +%%PYTHON_SITELIBDIR%%/paperless/documents/management/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/management/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/__init__.py +%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/__pycache__/change_storage_type.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/__pycache__/change_storage_type.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/__pycache__/document_consumer.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/__pycache__/document_consumer.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/__pycache__/document_correspondents.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/__pycache__/document_correspondents.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/__pycache__/document_exporter.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/__pycache__/document_exporter.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/__pycache__/document_importer.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/__pycache__/document_importer.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/__pycache__/document_logs.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/__pycache__/document_logs.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/__pycache__/document_retagger.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/__pycache__/document_retagger.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/__pycache__/loaddata_stdin.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/__pycache__/loaddata_stdin.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/change_storage_type.py +%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/document_consumer.py +%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/document_correspondents.py +%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/document_exporter.py +%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/document_importer.py +%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/document_logs.py +%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/document_retagger.py +%%PYTHON_SITELIBDIR%%/paperless/documents/management/commands/loaddata_stdin.py +%%PYTHON_SITELIBDIR%%/paperless/documents/managers.py +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/0001_initial.py +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/0002_auto_20151226_1316.py +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/0003_sender.py +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/0004_auto_20160114_1844.py +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/0005_auto_20160123_0313.py +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/0006_auto_20160123_0430.py +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/0007_auto_20160126_2114.py +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/0008_document_file_type.py +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/0009_auto_20160214_0040.py +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/0010_log.py +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/0011_auto_20160303_1929.py +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/0012_auto_20160305_0040.py +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/0013_auto_20160325_2111.py +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/0014_document_checksum.py +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/0015_add_insensitive_to_match.py +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/0016_auto_20170325_1558.py +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/0017_auto_20170512_0507.py +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/0018_auto_20170715_1712.py +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/0019_add_consumer_user.py +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/0020_document_added.py +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/0021_document_storage_type.py +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/0022_auto_20181007_1420.py +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__init__.py +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0001_initial.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0001_initial.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0002_auto_20151226_1316.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0002_auto_20151226_1316.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0003_sender.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0003_sender.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0004_auto_20160114_1844.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0004_auto_20160114_1844.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0005_auto_20160123_0313.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0005_auto_20160123_0313.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0006_auto_20160123_0430.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0006_auto_20160123_0430.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0007_auto_20160126_2114.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0007_auto_20160126_2114.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0008_document_file_type.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0008_document_file_type.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0009_auto_20160214_0040.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0009_auto_20160214_0040.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0010_log.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0010_log.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0011_auto_20160303_1929.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0011_auto_20160303_1929.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0012_auto_20160305_0040.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0012_auto_20160305_0040.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0013_auto_20160325_2111.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0013_auto_20160325_2111.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0014_document_checksum.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0014_document_checksum.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0015_add_insensitive_to_match.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0015_add_insensitive_to_match.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0016_auto_20170325_1558.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0016_auto_20170325_1558.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0017_auto_20170512_0507.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0017_auto_20170512_0507.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0018_auto_20170715_1712.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0018_auto_20170715_1712.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0019_add_consumer_user.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0019_add_consumer_user.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0020_document_added.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0020_document_added.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0021_document_storage_type.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0021_document_storage_type.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0022_auto_20181007_1420.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/0022_auto_20181007_1420.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/migrations/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/mixins.py +%%PYTHON_SITELIBDIR%%/paperless/documents/models.py +%%PYTHON_SITELIBDIR%%/paperless/documents/parsers.py +%%PYTHON_SITELIBDIR%%/paperless/documents/serialisers.py +%%PYTHON_SITELIBDIR%%/paperless/documents/settings.py +%%PYTHON_SITELIBDIR%%/paperless/documents/signals/__init__.py +%%PYTHON_SITELIBDIR%%/paperless/documents/signals/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/signals/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/signals/__pycache__/handlers.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/signals/__pycache__/handlers.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/signals/handlers.py +%%PYTHON_SITELIBDIR%%/paperless/documents/static/documents/img/gif.png +%%PYTHON_SITELIBDIR%%/paperless/documents/static/documents/img/image.png +%%PYTHON_SITELIBDIR%%/paperless/documents/static/documents/img/jpg.png +%%PYTHON_SITELIBDIR%%/paperless/documents/static/documents/img/pdf.png +%%PYTHON_SITELIBDIR%%/paperless/documents/static/documents/img/png.png +%%PYTHON_SITELIBDIR%%/paperless/documents/static/documents/img/tiff.png +%%PYTHON_SITELIBDIR%%/paperless/documents/static/js/colours.js +%%PYTHON_SITELIBDIR%%/paperless/documents/static/paperless.css +%%PYTHON_SITELIBDIR%%/paperless/documents/templates/admin/base_site.html +%%PYTHON_SITELIBDIR%%/paperless/documents/templates/admin/documents/document/change_form.html +%%PYTHON_SITELIBDIR%%/paperless/documents/templates/admin/documents/document/change_list.html +%%PYTHON_SITELIBDIR%%/paperless/documents/templates/admin/documents/document/change_list_results.html +%%PYTHON_SITELIBDIR%%/paperless/documents/templates/admin/documents/document/select_object.html +%%PYTHON_SITELIBDIR%%/paperless/documents/templates/admin/index.html +%%PYTHON_SITELIBDIR%%/paperless/documents/templates/documents/index.html +%%PYTHON_SITELIBDIR%%/paperless/documents/templatetags/__init__.py +%%PYTHON_SITELIBDIR%%/paperless/documents/templatetags/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/templatetags/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/templatetags/__pycache__/customisation.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/templatetags/__pycache__/customisation.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/templatetags/__pycache__/hacks.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/templatetags/__pycache__/hacks.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/templatetags/customisation.py +%%PYTHON_SITELIBDIR%%/paperless/documents/templatetags/hacks.py +%%PYTHON_SITELIBDIR%%/paperless/documents/tests/__init__.py +%%PYTHON_SITELIBDIR%%/paperless/documents/tests/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/tests/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/tests/__pycache__/factories.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/tests/__pycache__/factories.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/tests/__pycache__/test_checks.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/tests/__pycache__/test_checks.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/tests/__pycache__/test_consumer.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/tests/__pycache__/test_consumer.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/tests/__pycache__/test_document_model.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/tests/__pycache__/test_document_model.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/tests/__pycache__/test_importer.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/tests/__pycache__/test_importer.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/tests/__pycache__/test_logger.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/tests/__pycache__/test_logger.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/tests/__pycache__/test_mail.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/tests/__pycache__/test_mail.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/tests/__pycache__/test_matchables.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/tests/__pycache__/test_matchables.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/tests/__pycache__/test_models.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/documents/tests/__pycache__/test_models.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/documents/tests/factories.py +%%PYTHON_SITELIBDIR%%/paperless/documents/tests/samples/inline_mail.txt +%%PYTHON_SITELIBDIR%%/paperless/documents/tests/samples/mail.txt +%%PYTHON_SITELIBDIR%%/paperless/documents/tests/test_checks.py +%%PYTHON_SITELIBDIR%%/paperless/documents/tests/test_consumer.py +%%PYTHON_SITELIBDIR%%/paperless/documents/tests/test_document_model.py +%%PYTHON_SITELIBDIR%%/paperless/documents/tests/test_importer.py +%%PYTHON_SITELIBDIR%%/paperless/documents/tests/test_logger.py +%%PYTHON_SITELIBDIR%%/paperless/documents/tests/test_mail.py +%%PYTHON_SITELIBDIR%%/paperless/documents/tests/test_matchables.py +%%PYTHON_SITELIBDIR%%/paperless/documents/tests/test_models.py +%%PYTHON_SITELIBDIR%%/paperless/documents/views.py +@mode 0755 +%%PYTHON_SITELIBDIR%%/paperless/manage.py +@mode +%%PYTHON_SITELIBDIR%%/paperless/paperless/__init__.py +%%PYTHON_SITELIBDIR%%/paperless/paperless/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/paperless/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/paperless/__pycache__/checks.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/paperless/__pycache__/checks.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/paperless/__pycache__/db.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/paperless/__pycache__/db.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/paperless/__pycache__/middleware.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/paperless/__pycache__/middleware.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/paperless/__pycache__/mixins.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/paperless/__pycache__/mixins.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/paperless/__pycache__/models.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/paperless/__pycache__/models.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/paperless/__pycache__/settings.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/paperless/__pycache__/settings.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/paperless/__pycache__/urls.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/paperless/__pycache__/urls.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/paperless/__pycache__/version.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/paperless/__pycache__/version.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/paperless/__pycache__/views.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/paperless/__pycache__/views.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/paperless/__pycache__/wsgi.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/paperless/__pycache__/wsgi.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/paperless/checks.py +%%PYTHON_SITELIBDIR%%/paperless/paperless/db.py +%%PYTHON_SITELIBDIR%%/paperless/paperless/middleware.py +%%PYTHON_SITELIBDIR%%/paperless/paperless/mixins.py +%%PYTHON_SITELIBDIR%%/paperless/paperless/models.py +%%PYTHON_SITELIBDIR%%/paperless/paperless/settings.py +%%PYTHON_SITELIBDIR%%/paperless/paperless/static/paperless/img/favicon.ico +%%PYTHON_SITELIBDIR%%/paperless/paperless/static/paperless/img/logo-dark.png +%%PYTHON_SITELIBDIR%%/paperless/paperless/static/paperless/img/logo-light.png +%%PYTHON_SITELIBDIR%%/paperless/paperless/urls.py +%%PYTHON_SITELIBDIR%%/paperless/paperless/version.py +%%PYTHON_SITELIBDIR%%/paperless/paperless/views.py +%%PYTHON_SITELIBDIR%%/paperless/paperless/wsgi.py +%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/__init__.py +%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/__pycache__/apps.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/__pycache__/apps.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/__pycache__/languages.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/__pycache__/languages.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/__pycache__/parsers.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/__pycache__/parsers.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/__pycache__/signals.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/__pycache__/signals.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/apps.py +%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/languages.py +%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/parsers.py +%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/signals.py +%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/tests/__init__.py +%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/tests/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/tests/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/tests/__pycache__/test_date.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/tests/__pycache__/test_date.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/tests/__pycache__/test_ocr.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/tests/__pycache__/test_ocr.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/tests/__pycache__/test_signals.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/tests/__pycache__/test_signals.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/tests/samples/no-text.png +%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/tests/test_date.py +%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/tests/test_ocr.py +%%PYTHON_SITELIBDIR%%/paperless/paperless_tesseract/tests/test_signals.py +%%PYTHON_SITELIBDIR%%/paperless/paperless_text/__init__.py +%%PYTHON_SITELIBDIR%%/paperless/paperless_text/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/paperless_text/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/paperless_text/__pycache__/apps.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/paperless_text/__pycache__/apps.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/paperless_text/__pycache__/parsers.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/paperless_text/__pycache__/parsers.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/paperless_text/__pycache__/signals.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/paperless_text/__pycache__/signals.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/paperless_text/apps.py +%%PYTHON_SITELIBDIR%%/paperless/paperless_text/parsers.py +%%PYTHON_SITELIBDIR%%/paperless/paperless_text/signals.py +%%PYTHON_SITELIBDIR%%/paperless/reminders/__init__.py +%%PYTHON_SITELIBDIR%%/paperless/reminders/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/reminders/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/reminders/__pycache__/admin.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/reminders/__pycache__/admin.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/reminders/__pycache__/apps.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/reminders/__pycache__/apps.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/reminders/__pycache__/filters.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/reminders/__pycache__/filters.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/reminders/__pycache__/models.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/reminders/__pycache__/models.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/reminders/__pycache__/serialisers.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/reminders/__pycache__/serialisers.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/reminders/__pycache__/tests.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/reminders/__pycache__/tests.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/reminders/__pycache__/views.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/reminders/__pycache__/views.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/reminders/admin.py +%%PYTHON_SITELIBDIR%%/paperless/reminders/apps.py +%%PYTHON_SITELIBDIR%%/paperless/reminders/filters.py +%%PYTHON_SITELIBDIR%%/paperless/reminders/migrations/0001_initial.py +%%PYTHON_SITELIBDIR%%/paperless/reminders/migrations/0002_auto_20181007_1420.py +%%PYTHON_SITELIBDIR%%/paperless/reminders/migrations/__init__.py +%%PYTHON_SITELIBDIR%%/paperless/reminders/migrations/__pycache__/0001_initial.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/reminders/migrations/__pycache__/0001_initial.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/reminders/migrations/__pycache__/0002_auto_20181007_1420.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/reminders/migrations/__pycache__/0002_auto_20181007_1420.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/reminders/migrations/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.%%PYTHON_PYOEXTENSION%% +%%PYTHON_SITELIBDIR%%/paperless/reminders/migrations/__pycache__/__init__.cpython-%%PYTHON_SUFFIX%%.pyc +%%PYTHON_SITELIBDIR%%/paperless/reminders/models.py +%%PYTHON_SITELIBDIR%%/paperless/reminders/serialisers.py +%%PYTHON_SITELIBDIR%%/paperless/reminders/tests.py +%%PYTHON_SITELIBDIR%%/paperless/reminders/views.py +%%PYTHON_SITELIBDIR%%/paperless/setup.cfg +%%PYTHON_SITELIBDIR%%/paperless/tox.ini +man/man7/paperless.7.gz +%%PORTDOCS%%%%DOCSDIR%%/.buildinfo +%%PORTDOCS%%%%DOCSDIR%%/_sources/api.rst.txt +%%PORTDOCS%%%%DOCSDIR%%/_sources/changelog.rst.txt +%%PORTDOCS%%%%DOCSDIR%%/_sources/consumption.rst.txt +%%PORTDOCS%%%%DOCSDIR%%/_sources/contributing.rst.txt +%%PORTDOCS%%%%DOCSDIR%%/_sources/customising.rst.txt +%%PORTDOCS%%%%DOCSDIR%%/_sources/extending.rst.txt +%%PORTDOCS%%%%DOCSDIR%%/_sources/guesswork.rst.txt +%%PORTDOCS%%%%DOCSDIR%%/_sources/index.rst.txt +%%PORTDOCS%%%%DOCSDIR%%/_sources/migrating.rst.txt +%%PORTDOCS%%%%DOCSDIR%%/_sources/requirements.rst.txt +%%PORTDOCS%%%%DOCSDIR%%/_sources/scanners.rst.txt +%%PORTDOCS%%%%DOCSDIR%%/_sources/setup.rst.txt +%%PORTDOCS%%%%DOCSDIR%%/_sources/troubleshooting.rst.txt +%%PORTDOCS%%%%DOCSDIR%%/_sources/utilities.rst.txt +%%PORTDOCS%%%%DOCSDIR%%/_static/ajax-loader.gif +%%PORTDOCS%%%%DOCSDIR%%/_static/basic.css +%%PORTDOCS%%%%DOCSDIR%%/_static/comment-bright.png +%%PORTDOCS%%%%DOCSDIR%%/_static/comment-close.png +%%PORTDOCS%%%%DOCSDIR%%/_static/comment.png +%%PORTDOCS%%%%DOCSDIR%%/_static/css/badge_only.css +%%PORTDOCS%%%%DOCSDIR%%/_static/css/theme.css +%%PORTDOCS%%%%DOCSDIR%%/_static/custom.css +%%PORTDOCS%%%%DOCSDIR%%/_static/doctools.js +%%PORTDOCS%%%%DOCSDIR%%/_static/down-pressed.png +%%PORTDOCS%%%%DOCSDIR%%/_static/down.png +%%PORTDOCS%%%%DOCSDIR%%/_static/file.png +%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/Lato/lato-bold.eot +%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/Lato/lato-bold.ttf +%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/Lato/lato-bold.woff +%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/Lato/lato-bold.woff2 +%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/Lato/lato-bolditalic.eot +%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/Lato/lato-bolditalic.ttf +%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/Lato/lato-bolditalic.woff +%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/Lato/lato-bolditalic.woff2 +%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/Lato/lato-italic.eot +%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/Lato/lato-italic.ttf +%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/Lato/lato-italic.woff +%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/Lato/lato-italic.woff2 +%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/Lato/lato-regular.eot +%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/Lato/lato-regular.ttf +%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/Lato/lato-regular.woff +%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/Lato/lato-regular.woff2 +%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/RobotoSlab/roboto-slab-v7-bold.eot +%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/RobotoSlab/roboto-slab-v7-bold.ttf +%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff +%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/RobotoSlab/roboto-slab-v7-bold.woff2 +%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/RobotoSlab/roboto-slab-v7-regular.eot +%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/RobotoSlab/roboto-slab-v7-regular.ttf +%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff +%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/RobotoSlab/roboto-slab-v7-regular.woff2 +%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/fontawesome-webfont.eot +%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/fontawesome-webfont.svg +%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/fontawesome-webfont.ttf +%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/fontawesome-webfont.woff +%%PORTDOCS%%%%DOCSDIR%%/_static/fonts/fontawesome-webfont.woff2 +%%PORTDOCS%%%%DOCSDIR%%/_static/jquery-3.1.0.js +%%PORTDOCS%%%%DOCSDIR%%/_static/jquery.js +%%PORTDOCS%%%%DOCSDIR%%/_static/js/modernizr.min.js +%%PORTDOCS%%%%DOCSDIR%%/_static/js/theme.js +%%PORTDOCS%%%%DOCSDIR%%/_static/minus.png +%%PORTDOCS%%%%DOCSDIR%%/_static/plus.png +%%PORTDOCS%%%%DOCSDIR%%/_static/pygments.css +%%PORTDOCS%%%%DOCSDIR%%/_static/screenshot.png +%%PORTDOCS%%%%DOCSDIR%%/_static/searchtools.js +%%PORTDOCS%%%%DOCSDIR%%/_static/underscore-1.3.1.js +%%PORTDOCS%%%%DOCSDIR%%/_static/underscore.js +%%PORTDOCS%%%%DOCSDIR%%/_static/up-pressed.png +%%PORTDOCS%%%%DOCSDIR%%/_static/up.png +%%PORTDOCS%%%%DOCSDIR%%/_static/websupport.js +%%PORTDOCS%%%%DOCSDIR%%/api.html +%%PORTDOCS%%%%DOCSDIR%%/changelog.html +%%PORTDOCS%%%%DOCSDIR%%/consumption.html +%%PORTDOCS%%%%DOCSDIR%%/contributing.html +%%PORTDOCS%%%%DOCSDIR%%/customising.html +%%PORTDOCS%%%%DOCSDIR%%/extending.html +%%PORTDOCS%%%%DOCSDIR%%/genindex.html +%%PORTDOCS%%%%DOCSDIR%%/guesswork.html +%%PORTDOCS%%%%DOCSDIR%%/index.html +%%PORTDOCS%%%%DOCSDIR%%/migrating.html +%%PORTDOCS%%%%DOCSDIR%%/objects.inv +%%PORTDOCS%%%%DOCSDIR%%/presentation/README.md +%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/css/font-awesome.css +%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/css/font-awesome.min.css +%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/fonts/FontAwesome.otf +%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/fonts/fontawesome-webfont.eot +%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/fonts/fontawesome-webfont.svg +%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/fonts/fontawesome-webfont.ttf +%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/fonts/fontawesome-webfont.woff +%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/fonts/fontawesome-webfont.woff2 +%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/less/animated.less +%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/less/bordered-pulled.less +%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/less/core.less +%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/less/fixed-width.less +%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/less/font-awesome.less +%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/less/icons.less +%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/less/larger.less +%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/less/list.less +%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/less/mixins.less +%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/less/path.less +%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/less/rotated-flipped.less +%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/less/stacked.less +%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/less/variables.less +%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/scss/_animated.scss +%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/scss/_bordered-pulled.scss +%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/scss/_core.scss +%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/scss/_fixed-width.scss +%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/scss/_icons.scss +%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/scss/_larger.scss +%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/scss/_list.scss +%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/scss/_mixins.scss +%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/scss/_path.scss +%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/scss/_rotated-flipped.scss +%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/scss/_stacked.scss +%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/scss/_variables.scss +%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/font-awesome-4.3.0/scss/font-awesome.scss +%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/google/css/lato.css +%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/google/fonts/DvlFBScY1r-FMtZSYIYoYw.ttf +%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/google/fonts/HkF_qI1x_noxlxhrhMQYEKCWcynf_cDxXwCLxiixG1c.ttf +%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/google/fonts/LqowQDslGv4DmUBAfWa2Vw.ttf +%%PORTDOCS%%%%DOCSDIR%%/presentation/contrib/google/fonts/v0SdcGFAl2aezM9Vq_aFTQ.ttf +%%PORTDOCS%%%%DOCSDIR%%/presentation/css/print/paper.css +%%PORTDOCS%%%%DOCSDIR%%/presentation/css/print/pdf.css +%%PORTDOCS%%%%DOCSDIR%%/presentation/css/reveal.css +%%PORTDOCS%%%%DOCSDIR%%/presentation/css/reveal.scss +%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/README.md +%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/beige.css +%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/black.css +%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/blood.css +%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/league.css +%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/moon.css +%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/night.css +%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/serif.css +%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/simple.css +%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/sky.css +%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/solarized.css +%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/source/beige.scss +%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/source/black.scss +%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/source/blood.scss +%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/source/league.scss +%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/source/moon.scss +%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/source/night.scss +%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/source/serif.scss +%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/source/simple.scss +%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/source/sky.scss +%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/source/solarized.scss +%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/source/white.scss +%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/template/mixins.scss +%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/template/settings.scss +%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/template/theme.scss +%%PORTDOCS%%%%DOCSDIR%%/presentation/css/theme/white.css +%%PORTDOCS%%%%DOCSDIR%%/presentation/img/kitten.jpg +%%PORTDOCS%%%%DOCSDIR%%/presentation/img/pony.png +%%PORTDOCS%%%%DOCSDIR%%/presentation/img/repo.svg +%%PORTDOCS%%%%DOCSDIR%%/presentation/img/stack.jpg +%%PORTDOCS%%%%DOCSDIR%%/presentation/index.html +%%PORTDOCS%%%%DOCSDIR%%/presentation/js/reveal.js +%%PORTDOCS%%%%DOCSDIR%%/presentation/lib/css/zenburn.css +%%PORTDOCS%%%%DOCSDIR%%/presentation/lib/font/league-gothic/LICENSE +%%PORTDOCS%%%%DOCSDIR%%/presentation/lib/font/league-gothic/league-gothic.css +%%PORTDOCS%%%%DOCSDIR%%/presentation/lib/font/league-gothic/league-gothic.eot +%%PORTDOCS%%%%DOCSDIR%%/presentation/lib/font/league-gothic/league-gothic.ttf +%%PORTDOCS%%%%DOCSDIR%%/presentation/lib/font/league-gothic/league-gothic.woff +%%PORTDOCS%%%%DOCSDIR%%/presentation/lib/font/source-sans-pro/LICENSE +%%PORTDOCS%%%%DOCSDIR%%/presentation/lib/font/source-sans-pro/source-sans-pro-italic.eot +%%PORTDOCS%%%%DOCSDIR%%/presentation/lib/font/source-sans-pro/source-sans-pro-italic.ttf +%%PORTDOCS%%%%DOCSDIR%%/presentation/lib/font/source-sans-pro/source-sans-pro-italic.woff +%%PORTDOCS%%%%DOCSDIR%%/presentation/lib/font/source-sans-pro/source-sans-pro-regular.eot +%%PORTDOCS%%%%DOCSDIR%%/presentation/lib/font/source-sans-pro/source-sans-pro-regular.ttf +%%PORTDOCS%%%%DOCSDIR%%/presentation/lib/font/source-sans-pro/source-sans-pro-regular.woff +%%PORTDOCS%%%%DOCSDIR%%/presentation/lib/font/source-sans-pro/source-sans-pro-semibold.eot +%%PORTDOCS%%%%DOCSDIR%%/presentation/lib/font/source-sans-pro/source-sans-pro-semibold.ttf +%%PORTDOCS%%%%DOCSDIR%%/presentation/lib/font/source-sans-pro/source-sans-pro-semibold.woff +%%PORTDOCS%%%%DOCSDIR%%/presentation/lib/font/source-sans-pro/source-sans-pro-semibolditalic.eot +%%PORTDOCS%%%%DOCSDIR%%/presentation/lib/font/source-sans-pro/source-sans-pro-semibolditalic.ttf +%%PORTDOCS%%%%DOCSDIR%%/presentation/lib/font/source-sans-pro/source-sans-pro-semibolditalic.woff +%%PORTDOCS%%%%DOCSDIR%%/presentation/lib/font/source-sans-pro/source-sans-pro.css +%%PORTDOCS%%%%DOCSDIR%%/presentation/lib/js/classList.js +%%PORTDOCS%%%%DOCSDIR%%/presentation/lib/js/head.min.js +%%PORTDOCS%%%%DOCSDIR%%/presentation/lib/js/html5shiv.js +%%PORTDOCS%%%%DOCSDIR%%/presentation/plugin/highlight/highlight.js +%%PORTDOCS%%%%DOCSDIR%%/presentation/plugin/leap/leap.js +%%PORTDOCS%%%%DOCSDIR%%/presentation/plugin/markdown/example.html +%%PORTDOCS%%%%DOCSDIR%%/presentation/plugin/markdown/example.md +%%PORTDOCS%%%%DOCSDIR%%/presentation/plugin/markdown/markdown.js +%%PORTDOCS%%%%DOCSDIR%%/presentation/plugin/markdown/marked.js +%%PORTDOCS%%%%DOCSDIR%%/presentation/plugin/math/math.js +%%PORTDOCS%%%%DOCSDIR%%/presentation/plugin/multiplex/client.js +%%PORTDOCS%%%%DOCSDIR%%/presentation/plugin/multiplex/index.js +%%PORTDOCS%%%%DOCSDIR%%/presentation/plugin/multiplex/master.js +%%PORTDOCS%%%%DOCSDIR%%/presentation/plugin/notes-server/client.js +%%PORTDOCS%%%%DOCSDIR%%/presentation/plugin/notes-server/index.js +%%PORTDOCS%%%%DOCSDIR%%/presentation/plugin/notes-server/notes.html +%%PORTDOCS%%%%DOCSDIR%%/presentation/plugin/notes/notes.html +%%PORTDOCS%%%%DOCSDIR%%/presentation/plugin/notes/notes.js +%%PORTDOCS%%%%DOCSDIR%%/presentation/plugin/print-pdf/print-pdf.js +%%PORTDOCS%%%%DOCSDIR%%/presentation/plugin/remotes/remotes.js +%%PORTDOCS%%%%DOCSDIR%%/presentation/plugin/search/search.js +%%PORTDOCS%%%%DOCSDIR%%/presentation/plugin/zoom-js/zoom.js +%%PORTDOCS%%%%DOCSDIR%%/requirements.html +%%PORTDOCS%%%%DOCSDIR%%/scanners.html +%%PORTDOCS%%%%DOCSDIR%%/search.html +%%PORTDOCS%%%%DOCSDIR%%/searchindex.js +%%PORTDOCS%%%%DOCSDIR%%/setup.html +%%PORTDOCS%%%%DOCSDIR%%/troubleshooting.html +%%PORTDOCS%%%%DOCSDIR%%/utilities.html +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/README +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/nginx.conf +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/sshd_config +%%PORTEXAMPLES%%%%EXAMPLESDIR%%/uwsgi.ini +%%DATADIR%%/logo/print/eps/Black logo - no background.eps +%%DATADIR%%/logo/print/eps/Color logo - no background.eps +%%DATADIR%%/logo/print/eps/Color logo with background.eps +%%DATADIR%%/logo/print/eps/White logo - no background.eps +%%DATADIR%%/logo/print/pdf/Black logo - no background.pdf +%%DATADIR%%/logo/print/pdf/Color logo - no background.pdf +%%DATADIR%%/logo/print/pdf/Color logo with background.pdf +%%DATADIR%%/logo/print/pdf/White logo - no background.pdf +%%DATADIR%%/logo/web/png/Black logo - no background.png +%%DATADIR%%/logo/web/png/Color logo - no background.png +%%DATADIR%%/logo/web/png/Color logo with background.png +%%DATADIR%%/logo/web/png/White logo - no background.png +%%DATADIR%%/logo/web/svg/Black logo - no background.svg +%%DATADIR%%/logo/web/svg/Color logo - no background.svg +%%DATADIR%%/logo/web/svg/Color logo with background.svg +%%DATADIR%%/logo/web/svg/White logo - no background.svg +%%DATADIR%%/logo/web/svg/square.svg +%%WWWDIR%%/static/admin/css/autocomplete.css +%%WWWDIR%%/static/admin/css/base.css +%%WWWDIR%%/static/admin/css/changelists.css +%%WWWDIR%%/static/admin/css/dashboard.css +%%WWWDIR%%/static/admin/css/fonts.css +%%WWWDIR%%/static/admin/css/forms.css +%%WWWDIR%%/static/admin/css/login.css +%%WWWDIR%%/static/admin/css/responsive.css +%%WWWDIR%%/static/admin/css/responsive_rtl.css +%%WWWDIR%%/static/admin/css/rtl.css +%%WWWDIR%%/static/admin/css/vendor/select2/LICENSE-SELECT2.md +%%WWWDIR%%/static/admin/css/vendor/select2/select2.css +%%WWWDIR%%/static/admin/css/vendor/select2/select2.min.css +%%WWWDIR%%/static/admin/css/widgets.css +%%WWWDIR%%/static/admin/fonts/LICENSE.txt +%%WWWDIR%%/static/admin/fonts/README.txt +%%WWWDIR%%/static/admin/fonts/Roboto-Bold-webfont.woff +%%WWWDIR%%/static/admin/fonts/Roboto-Light-webfont.woff +%%WWWDIR%%/static/admin/fonts/Roboto-Regular-webfont.woff +%%WWWDIR%%/static/admin/img/LICENSE +%%WWWDIR%%/static/admin/img/README.txt +%%WWWDIR%%/static/admin/img/calendar-icons.svg +%%WWWDIR%%/static/admin/img/gis/move_vertex_off.svg +%%WWWDIR%%/static/admin/img/gis/move_vertex_on.svg +%%WWWDIR%%/static/admin/img/icon-addlink.svg +%%WWWDIR%%/static/admin/img/icon-alert.svg +%%WWWDIR%%/static/admin/img/icon-calendar.svg +%%WWWDIR%%/static/admin/img/icon-changelink.svg +%%WWWDIR%%/static/admin/img/icon-clock.svg +%%WWWDIR%%/static/admin/img/icon-deletelink.svg +%%WWWDIR%%/static/admin/img/icon-no.svg +%%WWWDIR%%/static/admin/img/icon-unknown-alt.svg +%%WWWDIR%%/static/admin/img/icon-unknown.svg +%%WWWDIR%%/static/admin/img/icon-viewlink.svg +%%WWWDIR%%/static/admin/img/icon-yes.svg +%%WWWDIR%%/static/admin/img/inline-delete.svg +%%WWWDIR%%/static/admin/img/search.svg +%%WWWDIR%%/static/admin/img/selector-icons.svg +%%WWWDIR%%/static/admin/img/sorting-icons.svg +%%WWWDIR%%/static/admin/img/tooltag-add.svg +%%WWWDIR%%/static/admin/img/tooltag-arrowright.svg +%%WWWDIR%%/static/admin/js/SelectBox.js +%%WWWDIR%%/static/admin/js/SelectFilter2.js +%%WWWDIR%%/static/admin/js/actions.js +%%WWWDIR%%/static/admin/js/actions.min.js +%%WWWDIR%%/static/admin/js/admin/DateTimeShortcuts.js +%%WWWDIR%%/static/admin/js/admin/RelatedObjectLookups.js +%%WWWDIR%%/static/admin/js/autocomplete.js +%%WWWDIR%%/static/admin/js/calendar.js +%%WWWDIR%%/static/admin/js/cancel.js +%%WWWDIR%%/static/admin/js/change_form.js +%%WWWDIR%%/static/admin/js/collapse.js +%%WWWDIR%%/static/admin/js/collapse.min.js +%%WWWDIR%%/static/admin/js/core.js +%%WWWDIR%%/static/admin/js/inlines.js +%%WWWDIR%%/static/admin/js/inlines.min.js +%%WWWDIR%%/static/admin/js/jquery.init.js +%%WWWDIR%%/static/admin/js/popup_response.js +%%WWWDIR%%/static/admin/js/prepopulate.js +%%WWWDIR%%/static/admin/js/prepopulate.min.js +%%WWWDIR%%/static/admin/js/prepopulate_init.js +%%WWWDIR%%/static/admin/js/timeparse.js +%%WWWDIR%%/static/admin/js/urlify.js +%%WWWDIR%%/static/admin/js/vendor/jquery/LICENSE.txt +%%WWWDIR%%/static/admin/js/vendor/jquery/jquery.js +%%WWWDIR%%/static/admin/js/vendor/jquery/jquery.min.js +%%WWWDIR%%/static/admin/js/vendor/select2/LICENSE.md +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/ar.js +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/az.js +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/bg.js +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/ca.js +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/cs.js +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/da.js +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/de.js +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/el.js +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/en.js +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/es.js +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/et.js +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/eu.js +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/fa.js +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/fi.js +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/fr.js +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/gl.js +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/he.js +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/hi.js +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/hr.js +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/hu.js +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/id.js +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/is.js +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/it.js +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/ja.js +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/km.js +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/ko.js +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/lt.js +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/lv.js +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/mk.js +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/ms.js +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/nb.js +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/nl.js +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/pl.js +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/pt-BR.js +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/pt.js +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/ro.js +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/ru.js +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/sk.js +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/sr-Cyrl.js +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/sr.js +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/sv.js +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/th.js +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/tr.js +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/uk.js +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/vi.js +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/zh-CN.js +%%WWWDIR%%/static/admin/js/vendor/select2/i18n/zh-TW.js +%%WWWDIR%%/static/admin/js/vendor/select2/select2.full.js +%%WWWDIR%%/static/admin/js/vendor/select2/select2.full.min.js +%%WWWDIR%%/static/admin/js/vendor/xregexp/LICENSE.txt +%%WWWDIR%%/static/admin/js/vendor/xregexp/xregexp.js +%%WWWDIR%%/static/admin/js/vendor/xregexp/xregexp.min.js +%%WWWDIR%%/static/django_extensions/css/jquery.autocomplete.css +%%WWWDIR%%/static/django_extensions/img/indicator.gif +%%WWWDIR%%/static/django_extensions/js/jquery.ajaxQueue.js +%%WWWDIR%%/static/django_extensions/js/jquery.autocomplete.js +%%WWWDIR%%/static/django_extensions/js/jquery.bgiframe.js +%%WWWDIR%%/static/djangoql/css/completion.css +%%WWWDIR%%/static/djangoql/css/completion_admin.css +%%WWWDIR%%/static/djangoql/css/syntax_help.css +%%WWWDIR%%/static/djangoql/img/completion_example.png +%%WWWDIR%%/static/djangoql/img/completion_example_scaled.png +%%WWWDIR%%/static/djangoql/js/completion.js +%%WWWDIR%%/static/djangoql/js/completion_admin.js +%%WWWDIR%%/static/djangoql/js/completion_admin_toggle.js +%%WWWDIR%%/static/djangoql/js/lib/lexer.js +%%WWWDIR%%/static/documents/img/gif.png +%%WWWDIR%%/static/documents/img/image.png +%%WWWDIR%%/static/documents/img/jpg.png +%%WWWDIR%%/static/documents/img/pdf.png +%%WWWDIR%%/static/documents/img/png.png +%%WWWDIR%%/static/documents/img/tiff.png +%%WWWDIR%%/static/js/colours.js +%%WWWDIR%%/static/paperless.css +%%WWWDIR%%/static/paperless/img/favicon.ico +%%WWWDIR%%/static/paperless/img/logo-dark.png +%%WWWDIR%%/static/paperless/img/logo-light.png +%%WWWDIR%%/static/rest_framework/css/bootstrap-theme.min.css +%%WWWDIR%%/static/rest_framework/css/bootstrap-tweaks.css +%%WWWDIR%%/static/rest_framework/css/bootstrap.min.css +%%WWWDIR%%/static/rest_framework/css/default.css +%%WWWDIR%%/static/rest_framework/css/font-awesome-4.0.3.css +%%WWWDIR%%/static/rest_framework/css/prettify.css +%%WWWDIR%%/static/rest_framework/docs/css/base.css +%%WWWDIR%%/static/rest_framework/docs/css/highlight.css +%%WWWDIR%%/static/rest_framework/docs/css/jquery.json-view.min.css +%%WWWDIR%%/static/rest_framework/docs/img/favicon.ico +%%WWWDIR%%/static/rest_framework/docs/img/grid.png +%%WWWDIR%%/static/rest_framework/docs/js/api.js +%%WWWDIR%%/static/rest_framework/docs/js/highlight.pack.js +%%WWWDIR%%/static/rest_framework/docs/js/jquery.json-view.min.js +%%WWWDIR%%/static/rest_framework/fonts/fontawesome-webfont.eot +%%WWWDIR%%/static/rest_framework/fonts/fontawesome-webfont.svg +%%WWWDIR%%/static/rest_framework/fonts/fontawesome-webfont.ttf +%%WWWDIR%%/static/rest_framework/fonts/fontawesome-webfont.woff +%%WWWDIR%%/static/rest_framework/fonts/glyphicons-halflings-regular.eot +%%WWWDIR%%/static/rest_framework/fonts/glyphicons-halflings-regular.svg +%%WWWDIR%%/static/rest_framework/fonts/glyphicons-halflings-regular.ttf +%%WWWDIR%%/static/rest_framework/fonts/glyphicons-halflings-regular.woff +%%WWWDIR%%/static/rest_framework/fonts/glyphicons-halflings-regular.woff2 +%%WWWDIR%%/static/rest_framework/img/glyphicons-halflings-white.png +%%WWWDIR%%/static/rest_framework/img/glyphicons-halflings.png +%%WWWDIR%%/static/rest_framework/img/grid.png +%%WWWDIR%%/static/rest_framework/js/ajax-form.js +%%WWWDIR%%/static/rest_framework/js/bootstrap.min.js +%%WWWDIR%%/static/rest_framework/js/coreapi-0.1.1.js +%%WWWDIR%%/static/rest_framework/js/csrf.js +%%WWWDIR%%/static/rest_framework/js/default.js +%%WWWDIR%%/static/rest_framework/js/jquery-3.3.1.min.js +%%WWWDIR%%/static/rest_framework/js/prettify-min.js +@dir(paperless,paperless) %%WWWDIR%%/static +@dir(paperless,paperless,0700) /var/db/paperless/consume/input +@dir(root,paperless,0750) /var/db/paperless/consume +@dir(paperless,paperless,0700) /var/db/paperless/media +@dir(paperless,paperless,0700) /var/db/paperless/sqlite +@dir /var/db/paperless