diff options
| author | Pepper <pepper@scannerjammer.com> | 2015-09-26 22:11:16 -0400 |
|---|---|---|
| committer | Pepper <pepper@scannerjammer.com> | 2015-09-26 22:11:16 -0400 |
| commit | ff31f2c4cf1792df351359f1749f63b3d0cce23b (patch) | |
| tree | 87b600108ee1316e094032e8f5e3e1dd19d8ee6a /lib/params.py | |
| parent | 0e9991e9bd5748a6d32c825e0a00a5ac15c29982 (diff) | |
linting...
Diffstat (limited to 'lib/params.py')
| -rw-r--r-- | lib/params.py | 108 |
1 files changed, 58 insertions, 50 deletions
diff --git a/lib/params.py b/lib/params.py index cd8bc26..33a467e 100644 --- a/lib/params.py +++ b/lib/params.py @@ -1,65 +1,73 @@ -import re -import os +"""Params class and methods stored here""" import sys -from param import * +from param import Bool, Color, Enum, Float, Img_url, Json, Raw, String class BadParamError(Exception): - pass + pass class Params(object): + """ + Params is a collection of Param instances, + Args: + kwargs: a list of param names and instances, + as keyword arguments (CURRENTLY UNUSED) + """ def __init__(self, **kwargs): - for key, value in kwargs.items(): - setattr(self, key, value) - + for key, value in kwargs.items(): + setattr(self, key, value) + def __iter__(self): for key, value in vars(self).iteritems(): - yield key, value + yield key, value def _error_log(self, s, error=None, fatal=False): - message = "ERROR - BAD PARAM" - if fatal: message += "- [FATAL] -" - sys.stderr.write("{}:{} - {}\n".format(message, self._classname, s)) - if error: - sys.stderr.write("PARAM ERROR: {}\n".format(str(error))) + message = "ERROR - BAD PARAM" + if fatal: message += "- [FATAL] -" + sys.stderr.write("{}:{} - {}\n".format(message, self._classname, s)) + if error: + sys.stderr.write("PARAM ERROR: {}\n".format(str(error))) def err_warn(self, s, error=None): - self._error_log(s, error=error); - raise BadParamError("%s - %s" % (self._classname, s)) - + self._error_log(s, error=error); + raise BadParamError("%s - %s" % (self._classname, s)) + def __getattr__(self, key): - try: - return self.__getattribute__(key); - except AttributeError: - return None - + try: + return self.__getattribute__(key); + except AttributeError: + return None + def definitions_import(self, def_dict, classkwargs, classname=""): - value = None - for key in def_dict.keys(): - try: - value = None - if key in classkwargs: - value = classkwargs.get(key, None) or def_dict[key].get('default', None) - elif 'default' in def_dict[key]: - value = def_dict[key]['default'] - if def_dict[key]['type'] == "bool": - instance = Bool(value, classname=classname) - elif def_dict[key]['type'] == "color": - instance = Color(value, classname=classname) - elif def_dict[key]['type'] == "enum": - instance = Enum(value, enum_values=def_dict[key]['enum_values'], classname=classname) - elif def_dict[key]['type'] == "float": - instance = Float(value, classname=classname) - elif def_dict[key]['type'] == "img_url": - instance = Img_url(value, key=key, classname=classname) - elif def_dict[key]['type'] == "int": - instance = Int(value, classname=classname) - elif def_dict[key]['type'] == "json": - instance = Json(value, classname=classname) - elif def_dict[key]['type'] == "raw": - instance = Raw(value, classname=classname) - elif def_dict[key]['type'] == "string": - instance = String(value, classname=classname) - self.__setattr__(key, instance) - except Exception as e: - self.err_warn("key: %s value: %s" % (key, str(def_dict[key])), error=str(e)) + """main method of this class. takes a dict of definitions, + along with the keyword arguments of the module and maps them + to attribute values of the params class""" + value = None + for key in def_dict.keys(): + try: + value = None + if key in classkwargs: + value = classkwargs.get(key, None) or def_dict[key].get('default', None) + elif 'default' in def_dict[key]: + value = def_dict[key]['default'] + if def_dict[key]['type'] == "bool": + instance = Bool(value, classname=classname) + elif def_dict[key]['type'] == "color": + instance = Color(value, classname=classname) + elif def_dict[key]['type'] == "enum": + instance = Enum(value, enum_values=def_dict[key]['enum_values'], classname=classname) + elif def_dict[key]['type'] == "float": + instance = Float(value, classname=classname) + elif def_dict[key]['type'] == "img_url": + instance = Img_url(value, key=key, classname=classname) + elif def_dict[key]['type'] == "int": + instance = Int(value, classname=classname) + elif def_dict[key]['type'] == "json": + instance = Json(value, classname=classname) + elif def_dict[key]['type'] == "raw": + instance = Raw(value, classname=classname) + elif def_dict[key]['type'] == "string": + instance = String(value, classname=classname) + self.__setattr__(key, instance) + except Exception as e: + self.err_warn("key: %s value: %s" % (key, str(def_dict[key])), error=str(e)) |
