--- urlresolvers.py-patch1	2008-06-25 11:19:56.000000000 -0400
+++ urlresolvers.py	2008-06-25 11:23:58.000000000 -0400
@@ -198,17 +198,14 @@
     def reverse_helper(self, *args, **kwargs):
         return reverse_helper(self.regex, *args, **kwargs)
 
-class RegexURLResolver(object):
+class BaseRegexURLResolver(object):
     def __init__(self, regex, urlconf_name, default_kwargs=None):
-        # regex is a string representing a regular expression.
-        # urlconf_name is a string representing the module containing urlconfs.
         self.regex = re.compile(regex, re.UNICODE)
-        self.urlconf_name = urlconf_name
-        self.callback = None
+        self.callback = None # FIXME: why does this class have `callback`?
         self.default_kwargs = default_kwargs or {}
 
     def __repr__(self):
-        return '<%s %s %s>' % (self.__class__.__name__, self.urlconf_name, self.regex.pattern)
+        return '<%s %s>' % (self.__class__.__name__, self.regex.pattern)
 
     def _get_reverse_dict(self):
         if not hasattr(self, '_reverse_dict'):
@@ -245,6 +242,26 @@
                     tried.append(pattern.regex.pattern)
             raise Resolver404, {'tried': tried, 'path': new_path}
 
+    def reverse(self, lookup_view, *args, **kwargs):
+        try:
+            lookup_view = get_callable(lookup_view, True)
+        except (ImportError, AttributeError):
+            raise NoReverseMatch
+        if lookup_view in self.reverse_dict:
+            return u''.join([reverse_helper(part.regex, *args, **kwargs) for part in self.reverse_dict[lookup_view]])
+        raise NoReverseMatch
+
+
+class RegexURLResolver(BaseRegexURLResolver):
+    def __init__(self, regex, urlconf_name, default_kwargs=None):
+        # regex is a string representing a regular expression.
+        # urlconf_name is a string representing the module containing urlconfs.
+        super(RegexURLResolver, self).__init__(regex, default_kwargs)
+        self.urlconf_name = urlconf_name
+
+    def __repr__(self):
+        return '<%s %s %s>' % (self.__class__.__name__, self.urlconf_name, self.regex.pattern)
+
     def _get_urlconf_module(self):
         try:
             return self._urlconf_module
@@ -275,15 +292,7 @@
     def resolve500(self):
         return self._resolve_special('500')
 
-    def reverse(self, lookup_view, *args, **kwargs):
-        try:
-            lookup_view = get_callable(lookup_view, True)
-        except (ImportError, AttributeError):
-            raise NoReverseMatch
-        if lookup_view in self.reverse_dict:
-            return u''.join([reverse_helper(part.regex, *args, **kwargs) for part in self.reverse_dict[lookup_view]])
-        raise NoReverseMatch
-
+    # FIXME: this seems to be unused.
     def reverse_helper(self, lookup_view, *args, **kwargs):
         sub_match = self.reverse(lookup_view, *args, **kwargs)
         result = reverse_helper(self.regex, *args, **kwargs)
