aboutsummaryrefslogtreecommitdiff
path: root/discord/utils.py
diff options
context:
space:
mode:
Diffstat (limited to 'discord/utils.py')
-rw-r--r--discord/utils.py15
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', ''))))