From 10d096f8266f090f81415840b0ba38cec98043c1 Mon Sep 17 00:00:00 2001 From: Brian Brazil Date: Sun, 22 Mar 2015 11:50:25 +0000 Subject: [PATCH] Escape double quotes, not single --- prometheus_client/__init__.py | 2 +- tests/test_client.py | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/prometheus_client/__init__.py b/prometheus_client/__init__.py index 2e2bea49..04075779 100644 --- a/prometheus_client/__init__.py +++ b/prometheus_client/__init__.py @@ -418,7 +418,7 @@ def generate_latest(registry=REGISTRY): if labels: labelstr = '{{{0}}}'.format(','.join( ['{0}="{1}"'.format( - k, v.replace('\\', r'\\').replace('\n', r'\n').replace('\'', r'\'')) + k, v.replace('\\', r'\\').replace('\n', r'\n').replace('"', r'\"')) for k, v in labels.items()])) else: labelstr = '' diff --git a/tests/test_client.py b/tests/test_client.py index 0faaab52..a28f3f4a 100644 --- a/tests/test_client.py +++ b/tests/test_client.py @@ -262,8 +262,8 @@ def test_unicode(self): def test_escaping(self): c = Counter('cc', 'A\ncount\\er', ['a'], registry=self.registry) - c.labels('\\x\n').inc(1) - self.assertEqual(b'# HELP cc A\\ncount\\\\er\n# TYPE cc counter\ncc{a="\\\\x\\n"} 1.0\n', generate_latest(self.registry)) + c.labels('\\x\n"').inc(1) + self.assertEqual(b'# HELP cc A\\ncount\\\\er\n# TYPE cc counter\ncc{a="\\\\x\\n\\""} 1.0\n', generate_latest(self.registry)) if __name__ == '__main__':