update todict support and tests

This commit is contained in:
2019-06-21 23:04:04 +02:00
parent 55da00f131
commit 83f05197fb
21 changed files with 2820 additions and 2296 deletions

View File

@ -406,7 +406,8 @@ class Settings(object):
def getproperties(self,
option_bag,
apply_requires=True):
apply_requires=True,
search_properties=None):
"""
"""
opt = option_bag.option
@ -432,7 +433,8 @@ class Settings(object):
opt.impl_getproperties())
if apply_requires:
props |= self.apply_requires(option_bag,
False)
False,
search_properties=search_properties)
props -= self.getpermissives(opt,
path)
if apply_requires:
@ -457,7 +459,8 @@ class Settings(object):
def apply_requires(self,
option_bag,
readable):
readable,
search_properties=None):
"""carries out the jit (just in time) requirements between options
a requirement is a tuple of this form that comes from the option's
@ -517,6 +520,8 @@ class Settings(object):
for requires in current_requires:
for require in requires:
exps, action, inverse, transitive, same_action, operator = require
#if search_properties and action not in search_properties:
# continue
breaked = False
for option, expected in exps:
if not isinstance(option, tuple):