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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
|
import os
from django.urls import reverse
from builder.base import BuildNew
from pages.models import Page
from .models import Publisher
class BuildPubs(BuildNew):
def build(self):
self.build_detail_view()
self.build_publisher_list()
self.build_list_view(
base_path=reverse("resume:list"),
paginate_by=9999
)
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()
print(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:list_by_publisher", kwargs={'publisher': publisher.slug, }),
paginate_by=9999
)
class BuildResume(BuildNew):
def build(self):
self.build_pages()
def get_model_queryset(self):
return self.model.objects.all()
def build_pages(self):
'''
build out /work/index.html and work/resume.html
'''
pages = self.get_model_queryset().filter(app="resume", build=True)
for obj in pages:
path = "work/"
if obj.slug == "profile":
url = '/work/'
slug = "index"
else:
url = "/%s%s/" % (path, obj.slug)
slug = obj.slug
# write html
response = self.client.get(url, HTTP_HOST='127.0.0.1')
self.write_file(path, response.content, filename=slug)
def pub_builder():
j = BuildPubs("resume", "pubitem")
j.build()
def resume_builder():
j = BuildResume("pages", "page")
j.build()
|