Пример #1
0
def tag_feed(request, tag, full_text = False):
    # horrible special-case for the tag feed
    server = "http://%s"%(request.META['SERVER_NAME'] or 'localhost')
    feedclass = feed_engine( 'atom' )

    feed = feedclass(
      title = 'things tagged %s on jerakeen.org'%tag,
      link = "%s/tags/%s/"%(server, urllib.quote(tag.encode('utf-8'))),
      description = "",
      author_name = "Tom Insam",
      author_email = "*****@*****.**",
      author_link = "http://jerakeen.org/",
      feed_url = "%s/tags/%s/feed/"%(server,urllib.quote(tag.encode('utf-8'))),
    );

    tags = filter( lambda x: len(x), tag.split('+') )
    page_list = Page.pages_tagged(tags)[:15]

    for p in page_list:
        if full_text:
            data = p.body
        else:
            data = p.excerpt or p.body
        image = '<img src="%s" style="float:left" width="75" height="75">'%p.thumb_url()
        feed.add_item(
            p.title,
            p.really_absolute_url(),
            image + pagefilter( data ),
            pubdate = p.date )

    return HttpResponse(
        feed.writeString('utf-8'), mimetype = feed.mime_type )
Пример #2
0
def appcast(request, pagetype, slug):
    pagetype = get_object_or_404( PageType, folder = pagetype.lower() )
    slug = slug.lower()
    page = get_object_or_404( Page, pagetype__exact = pagetype.id, slug__exact = slug )

    feedclass = feed_engine('rss2')

    server = settings.SITE_URL
    feed = feedclass(
      title = "jerakeen.org / %s / appcast"%page.title,
      link = "%s%s"%( server, page.get_absolute_url() ),
      description = "",
      author_name = "Tom Insam",
      author_email = "*****@*****.**",
      author_link = "http://jerakeen.org/",
      feed_url = "%s%s/appcast"%( server, page.get_absolute_url() ),
    );

    for upload in page.upload_set.all():
        feed.add_item(
            upload.title,
            upload.file.url, # includes hostname
            pagefilter( upload.description ),
            pubdate = upload.date,
            enclosure = feedgenerator.Enclosure( upload.file.url, unicode(upload.file.size), "application/octet-stream" ),
        )
        

    return HttpResponse(
        feed.writeString('utf-8'), mimetype = feed.mime_type )
Пример #3
0
 def htmlexcerpt(self):
     if self.format == "raw":
         return mark_safe(self.excerpt)
     return pagefilter(self.excerpt or "{no excerpt}")
Пример #4
0
 def htmlbody(self):
     if self.format == "raw":
         return mark_safe(self.body)
     return pagefilter(self.body)