diff options
Diffstat (limited to 'app/src')
-rw-r--r-- | app/src/build.py | 37 |
1 files changed, 37 insertions, 0 deletions
diff --git a/app/src/build.py b/app/src/build.py new file mode 100644 index 0000000..32c8026 --- /dev/null +++ b/app/src/build.py @@ -0,0 +1,37 @@ +from builder.base import * +from django.apps import apps + + +class BuildSrc(Build): + def build(self): + self.build_archive() + self.build_detail_pages() + + def queryset(self): + return self.get_model().objects.filter(status__exact).order_by('-date_created') + + def get_model(self): + return apps.get_model('src', 'Entry') + + def build_detail_pages(self): + ''' + Grab all the notes, render them to a template string and write that out to the filesystem + ''' + for entry in self.queryset(): + c = Context({'object': entry, 'MEDIA_URL': settings.BAKED_MEDIA_URL, 'IMAGES_URL': settings.BAKED_IMAGES_URL, 'SITE_URL':settings.SITE_URL}) + t = render_to_string('details/src_entry.html', c).encode('utf-8') + path = 'src/' + self.write_file(path, t, 'html', entry.slug) + s = render_to_string('details/note.txt', c).encode('utf-8') + self.write_file(path, s, 'txt', entry.slug) + + def build_archive(self): + path = 'src/' + c = Context({ + 'object_list': self.queryset(), + 'MEDIA_URL': settings.BAKED_MEDIA_URL, + 'IMAGES_URL': settings.BAKED_IMAGES_URL + }) + t = render_to_string('archives/src_home.html', c).encode('utf-8') + self.write_file(path, t) + |