1
- # -*- coding: utf-8 -*-
2
-
3
1
"""
4
2
Core views, including the main homepage,
5
3
15
13
from django .shortcuts import render , get_object_or_404 , redirect
16
14
from django .views .generic import TemplateView
17
15
18
-
19
16
from readthedocs .builds .models import Version
20
17
from readthedocs .core .utils .general import wipe_version_via_slugs
21
18
from readthedocs .core .resolver import resolve_path
22
19
from readthedocs .core .symlink import PrivateSymlink , PublicSymlink
23
- from readthedocs .core .utils import broadcast
24
20
from readthedocs .core .views .serve import _serve_file
25
21
from readthedocs .projects .constants import PRIVATE
26
22
from readthedocs .projects .models import Project , ImportedFile
27
- from readthedocs .projects .tasks import remove_dirs
28
23
from readthedocs .redirects .utils import get_redirect_response , project_and_path_from_request , language_and_version_from_path
29
24
30
25
log = logging .getLogger (__name__ )
31
26
32
27
33
- class NoProjectException (Exception ):
34
- pass
35
-
36
-
37
28
class HomepageView (TemplateView ):
38
29
39
30
template_name = 'homepage.html'
@@ -90,7 +81,7 @@ def wipe_version(request, project_slug, version_slug):
90
81
if request .method == 'POST' :
91
82
wipe_version_via_slugs (
92
83
version_slug = version_slug ,
93
- project_slug = project_slug
84
+ project_slug = project_slug ,
94
85
)
95
86
return redirect ('project_version_list' , project_slug )
96
87
return render (
@@ -188,7 +179,10 @@ def resolve_404_path(project, version_slug=None, language=None):
188
179
fullpath = os .path .join (basepath , filename )
189
180
return (basepath , filename , fullpath )
190
181
191
- project , full_path = project_and_path_from_request (request , request .get_full_path ())
182
+ project , full_path = project_and_path_from_request (
183
+ request ,
184
+ request .get_full_path (),
185
+ )
192
186
193
187
if project :
194
188
language = None
@@ -200,7 +194,11 @@ def resolve_404_path(project, version_slug=None, language=None):
200
194
# Firstly, attempt to serve the 404 of the current version (version_slug)
201
195
# Secondly, try to serve the 404 page for the default version (project.get_default_version())
202
196
for slug in (version_slug , project .get_default_version ()):
203
- basepath , filename , fullpath = resolve_404_path (project , slug , language )
197
+ basepath , filename , fullpath = resolve_404_path (
198
+ project ,
199
+ slug ,
200
+ language ,
201
+ )
204
202
if os .path .exists (fullpath ):
205
203
log .debug (
206
204
'serving 404.html page current version: [project: %s] [version: %s]' ,
0 commit comments