1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
|
import os
from django.urls import reverse
from builder.base import BuildNew
from pages.models import Page
from .models import Publisher
class BuildResume(BuildNew):
def build(self):
self.build_detail_view()
self.build_list_view(
base_path=reverse("resume:live_redirect"),
paginate_by=9999
)
self.build_publisher_list()
self.build_pages()
def get_model_queryset(self):
return self.model.objects.all()
def build_detail_view(self):
for obj in self.get_model_queryset():
url = obj.get_absolute_url()
path, slug = os.path.split(url)
path = '%s/' % path
# write html
response = self.client.get(url)
print(path, slug)
self.write_file(path, response.content, filename=slug)
def build_publisher_list(self):
publishers = Publisher.objects.all()
for publisher in publishers:
self.build_list_view(
base_path=reverse("resume:live_publisher_redirect", kwargs={'publisher': publisher.slug, }),
paginate_by=9999
)
def build_pages(self):
'''
build out /resume and /resume/cv
'''
pages = Page.objects.filter(app="resume")
for obj in pages:
url = obj.get_absolute_url()
path, slug = os.path.split(url)
path = '%s/' % path
# write html
response = self.client.get(url)
if obj.slug == "resume":
path = "/resume/"
slug = "index"
print(path, slug)
self.write_file(path, response.content, filename=slug)
def builder():
j = BuildResume("resume", "pubitem")
j.build()
|