From d022ebefadadc355f3795c5afd9551cafdebb50e Mon Sep 17 00:00:00 2001 From: idziubenko Date: Mon, 1 Nov 2021 15:00:53 +0300 Subject: [PATCH] added ensure_unicode utility function --- pym/calculate/lib/utils/common.py | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/pym/calculate/lib/utils/common.py b/pym/calculate/lib/utils/common.py index 9a8001d..a6984cb 100644 --- a/pym/calculate/lib/utils/common.py +++ b/pym/calculate/lib/utils/common.py @@ -98,6 +98,15 @@ def getpathenv(): envPath = set(env.get('PATH', '').split(":")) | bindir return ":".join(envPath) +#decorator +def ensure_unicode(func): + def _ensure_unicode_wrapper(*args, **kwargs): + args = [x if not isinstance(x, bytes) else x.decode("UTF-8") for x in args] + for x in kwargs: + if isinstance(kwargs[x], bytes): + kwargs[x] = kwargs[x].decode("UTF-8") + return func(*args, **kwargs) + return _ensure_unicode_wrapper from .files import process, listDirectory