diff options
Diffstat (limited to 'app/posts/build.py')
-rw-r--r-- | app/posts/build.py | 78 |
1 files changed, 65 insertions, 13 deletions
diff --git a/app/posts/build.py b/app/posts/build.py index 73c52e2..8c8fee0 100644 --- a/app/posts/build.py +++ b/app/posts/build.py @@ -20,11 +20,6 @@ class BuildSrc(BuildNew): self.build_detail_view() -def src_builder(): - j = BuildSrc("posts", "post") - j.build() - - class BuildGuide(BuildNew): def get_model_queryset(self): @@ -38,11 +33,6 @@ class BuildGuide(BuildNew): self.build_detail_view() -def guide_builder(): - j = BuildGuide("posts", "post") - j.build() - - class BuildFieldNotes(BuildNew): def get_model_queryset(self): @@ -58,6 +48,68 @@ class BuildFieldNotes(BuildNew): self.build_month_view("fieldnotes:list_month") -def fieldnotes_builder(): - j = BuildFieldNotes("posts", "post") - j.build() +class BuildJrnl(BuildNew): + ''' + Write jrnl to disk + ''' + def get_model_queryset(self): + return self.model.objects.filter(post_type=PostType.JRNL).filter(status__exact=1).order_by('-pub_date') + + def build(self): + self.build_list_view( + base_path=reverse("jrnl:list"), + paginate_by=24 + ) + self.build_year_view("jrnl:list_year") + self.build_month_view("jrnl:list_month") + self.build_detail_view() + self.build_location_view() + self.build_latest() + + def build_arc(self): + self.build_list_view( + base_path=reverse("jrnl:list"), + paginate_by=24 + ) + self.build_year_view("jrnl:list_year") + self.build_month_view("jrnl:list_month") + self.build_location_view() + + def build_location_view(self): + c = apps.get_model('locations', 'Country') + r = apps.get_model('locations', 'Region') + countries = c.objects.filter(visited=True) + regions = r.objects.all() + locations = list(chain(countries, regions)) + for c in locations: + try: + qs = self.model.objects.filter( + status__exact=1, + location__state__country=c + ) + except: + qs = self.model.objects.filter( + status__exact=1, + location__state__country__lux_region=c.id + ) + print(c) + pages = self.get_pages(qs, 24) + for page in range(pages): + base_path = reverse("jrnl:list_country", kwargs={'slug': c.slug, 'page': page + 1}) + response = self.client.get(base_path) + print(response.content) + if page == 0: + self.write_file(base_path, response.content) + else: + self.write_file(base_path, response.content) + + def build_latest(self): + response = self.client.get('/jrnl/latest/') + self.write_file(reverse("jrnl:latest"), response.content) + + +class BuildHome(BuildNew): + + def build(self): + response = self.client.get('/') + self.write_file('', response.content) |