Changeset 1713 for trunk/pylucid/PyLucid/plugins_internal/blog/blog.py
- Timestamp:
- 07/24/08 16:16:21 (20 months ago)
- Files:
-
- 1 modified
Legend:
- Unmodified
- Added
- Removed
-
trunk/pylucid/PyLucid/plugins_internal/blog/blog.py
r1712 r1713 244 244 """ 245 245 slug = urlargs.strip("/") 246 # TODO: Verify tag 247 tag_obj = BlogTag.objects.get(slug = slug) 246 # TODO: Exist there a better way to verify the tag slug? 247 for char in (" ", "/", ";"): 248 if char in slug: 249 return self.error( 250 _("Wrong URL."), "Not allowed character in tag name!" 251 ) 252 253 try: 254 tag_obj = BlogTag.objects.safe_get(slug) 255 except BlogTag.DoesNotExist, err: 256 return self.error( 257 _("Wrong URL."), "tag '%s' unknown: %s" % (slug, err) 258 ) 248 259 249 260 self.current_page.title += ( … … 278 289 #self.page_msg(self.request.POST) 279 290 if form.is_valid(): 291 new_tags = form.cleaned_data.pop("new_tags") # ListCharField 280 292 if blog_obj == None: 281 293 # a new blog entry should be created 282 294 blog_obj = BlogEntry( 283 headline = form.cleaned_data["headline"],284 content = form.cleaned_data["content"],285 markup = form.cleaned_data["markup"],295 headline = form.cleaned_data["headline"], 296 content = form.cleaned_data["content"], 297 markup = form.cleaned_data["markup"], 286 298 is_public = form.cleaned_data["is_public"], 287 createby = self.request.user,299 createby = self.request.user, 288 300 ) 289 301 blog_obj.save() 290 302 self.page_msg.green("New blog entry created.") 291 tags_string = form.cleaned_data["tags"]292 303 else: 293 304 # Update a existing blog entry 294 tags_string = form.cleaned_data.pop("tags")295 305 self.page_msg.green("Update existing blog entry.") 296 306 blog_obj.lastupdateby = self.request.user … … 298 308 setattr(blog_obj, k, v) 299 309 300 tag_objects, new_tags = BlogTag.objects.get_or_creates( 301 tags_string 302 ) 303 if new_tags: 304 self.page_msg(_("New tags created: %s") % new_tags) 305 306 # Add many-to-many 307 for tag in tag_objects: 308 blog_obj.tags.add(tag) 310 if new_tags != []: 311 # There are new tags to create incoming via ListCharField 312 # Create the new tags and add them to the blog entry 313 new_tags = BlogTag.objects.add_new_tags(new_tags, blog_obj) 314 if new_tags: 315 self.page_msg(_("New tags created: %s") % new_tags) 309 316 310 317 blog_obj.save() … … 314 321 if blog_obj == None: 315 322 context["legend"] = _("Create a new blog entry") 316 317 323 form = BlogEntryForm( 318 initial={ 319 "markup": self.preferences["default_markup"], 320 } 324 initial={"markup": self.preferences["default_markup"],} 321 325 ) 322 326 else: 323 327 context["legend"] = _("Edit a existing blog entry") 324 form = BlogEntryForm( 325 instance=blog_obj, 326 initial={"tags":blog_obj.get_tag_string()} 327 ) 328 form = BlogEntryForm(instance=blog_obj) 328 329 329 330 context["form"]= form … … 471 472 "Comment contains mod_keyword: '%s'" % mod_keyword 472 473 ) 473 474 474 475 475 … … 499 499 is_public = False 500 500 else: 501 self.submit_msg("Blog comment published.") 502 mail_title = _("Blog comment published.") 501 msg = _("Blog comment published.") 502 self.submit_msg(msg) 503 mail_title = msg 503 504 is_public = True 504 505 … … 618 619 return 619 620 620 # CommentForm = AdminCommentForm621 #622 #623 # CommentForm = forms.form_for_instance(624 # instance=comment_entry#, form=BlogCommentForm625 # )626 627 621 blog_entry = comment_entry.blog_entry # ForeignKey("BlogEntry") 628 622 629 623 if self.request.method == 'POST': 630 # form = CommentForm(self.request.POST)631 624 form = AdminCommentForm(self.request.POST, instance=comment_entry) 632 625 #self.page_msg(self.request.POST) … … 641 634 ) 642 635 else: 643 # form = CommentForm()644 636 form = AdminCommentForm(instance=comment_entry) 645 637 … … 717 709 Build the tag cloud context. 718 710 """ 719 tags = BlogTag.objects.all() 720 721 frequency = set() 722 # get the counter information 723 for tag in tags: 724 count = tag.blogentry_set.count() 725 tag.count = count 726 #self.page_msg(tag, count) 727 frequency.add(count) 728 729 min_frequency = float(min(frequency)) 730 max_frequency = float(max(frequency)) 711 tags, min_frequency, max_frequency = BlogTag.objects.get_tag_info() 712 731 713 diff_frequency = float(max_frequency - min_frequency) 732 714 … … 757 739 feed_name = raw_feed_name.strip("/") 758 740 759 # Verify the feedname741 # Verify raw_feed_name 760 742 try: 761 743 self._feed_info_by_filename(feed_name) … … 799 781 tag_slug = feed_name[len(TAG_FEED_PREFIX):] 800 782 try: 801 tag_obj = BlogTag.objects. get(slug =tag_slug)783 tag_obj = BlogTag.objects.safe_get(tag_slug) 802 784 except BlogTag.DoesNotExist, err: 803 785 raise WrongFeedFilename(