diff options
Diffstat (limited to 'aggregator')
-rw-r--r-- | aggregator/feeds.py | 44 | ||||
-rw-r--r-- | aggregator/migrations/0002_auto__chg_field_post_post_id.py | 49 |
2 files changed, 93 insertions, 0 deletions
diff --git a/aggregator/feeds.py b/aggregator/feeds.py new file mode 100644 index 0000000..3274ba3 --- /dev/null +++ b/aggregator/feeds.py @@ -0,0 +1,44 @@ +from django.contrib.syndication.views import Feed +from django.contrib.comments.models import Comment + +from .models import Post + +class LatestPostsFeed(Feed): + title = "ryuslash's RSS feed" + link = "/" + description = "Updates by ryuslash" + + def items(self): + return Post.objects.all()[:20] + + def item_title(self, item): + return item.title + + def item_description(self, item): + return item.body + + def item_link(self, item): + return "/post/%d/" % item.pk + + def item_pubdate(self, item): + return item.updated + +class LatestCommentsFeed(Feed): + title = "ryuslash's latest comments" + link = "/" + description = "Comments on posts" + + def items(self): + return Comment.objects.all() + + def item_title(self, item): + return 'Comment for %s' % item.content_object.title + + def item_description(self, item): + return item.comment + + def item_link(self, item): + return "/post/%s/" % item.object_pk + + def item_pubdate(self, item): + return item.submit_date diff --git a/aggregator/migrations/0002_auto__chg_field_post_post_id.py b/aggregator/migrations/0002_auto__chg_field_post_post_id.py new file mode 100644 index 0000000..906ed2d --- /dev/null +++ b/aggregator/migrations/0002_auto__chg_field_post_post_id.py @@ -0,0 +1,49 @@ +# encoding: utf-8 +import datetime +from south.db import db +from south.v2 import SchemaMigration +from django.db import models + +class Migration(SchemaMigration): + + def forwards(self, orm): + + # Changing field 'Post.post_id' + db.alter_column('aggregator_post', 'post_id', self.gf('django.db.models.fields.CharField')(unique=True, max_length=255)) + + + def backwards(self, orm): + + # Changing field 'Post.post_id' + db.alter_column('aggregator_post', 'post_id', self.gf('django.db.models.fields.CharField')(max_length=500, unique=True)) + + + models = { + 'aggregator.feed': { + 'Meta': {'ordering': "['-updated']", 'object_name': 'Feed'}, + 'base_url': ('django.db.models.fields.URLField', [], {'max_length': '255'}), + 'br2nl': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'favicon_ext': ('django.db.models.fields.CharField', [], {'default': "'png'", 'max_length': '4'}), + 'feed_url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'name': ('django.db.models.fields.CharField', [], {'max_length': '200'}), + 'profile_url': ('django.db.models.fields.CharField', [], {'max_length': '255'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '500', 'blank': 'True'}), + 'updated': ('django.db.models.fields.DateTimeField', [], {'null': 'True', 'blank': 'True'}), + 'uses_title': ('django.db.models.fields.BooleanField', [], {'default': 'False'}), + 'with_markdown': ('django.db.models.fields.BooleanField', [], {'default': 'False'}) + }, + 'aggregator.post': { + 'Meta': {'ordering': "['-updated']", 'object_name': 'Post'}, + 'added': ('django.db.models.fields.DateTimeField', [], {'auto_now_add': 'True', 'blank': 'True'}), + 'body': ('django.db.models.fields.TextField', [], {}), + 'feed': ('django.db.models.fields.related.ForeignKey', [], {'to': "orm['aggregator.Feed']"}), + 'id': ('django.db.models.fields.AutoField', [], {'primary_key': 'True'}), + 'post_id': ('django.db.models.fields.CharField', [], {'unique': 'True', 'max_length': '255'}), + 'remote_url': ('django.db.models.fields.URLField', [], {'max_length': '255'}), + 'title': ('django.db.models.fields.CharField', [], {'max_length': '500'}), + 'updated': ('django.db.models.fields.DateTimeField', [], {}) + } + } + + complete_apps = ['aggregator'] |