Commits

Branko Vukelic committed 6461916

Added del_params template tag

Comments (0)

Files changed (2)

tests/test_del_params.py

+from __future__ import absolute_import, unicode_literals
+
+from unittest import TestCase
+
+from url_tools.templatetags.urls import del_params
+from url_tools.helper import UrlHelper
+
+
+class DelParamsTestCase(TestCase):
+    def test_del_params_basic(self):
+        self.assertEqual(
+            del_params('/foo?bar=1&baz=2', 'baz'),
+            '/foo?bar=1'
+        )
+
+    def test_del_paramss_all(self):
+        self.assertEqual(
+            del_params('/foo?bar=1&baz=2'),
+            '/foo'
+        )
+
+    def test_del_params_takes_helper_instance(self):
+        self.assertEqual(
+            del_params(UrlHelper('/foo?bar=1&baz=2'), 'bar'),
+            '/foo?baz=2'
+        )

url_tools/templatetags/urls.py

         return ''
 
 
+@register.simple_tag
+def del_params(url, *args):
+    if type(url) in [str, unicode]:
+        url = UrlHelper(url)
+    try:
+        url.del_params(*args)
+        return url.get_full_path()
+    except:
+        return ''
+
+
 @register.assignment_tag
 def url_params(url, **kwargs):
     u = UrlHelper(url)
Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.