]> git.parisson.com Git - django-google-tools.git/commitdiff
Recent commit broke parsing of zero arg syntax. (i.e. {% analytics %} and {% analyt...
authorJ. Cliff Dyer <jcd@webb.(none)>
Thu, 3 Dec 2009 16:21:25 +0000 (11:21 -0500)
committerJ. Cliff Dyer <jcd@webb.(none)>
Thu, 3 Dec 2009 16:21:25 +0000 (11:21 -0500)
google_analytics/templatetags/analytics.py

index f49eb3660a8bd2d4bc119c372dacba1f9da6a794..ae6fe44a9767bb99bf823d15718c3041ad7fffec 100644 (file)
@@ -9,13 +9,17 @@ register = template.Library()
 Analytics = models.get_model('googleanalytics', 'analytics')
 
 def do_get_analytics(parser, token):
-    try:
+    contents = token.split_contents()
+    tag_name = contents[0]
+    template_name = 'google_analytics/%s_template.html' % tag_name
+    if len(contents) == 2:
         # split_contents() knows not to split quoted strings.
-        tag_name, code = token.split_contents()
-    except ValueError:
+        code = contents[1]
+    elif len(contents) == 1:
         code = None
+    else:
+        raise template.TemplateSyntaxError, "%r cannot take more than one argument" % tag_name
    
-    template_name = 'google_analytics/%s_template.html' % tag_name
     if not code:
         current_site = Site.objects.get_current()
     else:
@@ -23,6 +27,7 @@ def do_get_analytics(parser, token):
             raise template.TemplateSyntaxError, "%r tag's argument should be in quotes" % tag_name
         code = code[1:-1]
         current_site = None
+
     return AnalyticsNode(current_site, code, template_name)
     
 class AnalyticsNode(template.Node):