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()