Skip to content

Commit

Permalink
Fixed keyword propagation in OptionTree._merge_options
Browse files Browse the repository at this point in the history
  • Loading branch information
jlstevens committed Apr 13, 2017
1 parent 7997094 commit 865c275
Showing 1 changed file with 5 additions and 6 deletions.
11 changes: 5 additions & 6 deletions holoviews/core/options.py
Original file line number Diff line number Diff line change
Expand Up @@ -502,11 +502,6 @@ def _merge_options(self, identifier, group_name, options):
name from the existing Options on the node and the
new Options which are passed in.
"""
override_kwargs = dict(options.kwargs)
old_allowed = (self[identifier][group_name].allowed_keywords
if identifier in self.children else Keywords())
override_kwargs['allowed_keywords'] = options.allowed_keywords + old_allowed

if group_name not in self.groups:
raise KeyError("Group %s not defined on SettingTree" % group_name)

Expand All @@ -517,6 +512,11 @@ def _merge_options(self, identifier, group_name, options):
#When creating a node (nothing to merge with) ensure it is empty
group_options = Options(group_name,
allowed_keywords=self.groups[group_name].allowed_keywords)

override_kwargs = dict(options.kwargs)
old_allowed = group_options.allowed_keywords
override_kwargs['allowed_keywords'] = options.allowed_keywords + old_allowed

try:
return (group_options(**override_kwargs)
if options.merge_keywords else Options(group_name, **override_kwargs))
Expand All @@ -526,7 +526,6 @@ def _merge_options(self, identifier, group_name, options):
group_name=group_name,
path = self.path)


def __getitem__(self, item):
if item in self.groups:
return self.groups[item]
Expand Down

0 comments on commit 865c275

Please sign in to comment.