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
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