'Sets this item to a specified value only inside a with block.
Use as::
ITEM = ConfigItem(\'ITEM\', \'default\', \'description\')
with ITEM.set_temp(\'newval\'):
#... do something that wants ITEM\'s value to be \'newval\' ...
print(ITEM)
# ITEM is now \'default\' after the with block
Parameters
value
The value to set this item to inside the with block.'

@contextmanager
def set_temp(self, value):

    initval = self()
    self.set(value)
    try:
        (yield)
    finally:
        self.set(initval)
