From 255dd4f3873e3be1df4b634813ce12201321d89f Mon Sep 17 00:00:00 2001 From: xthepoet Date: Mon, 16 Jul 2012 01:12:52 -0400 Subject: [PATCH] added alias tag for kissmetrics --- analytical/templatetags/kiss_metrics.py | 8 ++++++++ analytical/tests/test_tag_kiss_metrics.py | 6 ++++++ 2 files changed, 14 insertions(+) diff --git a/analytical/templatetags/kiss_metrics.py b/analytical/templatetags/kiss_metrics.py index 40c1859..5803d4b 100644 --- a/analytical/templatetags/kiss_metrics.py +++ b/analytical/templatetags/kiss_metrics.py @@ -35,9 +35,11 @@ TRACKING_CODE = """ IDENTIFY_CODE = "_kmq.push(['identify', '%s']);" EVENT_CODE = "_kmq.push(['record', '%(name)s', %(properties)s]);" PROPERTY_CODE = "_kmq.push(['set', %(properties)s]);" +ALIAS_CODE = "_kmq.push(['alias', '%s', '%s']);" EVENT_CONTEXT_KEY = 'kiss_metrics_event' PROPERTY_CONTEXT_KEY = 'kiss_metrics_properties' +ALIAS_CONTEXT_KEY = 'kiss_metrics_alias' register = Library() @@ -67,6 +69,12 @@ class KissMetricsNode(Node): identity = get_identity(context, 'kiss_metrics') if identity is not None: commands.append(IDENTIFY_CODE % identity) + try: + properties = context[ALIAS_CONTEXT_KEY] + key, value = properties.popitem() + commands.append(ALIAS_CODE % (key,value)) + except KeyError: + pass try: name, properties = context[EVENT_CONTEXT_KEY] commands.append(EVENT_CODE % {'name': name, diff --git a/analytical/tests/test_tag_kiss_metrics.py b/analytical/tests/test_tag_kiss_metrics.py index b92aacc..36831d1 100644 --- a/analytical/tests/test_tag_kiss_metrics.py +++ b/analytical/tests/test_tag_kiss_metrics.py @@ -64,6 +64,12 @@ class KissMetricsTagTestCase(TagTestCase): self.assertTrue("_kmq.push(['set', " '{"prop1": "val1", "prop2": "val2"}]);' in r, r) + def test_alias(self): + r = KissMetricsNode().render(Context({'kiss_metrics_alias': + {'test': 'test_alias'}})) + self.assertTrue("_kmq.push(['alias', 'test', 'test_alias']);" in r,r) + + @override_settings(ANALYTICAL_INTERNAL_IPS=['1.1.1.1']) def test_render_internal_ip(self): req = HttpRequest()