From 85efec7ab849de68785e68868527b976b03d5906 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Pavel=20K=C3=A1cha?= <ph@cesnet.cz> Date: Tue, 25 Jul 2017 11:33:51 +0200 Subject: [PATCH] Unified __str__ --- warden3/warden_server/warden_server.py | 46 ++++---------------------- 1 file changed, 7 insertions(+), 39 deletions(-) diff --git a/warden3/warden_server/warden_server.py b/warden3/warden_server/warden_server.py index 17f1b1f..7b5b1dc 100644 --- a/warden3/warden_server/warden_server.py +++ b/warden3/warden_server/warden_server.py @@ -187,7 +187,7 @@ def FileLogger(req, filename, level=logging.INFO): logger = get_clean_root_logger(level) logger.addFilter(ffilt) logger.addHandler(fhand) - logger.info("Initialized FileLogger(req=%s, filename=\"%s\", level=\"%d\")" % (type(req).__name__, filename, level)) + logger.info("Initialized FileLogger(req=%r, filename=\"%s\", level=%s)" % (req, filename, level)) return logger @@ -200,8 +200,7 @@ def SysLogger(req, socket="/dev/log", facility=logging.handlers.SysLogHandler.LO logger = get_clean_root_logger(level) logger.addFilter(ffilt) logger.addHandler(fhand) - logger.info("Initialized SysLogger(req=%s, socket=\"%s\", facility=\"%d\", level=\"%d\")" % ( - type(req).__name__, socket, facility, level)) + logger.info("Initialized SysLogger(req=%r, socket=\"%s\", facility=\"%d\", level=%s)" % (req, socket, facility, level)) return logger @@ -213,7 +212,9 @@ Client = namedtuple("Client", [ class Object(object): def __str__(self): - return "%s()" % type(self).__name__ + attrs = self.__init__.func_code.co_varnames[1:self.__init__.func_code.co_argcount] + eq_str = ["%s=%r" % (attr, getattr(self, attr, None)) for attr in attrs] + return "%s(%s)" % (type(self).__name__, ", ".join(eq_str)) class Request(Object): @@ -233,13 +234,6 @@ class Request(Object): which data their main codepaths work with. """ - def __init__(self): - Object.__init__(self) - self.reset() - - def __str__(self): - return "%s(env='%s', client='%s')" % (type(self).__name__, str(self.env), str(self.client)) - def reset(self, env=None, client=None, path=None, req_id=None): self.env = env self.client = client @@ -249,6 +243,8 @@ class Request(Object): else: self.req_id = 0 if env is None else randint(0x00000000, 0xFFFFFFFF) + __init__ = reset + def error(self, **kwargs): return Error(self.path, self.req_id, **kwargs) @@ -260,9 +256,6 @@ class ObjectBase(Object): self.req = req self.log = log - def __str__(self): - return "%s(req=%s)" % (type(self).__name__, type(self.req).__name__) - class PlainAuthenticator(ObjectBase): @@ -270,9 +263,6 @@ class PlainAuthenticator(ObjectBase): ObjectBase.__init__(self, req, log) self.db = db - def __str__(self): - return "%s(req=%s, db=%s)" % (type(self).__name__, type(self.req).__name__, type(self.db).__name__) - def authenticate(self, env, args, hostnames=None, check_secret=True): name = args.get("client", [None])[0] secret = args.get("secret", [None])[0] if check_secret else None @@ -436,9 +426,6 @@ class NoValidator(ObjectBase): def __init__(self, req, log): ObjectBase.__init__(self, req, log) - def __str__(self): - return "%s(req=%s)" % (type(self).__name__, type(self.req).__name__) - def check(self, event): return [] @@ -452,9 +439,6 @@ class JSONSchemaValidator(NoValidator): self.schema = json.load(f) self.validator = Draft4Validator(self.schema) - def __str__(self): - return "%s(req=%s, filename=\"%s\")" % (type(self).__name__, type(self.req).__name__, self.path) - def check(self, event): def sortkey(k): @@ -503,13 +487,6 @@ class MySQL(ObjectBase): self.con = None - def __str__(self): - return ( - "%s(req=%s, host='%s', user='%s', dbname='%s', port=%d, retry_count=%d, " - "retry_pause=%d, catmap_filename=\"%s\", tagmap_filename=\"%s\")") % ( - type(self).__name__, type(self.req).__name__, self.host, self.user, self.dbname, self.port, self.retry_count, - self.retry_pause, self.catmap_filename, self.tagmap_filename) - def connect(self): self.con = my.connect( host=self.host, user=self.user, passwd=self.password, @@ -889,10 +866,6 @@ class Server(ObjectBase): self.auth = auth self.handler = handler - def __str__(self): - return "%s(req=%s, auth=%s, handler=%s)" % ( - type(self).__name__, type(self.req).__name__, type(self.auth).__name__, type(self.handler).__name__) - def sanitize_args(self, path, func, args, exclude=["self", "post"]): # silently remove internal args, these should never be used # but if somebody does, we do not expose them by error message @@ -1019,11 +992,6 @@ class WardenHandler(ObjectBase): self.get_events_limit = get_events_limit self.description = description - def __str__(self): - return "%s(req=%s, validator=%s, db=%s, send_events_limit=%s, get_events_limit=%s, description=\"%s\")" % ( - type(self).__name__, type(self.req).__name__, type(self.validator).__name__, type(self.db).__name__, - self.get_events_limit, self.send_events_limit, self.description) - @expose(read=1, debug=1) @json_wrapper def getDebug(self): -- GitLab