summaryrefslogtreecommitdiff
path: root/app/resume/build.py
blob: e4493262fe73d4ff9d5cd99b85f1b7ce1223d4a3 (plain)
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()