1
+ """API resources"""
1
2
import logging
2
3
import json
3
4
import redis
4
5
5
6
from django .contrib .auth .models import User
6
- from django .conf import settings
7
7
from django .conf .urls import url
8
8
from django .shortcuts import get_object_or_404
9
9
from django .core .cache import cache
16
16
from tastypie .utils import dict_strip_unicode_keys , trailing_slash
17
17
18
18
from readthedocs .builds .constants import LATEST
19
- from readthedocs .builds .models import Build , Version
19
+ from readthedocs .builds .models import Version
20
20
from readthedocs .core .utils import trigger_build
21
21
from readthedocs .projects .models import Project , ImportedFile
22
22
from readthedocs .restapi .views .footer_views import get_version_compare_data
27
27
28
28
29
29
class ProjectResource (ModelResource , SearchMixin ):
30
+
31
+ """API resource for Project model."""
32
+
30
33
users = fields .ToManyField ('readthedocs.api.base.UserResource' , 'users' )
31
34
32
35
class Meta (object ):
@@ -115,6 +118,9 @@ def override_urls(self):
115
118
116
119
117
120
class VersionResource (ModelResource ):
121
+
122
+ """API resource for Version model."""
123
+
118
124
project = fields .ForeignKey (ProjectResource , 'project' , full = True )
119
125
120
126
class Meta (object ):
@@ -133,7 +139,7 @@ def get_object_list(self, request):
133
139
self ._meta .queryset = Version .objects .api (user = request .user )
134
140
return super (VersionResource , self ).get_object_list (request )
135
141
136
- def version_compare (self , request , project_slug , base = None , ** kwargs ):
142
+ def version_compare (self , request , project_slug , base = None , ** __ ):
137
143
project = get_object_or_404 (Project , slug = project_slug )
138
144
if base and base != LATEST :
139
145
try :
@@ -180,6 +186,9 @@ def override_urls(self):
180
186
181
187
182
188
class FileResource (ModelResource , SearchMixin ):
189
+
190
+ """API resource for ImportedFile model."""
191
+
183
192
project = fields .ForeignKey (ProjectResource , 'project' , full = True )
184
193
185
194
class Meta (object ):
@@ -207,7 +216,7 @@ def override_urls(self):
207
216
name = "api_get_anchor" ),
208
217
]
209
218
210
- def get_anchor (self , request , ** kwargs ):
219
+ def get_anchor (self , request , ** __ ):
211
220
self .method_check (request , allowed = ['get' ])
212
221
self .is_authenticated (request )
213
222
self .throttle_check (request )
@@ -229,6 +238,8 @@ def get_anchor(self, request, **kwargs):
229
238
230
239
class UserResource (ModelResource ):
231
240
241
+ """Read-only API resource for User model."""
242
+
232
243
class Meta (object ):
233
244
allowed_methods = ['get' ]
234
245
queryset = User .objects .all ()
0 commit comments