# This file is part of Shuup.
#
# Copyright (c) 2012-2021, Shuup Commerce Inc. All rights reserved.
#
# This source code is licensed under the OSL-3.0 license found in the
# LICENSE file in the root directory of this source tree.
[docs]class Setup(object):
def __init__(self, load_from=None):
self.commit(load_from)
[docs] def is_valid_key(self, key):
return key == key.upper() and not key.startswith("_")
[docs] def commit(self, source):
if source:
if not hasattr(source, "items"): # pragma: no cover
source = vars(source)
for key, value in source.items():
if self.is_valid_key(key):
setattr(self, key, value)
[docs] def values(self):
for key, value in self.__dict__.items():
if self.is_valid_key(key): # pragma: no branch
yield (key, value)
[docs] def get(self, key, default=None): # pragma: no cover
return getattr(self, key, default)
[docs] def getlist(self, key, default=()): # pragma: no cover
val = getattr(self, key, default)
return list(val)
@classmethod