diff options
Diffstat (limited to 'discord/utils.py')
| -rw-r--r-- | discord/utils.py | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/discord/utils.py b/discord/utils.py index 2662b4a1..9e230262 100644 --- a/discord/utils.py +++ b/discord/utils.py @@ -31,6 +31,21 @@ from base64 import b64encode import asyncio import json + +class cached_property: + def __init__(self, function): + self.function = function + self.__doc__ = getattr(function, '__doc__') + + def __get__(self, instance, owner): + if instance is None: + return self + + value = self.function(instance) + setattr(instance, self.function.__name__, value) + + return value + def parse_time(timestamp): if timestamp: return datetime.datetime(*map(int, re_split(r'[^\d]', timestamp.replace('+00:00', '')))) |