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=1).order_by('-pub_date') 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)