aboutsummaryrefslogtreecommitdiffstats
path: root/pygithub3/resources/base.py
diff options
context:
space:
mode:
Diffstat (limited to 'pygithub3/resources/base.py')
-rw-r--r--pygithub3/resources/base.py11
1 files changed, 9 insertions, 2 deletions
diff --git a/pygithub3/resources/base.py b/pygithub3/resources/base.py
index 183c9eb..255f4c1 100644
--- a/pygithub3/resources/base.py
+++ b/pygithub3/resources/base.py
@@ -39,6 +39,13 @@ class Resource(object):
@classmethod
def __load(self, raw_resource):
+ def self_resource(func):
+ def wrapper(resource, raw_resource):
+ if resource == 'self':
+ resource = self
+ return func(resource, raw_resource)
+ return wrapper
+
def parse_date(string_date):
from datetime import datetime
try:
@@ -47,12 +54,12 @@ class Resource(object):
date = None
return date
+ @self_resource
def parse_map(resource, raw_resource):
- if resource == 'self':
- return self.__load(raw_resource)
if hasattr(raw_resource, 'items'):
return resource.__load(raw_resource)
+ @self_resource
def parse_collection_map(resource, raw_resources):
# Dict of resources (Ex: Gist file)
if hasattr(raw_resources, 'items'):