Browse Source

Make some EnvBase methods class methods

patch-2
Neil Booth 7 years ago
parent
commit
60761b35e1
  1. 23
      lib/env_base.py

23
lib/env_base.py

@ -26,33 +26,38 @@ class EnvBase(lib_util.LoggedClass):
self.rpc_host = self.default('RPC_HOST', 'localhost') self.rpc_host = self.default('RPC_HOST', 'localhost')
self.loop_policy = self.event_loop_policy() self.loop_policy = self.event_loop_policy()
def default(self, envvar, default): @classmethod
def default(cls, envvar, default):
return environ.get(envvar, default) return environ.get(envvar, default)
def boolean(self, envvar, default): @classmethod
def boolean(cls, envvar, default):
default = 'Yes' if default else '' 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) value = environ.get(envvar)
if value is None: if value is None:
raise self.Error('required envvar {} not set'.format(envvar)) raise cls.Error('required envvar {} not set'.format(envvar))
return value return value
def integer(self, envvar, default): @classmethod
def integer(cls, envvar, default):
value = environ.get(envvar) value = environ.get(envvar)
if value is None: if value is None:
return default return default
try: try:
return int(value) return int(value)
except Exception: except Exception:
raise self.Error('cannot convert envvar {} value {} to an integer' raise cls.Error('cannot convert envvar {} value {} to an integer'
.format(envvar, value)) .format(envvar, value))
def obsolete(self, envvars): @classmethod
def obsolete(cls, envvars):
bad = [envvar for envvar in envvars if environ.get(envvar)] bad = [envvar for envvar in envvars if environ.get(envvar)]
if bad: if bad:
raise self.Error('remove obsolete environment variables {}' raise cls.Error('remove obsolete environment variables {}'
.format(bad)) .format(bad))
def event_loop_policy(self): def event_loop_policy(self):

Loading…
Cancel
Save