Changeset 1711
- Timestamp:
- 07/24/08 12:18:54 (20 months ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
trunk/pylucid/PyLucid/plugins_internal/blog/blog.py
r1710 r1711 151 151 context["feed_info"] = self._get_feeds_info() 152 152 context["tag_feed_info"] = self._get_tag_feeds_info(used_tags) 153 154 context["tag_cloud"] = self._get_tag_cloud() 153 155 154 156 self._render_template("display_blog", context, debug=0) … … 711 713 return feeds 712 714 715 def _get_tag_cloud(self): 716 """ 717 Build the tag cloud context. 718 """ 719 720 return [] 721 713 722 def select_feed_format(self, raw_feed_name=None): 714 723 """ … … 719 728 720 729 feed_name = raw_feed_name.strip("/") 721 existing_filenames = self._feed_filenames() 722 if feed_name not in existing_filenames: 723 return self.error(_("Wrong URL."), "Feed filename doesn't exist") 730 731 # Verify the feed name 732 try: 733 self._feed_info_by_filename(feed_name) 734 except WrongFeedFilename, err: 735 return self.error(_("Wrong URL."), " feed name unknown: %s" % err) 724 736 725 737 format_info = [] … … 741 753 self._render_template("select_feed_format", context, debug=0) 742 754 755 def _feed_info_by_filename(self, feed_name): 756 """ 757 returns the queryset with all blog entries and a title of the feed. 758 raised WrongFeedFilename if feed_name is not valid. 759 used in self.select_feed_format() and self.feed() 760 """ 761 if feed_name == ENTRIES_FEED_NAME: 762 title = _("Feed with all blog entries") 763 queryset = BlogEntry.objects 764 765 elif feed_name == COMMENTS_FEED_NAME: 766 title = _("Feed with all blog comments") 767 queryset = BlogComment.objects 768 769 elif feed_name.startswith(TAG_FEED_PREFIX): 770 # Feed with all blog entries tagged with the given tag 771 tag_slug = feed_name[len(TAG_FEED_PREFIX):] 772 try: 773 tag_obj = BlogTag.objects.get(slug = tag_slug) 774 except BlogTag.DoesNotExist, err: 775 raise WrongFeedFilename( 776 "tag '%s' unknown: %s" % (tag_slug, err) 777 ) 778 779 title = _("Feed with all blog entries tagged as '%s'") % ( 780 tag_obj.name 781 ) 782 queryset = tag_obj.blogentry_set 783 else: 784 raise WrongFeedFilename("feed name '%s' unknown." % feed_name) 785 786 return queryset, title 787 743 788 def feed(self, raw_feed_name=None): 744 789 """ … … 753 798 if raw_feed_name == None: 754 799 return self.error(_("Wrong URL."), "No feed filename given in URL.") 755 756 title = self.preferences["blog_title"]757 800 758 801 feed_info = FeedFormat() … … 767 810 FeedGenerator = format_info["generator"] 768 811 812 try: 813 entries, title = self._feed_info_by_filename(feed_name) 814 except WrongFeedFilename, err: 815 return self.error(_("Wrong URL."), " feed name unknown: %s" % err) 816 817 title = "%s - %s" % (self.preferences["blog_title"], title) 818 819 # Get the items 769 820 limit = self._get_max_count() 770 771 if feed_name == ENTRIES_FEED_NAME:772 # Feed with all blog entries773 entries = BlogEntry.objects774 title += " - all blog entries"775 776 elif feed_name == COMMENTS_FEED_NAME:777 # Feed with all comments778 entries = BlogComment.objects779 title += " - all blog comments"780 781 elif feed_name.startswith(TAG_FEED_PREFIX):782 # Feed with all blog entries tagged with the given tag783 tag_slug = feed_name[len(TAG_FEED_PREFIX):]784 #self.page_msg("Tag slug: '%s'" % tag_slug)785 tag_obj = BlogTag.objects.get(slug = tag_slug)786 title += " - all blog entries tagged with '%s'" % tag_obj.name787 entries = tag_obj.blogentry_set788 789 else:790 return self.error(791 _("Wrong URL."), " feed name '%s' unknown." % feed_name792 )793 794 # Get the items795 821 items = entries.filter(is_public=True).all()[:limit] 796 822 … … 869 895 """ 870 896 pass 897 898 class WrongFeedFilename(Exception): 899 """ 900 The feed filename from the url is not valid. 901 """ 902 pass