Skip to content

Instantly share code, notes, and snippets.

@justinvdm
Last active December 24, 2015 11:39
Show Gist options
  • Save justinvdm/6791936 to your computer and use it in GitHub Desktop.
Save justinvdm/6791936 to your computer and use it in GitHub Desktop.
diff --git a/diamondash/backends/base.py b/diamondash/backends/base.py
index cd5051d..9a681be 100644
--- a/diamondash/backends/base.py
+++ b/diamondash/backends/base.py
@@ -12,7 +12,7 @@ class Backend(ConfigMixin):
def parse_config(cls, config, class_defaults={}):
"""Parses the backend config, altering it where necessary."""
defaults = class_defaults.get(cls.__CONFIG_TAG, {})
- config = utils.update_dict(config, cls.__DEFAULTS, defaults)
+ config = utils.add_dicts(config, cls.__DEFAULTS, defaults)
# General backend configuration goes here
diff --git a/diamondash/backends/graphite.py b/diamondash/backends/graphite.py
index 5405381..192a9ea 100644
--- a/diamondash/backends/graphite.py
+++ b/diamondash/backends/graphite.py
@@ -42,7 +42,7 @@ class GraphiteBackend(Backend):
config = super(GraphiteBackend, cls).parse_config(
config, class_defaults)
defaults = class_defaults.get(cls.__CONFIG_TAG, {})
- config = utils.update_dict(cls.__DEFAULTS, defaults, config)
+ config = utils.add_dicts(cls.__DEFAULTS, defaults, config)
if 'graphite_url' not in config:
raise ConfigError(
@@ -53,7 +53,7 @@ class GraphiteBackend(Backend):
metric_underrides = dict(
(k, config.pop(k))
for k in cls.METRIC_UNDERRIDE_FIELDS if k in config)
- metrics = [utils.update_dict(metric_underrides, m) for m in metrics]
+ metrics = [utils.add_dicts(metric_underrides, m) for m in metrics]
config['metrics'] = [
GraphiteMetric.from_config(m, class_defaults) for m in metrics]
@@ -143,7 +143,7 @@ class GraphiteMetric(ConfigMixin):
@classmethod
def parse_config(cls, config, class_defaults={}):
defaults = class_defaults.get(cls.__CONFIG_TAG, {})
- config = utils.update_dict(cls.__DEFAULTS, defaults, config)
+ config = utils.add_dicts(cls.__DEFAULTS, defaults, config)
if 'target' not in config:
raise ConfigError("All metrics need a target")
diff --git a/diamondash/backends/tests/test_graphite.py b/diamondash/backends/tests/test_graphite.py
index 32de046..a948b42 100644
--- a/diamondash/backends/tests/test_graphite.py
+++ b/diamondash/backends/tests/test_graphite.py
@@ -18,7 +18,7 @@ from diamondash.backends.graphite import (
def mk_graphite_metric(target='some.target.max', **kwargs):
- kwargs = utils.update_dict({
+ kwargs = utils.add_dicts({
'metadata': {},
'target': target,
'null_filter': processors.null_filters['zeroize'],
diff --git a/diamondash/base.py b/diamondash/base.py
index c7e7bee..876a4df 100644
--- a/diamondash/base.py
+++ b/diamondash/base.py
@@ -27,7 +27,7 @@ class ConfigMixin(object):
"""
new_class_defaults = {}
for config_tag in set(class_defaults.keys() + overrides.keys()):
- new_class_defaults[config_tag] = utils.update_dict(
+ new_class_defaults[config_tag] = utils.add_dicts(
class_defaults.get(config_tag, {}),
overrides.get(config_tag, {}))
@@ -45,7 +45,7 @@ class ConfigMixin(object):
def parse_config(cls, config, class_defaults={}):
"""Parses a config, altering it where necessary."""
defaults = class_defaults.get(cls.__CONFIG_TAG, {})
- config = utils.update_dict(config, cls.__DEFAULTS, defaults)
+ config = utils.add_dicts(config, cls.__DEFAULTS, defaults)
return config
diff --git a/diamondash/dashboard.py b/diamondash/dashboard.py
index 1f14606..a8d6ae7 100644
--- a/diamondash/dashboard.py
+++ b/diamondash/dashboard.py
@@ -62,7 +62,7 @@ class Dashboard(Element, ConfigMixin):
class_defaults = cls.override_class_defaults(
class_defaults, config.pop('defaults', {}))
defaults = class_defaults.get(cls.__CONFIG_TAG, {})
- config = utils.update_dict(cls.__DEFAULTS, defaults, config)
+ config = utils.add_dicts(cls.__DEFAULTS, defaults, config)
name = config.get('name', None)
if name is None:
diff --git a/diamondash/tests/test_dashboard.py b/diamondash/tests/test_dashboard.py
index f7fb62f..2673712 100644
--- a/diamondash/tests/test_dashboard.py
+++ b/diamondash/tests/test_dashboard.py
@@ -26,7 +26,7 @@ class ToyWidget(Widget):
class DashboardTestCase(unittest.TestCase):
def mk_dashboard(self, **kwargs):
- kwargs = utils.update_dict({
+ kwargs = utils.add_dicts({
'name': 'some-dashboard',
'title': 'Some Dashboard',
'widgets': [],
diff --git a/diamondash/tests/test_server.py b/diamondash/tests/test_server.py
index bff731f..edf1677 100644
--- a/diamondash/tests/test_server.py
+++ b/diamondash/tests/test_server.py
@@ -50,7 +50,7 @@ class MockError(Exception):
def mk_dashboard(**kwargs):
- kwargs = utils.update_dict({
+ kwargs = utils.add_dicts({
'name': 'some-dashboard',
'title': 'Some Dashboard',
'widgets': [],
@@ -127,7 +127,7 @@ class DiamondashServerTestCase(unittest.TestCase):
return self.ws.loseConnection()
def mk_dynamic_widget(self, **kwargs):
- return ToyDynamicWidget(**utils.update_dict({
+ return ToyDynamicWidget(**utils.add_dicts({
'name': 'some-dynamic-widget',
'title': 'Some Dynamic Widget',
'backend': None,
@@ -135,7 +135,7 @@ class DiamondashServerTestCase(unittest.TestCase):
}, kwargs))
def mk_static_widget(self, **kwargs):
- return ToyStaticWidget(**utils.update_dict({
+ return ToyStaticWidget(**utils.add_dicts({
'name': 'some-static-widget',
'title': 'Some Static Widget',
}, kwargs))
diff --git a/diamondash/tests/test_utils.py b/diamondash/tests/test_utils.py
index 470e237..6955493 100644
--- a/diamondash/tests/test_utils.py
+++ b/diamondash/tests/test_utils.py
@@ -38,11 +38,11 @@ class UtilsTestCase(unittest.TestCase):
self.assertEqual(7200, utils.parse_interval("2h"))
self.assertEqual(86400 * 2, utils.parse_interval("2d"))
- def test_update_dict(self):
+ def test_add_dicts(self):
original = {'a': 1}
defaults = {'a': 0, 'b': 2}
self.assertEqual(
- utils.update_dict(defaults, original), {'a': 1, 'b': 2})
+ utils.add_dicts(defaults, original), {'a': 1, 'b': 2})
self.assertEqual(original, {'a': 1})
self.assertEqual(defaults, {'a': 0, 'b': 2})
@@ -50,7 +50,7 @@ class UtilsTestCase(unittest.TestCase):
defaults1 = {'a': 0, 'b': 2}
defaults2 = {'b': 3, 'c': 4}
self.assertEqual(
- utils.update_dict(defaults1, defaults2, original),
+ utils.add_dicts(defaults1, defaults2, original),
{'a': 1, 'b': 3, 'c': 4})
self.assertEqual(original, {'a': 1})
self.assertEqual(defaults1, {'a': 0, 'b': 2})
diff --git a/diamondash/utils.py b/diamondash/utils.py
index 8078c29..469ad5e 100644
--- a/diamondash/utils.py
+++ b/diamondash/utils.py
@@ -90,7 +90,7 @@ def last_dir_in_path(pathname):
return path.split(path.dirname(pathname))[1]
-def update_dict(*dicts):
+def add_dicts(*dicts):
"""
Returns a new dict updated with a tuple of dicts.
"""
diff --git a/diamondash/widgets/graph/graph.py b/diamondash/widgets/graph/graph.py
index ef0d596..89cb7d0 100644
--- a/diamondash/widgets/graph/graph.py
+++ b/diamondash/widgets/graph/graph.py
@@ -28,7 +28,7 @@ class GraphWidget(DynamicWidget):
def parse_config(cls, config, class_defaults={}):
config = super(GraphWidget, cls).parse_config(config, class_defaults)
defaults = class_defaults.get(cls.__CONFIG_TAG, {})
- config = utils.update_dict(cls.__DEFAULTS, defaults, config)
+ config = utils.add_dicts(cls.__DEFAULTS, defaults, config)
if 'metrics' not in config:
raise ConfigError('Graph Widget "%s" needs metrics.'
@@ -72,7 +72,7 @@ class GraphWidget(DynamicWidget):
Parses a metric config given in a graph config into a config useable by
the backend.
"""
- config = utils.update_dict(config, metric_defaults)
+ config = utils.add_dicts(config, metric_defaults)
name = config.pop('name')
if name is None:
diff --git a/diamondash/widgets/graph/tests/test_graph.py b/diamondash/widgets/graph/tests/test_graph.py
index a1998bb..dae480f 100644
--- a/diamondash/widgets/graph/tests/test_graph.py
+++ b/diamondash/widgets/graph/tests/test_graph.py
@@ -27,7 +27,7 @@ class GraphWidgetTestCase(unittest.TestCase):
@staticmethod
def mk_graph_widget(**kwargs):
- kwargs = utils.update_dict({
+ kwargs = utils.add_dicts({
'name': 'some-widget',
'title': 'Some Graph Widget',
'client_config': {},
diff --git a/diamondash/widgets/lvalue/lvalue.py b/diamondash/widgets/lvalue/lvalue.py
index a3acfa5..99e5e48 100644
--- a/diamondash/widgets/lvalue/lvalue.py
+++ b/diamondash/widgets/lvalue/lvalue.py
@@ -19,7 +19,7 @@ class LValueWidget(DynamicWidget):
def parse_config(cls, config, class_defaults={}):
config = super(LValueWidget, cls).parse_config(config, class_defaults)
defaults = class_defaults.get(cls.__CONFIG_TAG, {})
- config = utils.update_dict(cls.__DEFAULTS, defaults, config)
+ config = utils.add_dicts(cls.__DEFAULTS, defaults, config)
if 'target' not in config:
raise ConfigError("All LValueWidgets need a target")
diff --git a/diamondash/widgets/lvalue/tests/test_lvalue.py b/diamondash/widgets/lvalue/tests/test_lvalue.py
index 1f4e7fc..3dee5ba 100644
--- a/diamondash/widgets/lvalue/tests/test_lvalue.py
+++ b/diamondash/widgets/lvalue/tests/test_lvalue.py
@@ -15,7 +15,7 @@ class LValueWidgetTestCase(unittest.TestCase):
@staticmethod
def mk_lvalue_widget(**kwargs):
- return LValueWidget(**utils.update_dict({
+ return LValueWidget(**utils.add_dicts({
'name': 'some-widget',
'title': 'Some LValue Widget',
'client_config': {},
diff --git a/diamondash/widgets/widget/widget.py b/diamondash/widgets/widget/widget.py
index 56b7e25..68f7d38 100644
--- a/diamondash/widgets/widget/widget.py
+++ b/diamondash/widgets/widget/widget.py
@@ -32,7 +32,7 @@ class Widget(Element, ConfigMixin):
def parse_config(cls, config, class_defaults={}):
"""Parses a widget config, altering it where necessary."""
defaults = class_defaults.get(cls.__CONFIG_TAG, {})
- config = utils.update_dict(cls.__DEFAULTS, defaults, config)
+ config = utils.add_dicts(cls.__DEFAULTS, defaults, config)
name = config.get('name', None)
if name is None:
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment