Update a configuration file: Difference between revisions

Content added Content deleted
Line 416: Line 416:
import re
import re
import string
import string



#----------------------------------------------------------------------------
#----------------------------------------------------------------------------
# GLOBAL VARIABLES
# GLOBAL: VARIABLES
#----------------------------------------------------------------------------
#----------------------------------------------------------------------------
DISABLED_PREFIX = ';'
DISABLED_PREFIX = ';'



#----------------------------------------------------------------------------
#----------------------------------------------------------------------------
Line 457: Line 459:
value = (' %s' % self.value, '')[self.value is None]
value = (' %s' % self.value, '')[self.value is None]
return ''.join((disabled, self.name, value))
return ''.join((disabled, self.name, value))

#------------------------------------------------------------------------
def get(self):
"""Return the option value.
If the stored value is None, the option is regarded to as a
boolean one and its enabled status is returned. Othrwise its value
is returned.
"""
enabled = not bool(self.disabled)
if self.value is None:
value = enabled
else:
value = enabled and self.value
return value

#----------------------------------------------------------------------------
#----------------------------------------------------------------------------
Line 592: Line 609:
'options', None is returned. If the stored value is None,
'options', None is returned. If the stored value is None,
it is regarded to as a boolean option and its enable status
it is regarded to as a boolean option and its enable status
is returned. Othrwise its value is returned.
is returned. Otherwise its value is returned.
"""
"""
opt = self.options.get(name.upper())
opt = self.options.get(name.upper())
if opt:
value = opt.get() if opt else None
enabled = not bool(opt.disabled)
if opt.value is None:
value = enabled
else:
value = enabled and opt.value
else:
value = None
return value
return value



#----------------------------------------------------------------------------
#----------------------------------------------------------------------------