|
16 | 16 |
|
17 | 17 | import requests |
18 | 18 |
|
| 19 | +from decorator import decorator |
| 20 | + |
19 | 21 |
|
20 | 22 | class GithubCore(object): |
21 | 23 |
|
@@ -52,29 +54,26 @@ def _requests_pre_hook(*args, **kwargs): |
52 | 54 | return args, kwargs |
53 | 55 |
|
54 | 56 |
|
55 | | - def _get_http_resource(self, endpoint, params=None): |
| 57 | + def _http_resource(self, verb, endpoint, params=None, authed=True): |
56 | 58 |
|
57 | 59 | url = self._generate_url(endpoint) |
58 | 60 |
|
59 | | - args, kwargs = self._requests_pre_hook(url, params=params) |
60 | | - r = requests.get(*args, **kwargs) |
61 | | - |
62 | | - r.raise_for_status() |
63 | | - |
64 | | - return r |
| 61 | + if authed: |
| 62 | + args, kwargs = self._requests_pre_hook(verb, url, params=params) |
| 63 | + else: |
| 64 | + args = (verb, url) |
| 65 | + kwargs = {'params': params} |
65 | 66 |
|
66 | | - def _patch_http_resource(self, endpoint, params=None): |
| 67 | + r = requests.request(*args, **kwargs) |
67 | 68 |
|
68 | | - url = self._generate_url(endpoint) |
69 | | - r = requests.patch(url, params=params) |
70 | 69 | r.raise_for_status() |
71 | 70 |
|
72 | 71 | return r |
73 | 72 |
|
74 | 73 |
|
75 | | - def _get_resource(self, resource, obj, **kwargs): |
| 74 | + def _get_resource(self, resource, obj, authed=True, **kwargs): |
76 | 75 |
|
77 | | - r = self._get_http_resource(resource, params=kwargs) |
| 76 | + r = self._http_resource('GET', resource, params=kwargs, authed=authed) |
78 | 77 | item = self._resource_deserialize(r.content) |
79 | 78 |
|
80 | 79 | return obj.new_from_dict(item, gh=self) |
@@ -105,11 +104,12 @@ class Github(GithubCore): |
105 | 104 |
|
106 | 105 | def __init__(self): |
107 | 106 | super(Github, self).__init__() |
| 107 | + self.is_authenticated = False |
108 | 108 |
|
109 | 109 |
|
110 | 110 | def get_user(self, username): |
111 | 111 | """Get a single user.""" |
112 | | - return self._get_resource(('users', username), User) |
| 112 | + return self._get_resource(('users', username), User, authed=False) |
113 | 113 |
|
114 | 114 |
|
115 | 115 | def get_me(self): |
|
0 commit comments