changelog shortlog tags files raw

changeset: Modifying dselector to become a drop-in replacement for django.conf.urls.defaults.

changeset 14: f086f126c0b9
parent 13:b699a898e973
child 15:72ed5baaf62b
author: David Gouldin <dgouldin@gmail.com>
date: Wed Mar 10 09:48:31 2010 -0600 (2 years ago)
files: dselector.py
description: Modifying dselector to become a drop-in replacement for django.conf.urls.defaults.
       1--- a/dselector.py	Tue Mar 09 20:22:40 2010 -0500
       2+++ b/dselector.py	Wed Mar 10 09:48:31 2010 -0600
       3@@ -21,12 +21,13 @@
       4 """
       5 
       6 import re
       7-from django.conf.urls.defaults import url as django_url
       8+from django.conf.urls.defaults import *
       9+from django.conf.urls.defaults import url as _url, __all__ as defaults_all
      10 from django.core.urlresolvers import RegexURLPattern, RegexURLResolver
      11 
      12 import calendar
      13 
      14-__all__ = ['pattern_types', 'Parser']
      15+__all__ = ['pattern_types', 'Parser', 'parser'] + defaults_all
      16 
      17 pattern_types = {
      18     'word'      : r'\w+',
      19@@ -59,7 +60,7 @@
      20             from django.conf import settings
      21             default_autowrap = getattr(settings, 'SELECTOR_AUTOWRAP', True)
      22         except:
      23-            default_autowrap = True
      24+            default_autowrap = False
      25         self.autowrap = default_autowrap if autowrap is None else autowrap
      26         self.pattern_types = pattern_types.copy()
      27         for key, val in extra_patterns.iteritems():
      28@@ -107,5 +108,9 @@
      29     def url(self, regex, view, kwargs=None, name=None, prefix=''):
      30         """A replacement for 'url' that understands named patterns."""
      31         regex = self.parse_pattern(regex)
      32-        return django_url(regex, view, kwargs, name, prefix)
      33+        return _url(regex, view, kwargs, name, prefix)
      34 
      35+# instantiate Parser instance and expose default functions
      36+parser = Parser()
      37+url = parser.url
      38+patterns = parser.patterns