diff --git a/generators/atom.py b/generators/atom.py index c569798..42a5178 100644 --- a/generators/atom.py +++ b/generators/atom.py @@ -44,11 +44,13 @@ class Atom(RSS): modificationDate = post.modification_date.strftime('%Y-%m-%dT%H:%M:%SZ') self.appendElement(dom, item, 'updated', modificationDate) self.appendElement(dom, item, 'id', path) - author = dom.createElement('author') - self.appendElement(dom, author, 'name', post.author.first_name + ' ' + post.author.last_name) - self.appendElement(dom, author, 'email', post.author.email) - item.appendChild(author) - + try: + author = dom.createElement('author') + self.appendElement(dom, author, 'name', post.author.first_name + ' ' + post.author.last_name) + self.appendElement(dom, author, 'email', post.author.email) + item.appendChild(author) + except: + pass filename = blog.src_path + '/_post/' + str(post.id) if not os.path.exists(filename): diff --git a/generators/index.py b/generators/index.py index a6f78dd..81de2f4 100644 --- a/generators/index.py +++ b/generators/index.py @@ -125,7 +125,10 @@ class Index(DynastieGenerator): return node.cloneNode(0) values = {} - values['author'] = post.author.first_name + ' ' + post.author.last_name + try: + values['author'] = post.author.first_name + ' ' + post.author.last_name + except: + values['author'] = 'Unknown' values['post_content'] = '' blog = post.blog diff --git a/generators/post.py b/generators/post.py index 756a62e..4ff7f26 100644 --- a/generators/post.py +++ b/generators/post.py @@ -108,7 +108,10 @@ class Post(Index): elif name == 'description': new_elem = self.createMeta(dom, name, post.description) elif name == 'author': - new_elem = self.createMeta(dom, name, post.author.first_name + ' ' + post.author.last_name) + try: + new_elem = self.createMeta(dom, name, post.author.first_name + ' ' + post.author.last_name) + except: + return None if not new_elem is None: root.parentNode.replaceChild(new_elem, root) diff --git a/generators/rss.py b/generators/rss.py index 3f50ea8..51072dd 100644 --- a/generators/rss.py +++ b/generators/rss.py @@ -61,10 +61,13 @@ class RSS(DynastieGenerator): self.appendElement(dom, item, 'description', '') - author = post.author.email - author += ' (' + post.author.first_name + ' ' + post.author.last_name + ')' - self.appendElement(dom, item, 'author', author) - self.appendElement(dom, item, 'category', post.category.name) + try: + author = post.author.email + author += ' (' + post.author.first_name + ' ' + post.author.last_name + ')' + self.appendElement(dom, item, 'author', author) + self.appendElement(dom, item, 'category', post.category.name) + except: + pass creationDate = post.creation_date.strftime('%a, %d %b %Y %H:%M:%S') self.appendElement(dom, item, 'pubDate', creationDate) diff --git a/models.py b/models.py index 78e4f6a..2934f3b 100644 --- a/models.py +++ b/models.py @@ -362,3 +362,8 @@ def delete_tag_signal(sender, **kwargs): @receiver(post_delete, sender=Post) def delete_post_signal(sender, **kwargs): kwargs['instance'].remove() + +@receiver(pre_delete, sender=Post) +def pre_delete_post_signal(sender, **kwargs): + post = kwargs['instance'] + comments = Comment.objects.filter(post=post.id).delete() diff --git a/sites/blog.soutade.fr/_post.html b/sites/blog.soutade.fr/_post.html index f3c652c..a743c64 100755 --- a/sites/blog.soutade.fr/_post.html +++ b/sites/blog.soutade.fr/_post.html @@ -16,7 +16,7 @@ RĂ©pondre
Auteur :


- e-mail* :


+ e-mail* :


Le commentaire :


diff --git a/views.py b/views.py index 4112602..35ddbc6 100644 --- a/views.py +++ b/views.py @@ -181,7 +181,7 @@ def category(request, blog_id): @login_required def add_category(request, blog_id): b,_ = have_I_right(request, blog_id) - + if request.method == 'POST': if 'add' in request.POST: form = CategoryForm(request.POST) @@ -302,7 +302,7 @@ def blog(request): def add_blog(request): if not request.user.is_superuser: return HttpResponseRedirect('/blog') - + if request.method == 'POST': if 'add' in request.POST: form = BlogForm(request.POST) @@ -452,9 +452,9 @@ def edit_post(request, post_id): comment_list.append(comment) return render(request, 'edit_post.html', { - 'form': form, 'post_id' : post_id, 'content' : content, - 'blog_id' : blog_id, 'comments' : comment_list - }) + 'form': form, 'post_id' : post_id, 'content' : content, + 'blog_id' : blog_id, 'comments' : comment_list + }) @login_required def delete_post(request, post_id): @@ -528,7 +528,7 @@ def search(request, blog_id): text = request.POST['text'] else: return HttpResponseRedirect(ref) - + s = Search() post_list = s.search(b, text) @@ -552,8 +552,8 @@ def preview(request, blog_id): (b, p) = have_I_right(request, blog_id) values = {'title' : request.POST['title'], \ - 'author' : request.user.first_name + ' ' + request.user.last_name, \ - 'content' : request.POST['content'] + 'author' : request.user.first_name + ' ' + request.user.last_name, \ + 'content' : request.POST['content'] } engine = globals()['post'] @@ -577,7 +577,7 @@ def preview(request, blog_id): c = {'content' : content} return HttpResponseRedirect('http://' + b.name + '/preview.html') - # return HttpResponseRedirect('http://' + 'localhost:8080' + '/preview.html') +# return HttpResponseRedirect('http://' + 'localhost:8080' + '/preview.html') def _tinymcelist(request, b, year, month): ret = 'var tinyMCEImageList = new Array(' @@ -683,10 +683,12 @@ def add_comment(request, post_id, parent_id): engine = globals()['post'] post_list = [post] + hash_post = {} + hash_post_content = {} for name, obj in inspect.getmembers(engine): if inspect.isclass(obj) and obj.__module__.startswith("dynastie.generators") \ and obj.__module__.endswith("post"): - e = obj() + e = obj(hash_post, hash_post_content) content = e._generate(blog, blog.src_path, blog.output_path, post_list) break