Make some EnvBase methods class methods
This commit is contained in:
parent
e8e5b3b0a9
commit
60761b35e1
@ -26,34 +26,39 @@ class EnvBase(lib_util.LoggedClass):
|
||||
self.rpc_host = self.default('RPC_HOST', 'localhost')
|
||||
self.loop_policy = self.event_loop_policy()
|
||||
|
||||
def default(self, envvar, default):
|
||||
@classmethod
|
||||
def default(cls, envvar, default):
|
||||
return environ.get(envvar, default)
|
||||
|
||||
def boolean(self, envvar, default):
|
||||
@classmethod
|
||||
def boolean(cls, envvar, default):
|
||||
default = 'Yes' if default else ''
|
||||
return bool(self.default(envvar, default).strip())
|
||||
return bool(cls.default(envvar, default).strip())
|
||||
|
||||
def required(self, envvar):
|
||||
@classmethod
|
||||
def required(cls, envvar):
|
||||
value = environ.get(envvar)
|
||||
if value is None:
|
||||
raise self.Error('required envvar {} not set'.format(envvar))
|
||||
raise cls.Error('required envvar {} not set'.format(envvar))
|
||||
return value
|
||||
|
||||
def integer(self, envvar, default):
|
||||
@classmethod
|
||||
def integer(cls, envvar, default):
|
||||
value = environ.get(envvar)
|
||||
if value is None:
|
||||
return default
|
||||
try:
|
||||
return int(value)
|
||||
except Exception:
|
||||
raise self.Error('cannot convert envvar {} value {} to an integer'
|
||||
.format(envvar, value))
|
||||
raise cls.Error('cannot convert envvar {} value {} to an integer'
|
||||
.format(envvar, value))
|
||||
|
||||
def obsolete(self, envvars):
|
||||
@classmethod
|
||||
def obsolete(cls, envvars):
|
||||
bad = [envvar for envvar in envvars if environ.get(envvar)]
|
||||
if bad:
|
||||
raise self.Error('remove obsolete environment variables {}'
|
||||
.format(bad))
|
||||
raise cls.Error('remove obsolete environment variables {}'
|
||||
.format(bad))
|
||||
|
||||
def event_loop_policy(self):
|
||||
policy = self.default('EVENT_LOOP_POLICY', None)
|
||||
|
||||
Loading…
Reference in New Issue
Block a user