gnu: Add python-django-cleanup.

* gnu/packages/django.scm (python-django-cleanup): New variable.

Signed-off-by: Marius Bakke <marius@gnu.org>
This commit is contained in:
Luis Felipe 2022-07-13 11:23:02 -05:00 committed by Marius Bakke
parent 6e83d294ce
commit 72cfcf1735
No known key found for this signature in database
GPG key ID: A2A06DF2A33A54FA

View file

@ -1361,3 +1361,54 @@ (define-public python-django-svg-image-form-field
models that use Django's standard @code{ImageField}, in addition to the
image files already supported by it.")
(license license:expat)))
(define-public python-django-cleanup
(package
(name "python-django-cleanup")
(version "6.0.0")
(source
(origin
(method git-fetch)
(uri (git-reference
(url "https://github.com/un1t/django-cleanup")
(commit (string-append version))))
(file-name (git-file-name name version))
(sha256
(base32 "0c1nghn1bnlq0a4d3sy3s363ksqsnxksixbimdy3cc6a0vk4sjps"))))
(build-system python-build-system)
(arguments
`(#:phases
(modify-phases %standard-phases
(add-after 'unpack 'patch-tests-settings
(lambda* (#:key inputs #:allow-other-keys)
;; django-cleanup optionally integrates with
;; sorl-thumbnail, which is not available in Guix yet, so
;; this patch comments it out to avoid import failures in
;; test settings.
(substitute* "django_cleanup/testapp/settings.py"
(("'sorl\\.thumbnail',") "# 'sorl.thumbnail',"))))
(replace 'check
(lambda* (#:key tests? inputs outputs #:allow-other-keys)
(when tests?
(add-installed-pythonpath inputs outputs)
;; Add CWD to PYTHONPATH so that the tests can find the
;; testapp package in the source.
(setenv "PYTHONPATH" (getcwd))
(invoke "pytest")))))))
(native-inputs
(list ;; python-django-sorl-thumbnail ; TODO: Add to Guix.
python-easy-thumbnails
python-pillow
python-pytest
python-pytest-cov
python-pytest-django
python-pytest-xdist))
(propagated-inputs
(list python-django))
(home-page "https://github.com/un1t/django-cleanup")
(synopsis "Automatically deletes unused media files")
(description "This application automatically deletes user-uploaded
files when a model is modified or deleted. It works for FileField,
ImageField and their subclasses. Files set as default values for any
FileField are not deleted.")
(license license:expat)))