def optionvars(name, default=None): """Access arbitrary data from rez config setting 'optionvars'. Args: name (str): Name of the optionvar. Use dot notation for values in nested dicts. default (object): Default value if setting is missing. """ value = config.optionvars or {} parts = name.split('.') for i, key in enumerate(parts): if not isinstance(value, dict): raise RexError("Optionvar %r is invalid because %r is not a dict" % (name, '.'.join(parts[:i]))) value = value.get(key, KeyError) if value is KeyError: return default return value
def disallow(cls, value): if isinstance(value, cls): raise RexError( "The command does not accept use of 'literal' or 'expandable'") return value