From 9900035f0b02076849e7a394cd3c479a4bc6972f Mon Sep 17 00:00:00 2001 From: Dan <22e889d8@opayq.com> Date: Thu, 16 Mar 2017 12:53:37 +0000 Subject: [PATCH] Added nodetrie submodule. Updated setup.py for nodetrie C library extension building. Updated cython templates test --- .gitmodules | 3 +++ nodetrie | 1 + setup.py | 26 ++++++++++++++++++++------ tests/test_c_templates.py | 2 +- 4 files changed, 25 insertions(+), 7 deletions(-) create mode 100644 .gitmodules create mode 160000 nodetrie diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..5b863a5 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "nodetrie"] + path = nodetrie + url = https://github.com/NodeTrie/NodeTrie_Py.git diff --git a/nodetrie b/nodetrie new file mode 160000 index 0000000..0d39dde --- /dev/null +++ b/nodetrie @@ -0,0 +1 @@ +Subproject commit 0d39ddea67d51f6ec3a497904014add2272bdc54 diff --git a/setup.py b/setup.py index 4fb5a70..5663c06 100644 --- a/setup.py +++ b/setup.py @@ -20,14 +20,28 @@ ext = 'pyx' if USING_CYTHON else 'c' -extensions = [Extension("influxgraph.ext.classes.tree", - ["influxgraph/ext/classes/tree.%s" % (ext,)]), - Extension("influxgraph.ext.templates", - ["influxgraph/ext/templates.%s" % (ext,)]),] +extensions = [Extension("influxgraph.ext.templates", + ["influxgraph/ext/templates.%s" % (ext,)], + extra_compile_args=["-O3"], + ), + Extension("influxgraph.ext.nodetrie", + ["nodetrie/nodetrie/nodetrie.c", + "nodetrie/nodetrie_c/src/node.c",], + depends=["nodetrie/nodetrie_c/src/node.h"], + include_dirs=["nodetrie/nodetrie_c/src"], + extra_compile_args=["-std=c99", "-O3"], + ), + ] if USING_CYTHON: - extensions = cythonize(extensions) - + extensions = cythonize( + extensions, + compiler_directives={'embedsignature': True, + 'optimize.use_switch': True, + 'boundscheck': False, + 'wraparound': False, + }) + ext_errors = (CCompilerError, DistutilsExecError, DistutilsPlatformError) class BuildFailed(Exception): diff --git a/tests/test_c_templates.py b/tests/test_c_templates.py index 66da699..40a2e42 100644 --- a/tests/test_c_templates.py +++ b/tests/test_c_templates.py @@ -34,7 +34,7 @@ def setUp(self): def test_parse_series_missing_fields(self): templates = parse_influxdb_graphite_templates( ['measurement.field*']) - paths = ['series1,id=1', u'series2,id=1'] + paths = [u'series1,id=1', u'series2,id=1'] fields = {} series = parse_series(paths, fields, templates) self.assertTrue(len(series.children) == 0)