[bug#43354,44/55] gnu: Add python-django-url-filter.
diff mbox series

Message ID 20200912142911.6231-44-marius@gnu.org
State New
Headers show
Series
  • Django upgrade
Related show

Commit Message

Marius Bakke Sept. 12, 2020, 2:29 p.m. UTC
* gnu/packages/django.scm (python-django-url-filter): New public variable.
---
 gnu/packages/django.scm | 47 +++++++++++++++++++++++++++++++++++++++++
 1 file changed, 47 insertions(+)

Patch
diff mbox series

diff --git a/gnu/packages/django.scm b/gnu/packages/django.scm
index df8edb2537..51eb1789f5 100644
--- a/gnu/packages/django.scm
+++ b/gnu/packages/django.scm
@@ -1462,3 +1462,50 @@  to ElasticSearch.")
      "This package provides mappings for the PostgreSQL @code{INET} and
 @code{CIDR} fields for use in Django projects.")
     (license license:bsd-3)))
+
+(define-public python-django-url-filter
+  (package
+    (name "python-django-url-filter")
+    (version "0.3.15")
+    (home-page "https://github.com/miki725/django-url-filter")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference (url home-page) (commit version)))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "0r4zhqhs8y6cnplwyvcb0zpijizw1ifnszs38n4w8138657f9026"))))
+    (build-system python-build-system)
+    (arguments
+     '(#:tests? #f            ;FIXME: Django raises "Apps aren't loaded yet"!?
+       #:phases (modify-phases %standard-phases
+                  (add-before 'check 'loosen-requirements
+                    (lambda _
+                      ;; Do not depend on compatibility package for old
+                      ;; Python versions.
+                      (substitute* "requirements.txt"
+                        (("enum-compat") ""))
+                      #t))
+                  (replace 'check
+                    (lambda* (#:key tests? #:allow-other-keys)
+                      (if tests?
+                          (begin
+                            (setenv "PYTHONPATH"
+                                    (string-append "./build/lib:.:"
+                                                   (getenv "PYTHONPATH")))
+                            (setenv "DJANGO_SETTINGS_MODULE"
+                                    "test_project.settings")
+                            (invoke "pytest" "-vv" "--doctest-modules"
+                                    "tests/" "url_filter/"))
+                          (format #t "test suite not run~%")))))))
+    (propagated-inputs
+     `(("python-cached-property" ,python-cached-property)
+       ("python-django" ,python-django)
+       ("python-six" ,python-six)))
+    (synopsis "Filter data via human-friendly URLs")
+    (description
+     "The main goal of Django URL Filter is to provide an easy URL interface
+for filtering data.  It allows the user to safely filter by model attributes
+and also allows to specify the lookup type for each filter (very much like
+Django's filtering system in ORM).")
+    (license license:expat)))