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