aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorLuis Felipe <luis.felipe.la@protonmail.com>2022-07-13 11:23:02 -0500
committerMarius Bakke <marius@gnu.org>2022-08-29 18:22:58 +0200
commit72cfcf1735224710c4515d64fafc00413a2a6be2 (patch)
tree980d2a8352e697011107d131420a8be4280a779d
parent6e83d294ce30116c313eb0126108c31de151a9cc (diff)
downloadguix-72cfcf1735224710c4515d64fafc00413a2a6be2.tar.gz
guix-72cfcf1735224710c4515d64fafc00413a2a6be2.zip
gnu: Add python-django-cleanup.
* gnu/packages/django.scm (python-django-cleanup): New variable. Signed-off-by: Marius Bakke <marius@gnu.org>
-rw-r--r--gnu/packages/django.scm51
1 files changed, 51 insertions, 0 deletions
diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index 0eb9ccf0f3..091d619a41 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -1361,3 +1361,54 @@ Django's filtering system in ORM).")
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)))