Resolve bugs with article unified

This commit is contained in:
2026-10-29 00:22:59 +01:00
parent 8281152154
commit 6b8d33d508
+15 -11
View File
@@ -39,11 +39,11 @@ def new_article():
if request.method == 'POST': if request.method == 'POST':
tmp = re.sub(r'[^a-zA-Z0-9 ]', '', request.form['title'].rstrip()) tmp = re.sub(r'[^a-zA-Z0-9 ]', '', request.form['title'].rstrip())
title_id = tmp.replace(' ', '-') title_id = tmp.replace(' ', '-')
title = request.form['title'].rstrip() title = str(request.form['title'])
subtitle = request.form['subtitle'] subtitle = str(request.form['subtitle'])
category = request.form['category'] category = str(request.form['category'])
content = request.form['content'] content = str(request.form['content'])
status = request.form['status'] status = str(request.form['status'])
post_date = time.strftime("%d/%m/%Y %H:%M:%S") post_date = time.strftime("%d/%m/%Y %H:%M:%S")
if 'blog-unified' in request.form.keys(): if 'blog-unified' in request.form.keys():
status = status+'_unified' status = status+'_unified'
@@ -61,6 +61,8 @@ def new_article():
@login_required @login_required
def edit(title_id): def edit(title_id):
user = '%s' % escape(session['username']) user = '%s' % escape(session['username'])
title_id = '%s' % escape(title_id)
conn = sqlite3.connect(DATABASE) # Connexion à la base de donnée conn = sqlite3.connect(DATABASE) # Connexion à la base de donnée
cursor = conn.cursor() # Création de l'objet "curseur" cursor = conn.cursor() # Création de l'objet "curseur"
cursor.execute("""SELECT title_id, title, subtitle, creation_date, category, content, status FROM Blog_posts WHERE title_id=? AND author=?""", (title_id, user)) cursor.execute("""SELECT title_id, title, subtitle, creation_date, category, content, status FROM Blog_posts WHERE title_id=? AND author=?""", (title_id, user))
@@ -132,7 +134,7 @@ def list_articles_blog():
@blog.route('/myblog/delete/<title_id>') @blog.route('/myblog/delete/<title_id>')
@login_required @login_required
def delete(title_id): def delete(title_id):
title_id = '%s' % str(title_id).rstrip() title_id = '%s' % escape(title_id)
user='%s'% escape(session['username']) user='%s'% escape(session['username'])
folder_blog = DOSSIER_PERSO + user + "/blog/articles/" folder_blog = DOSSIER_PERSO + user + "/blog/articles/"
folder_blog_public = DOSSIER_PUBLIC + user + "/blog/articles/" folder_blog_public = DOSSIER_PUBLIC + user + "/blog/articles/"
@@ -255,7 +257,7 @@ def viewauthorrss(author):
cursor = conn.cursor() # Création de l'objet "curseur" cursor = conn.cursor() # Création de l'objet "curseur"
cursor.execute("""SELECT MAX (creation_date) FROM Blog_posts WHERE author=? AND status='public_unified' OR status='public'""", (author, ) ) cursor.execute("""SELECT MAX (creation_date) FROM Blog_posts WHERE author=? AND status='public_unified' OR status='public'""", (author, ) )
last_article_date = cursor.fetchone() last_article_date = cursor.fetchone()
cursor.execute("""SELECT title_id, title, subtitle, content, creation_date, author, status FROM Blog_posts WHERE author=? AND status='public_unified' OR status='public'""", (author, ) ) cursor.execute("""SELECT title_id, title, subtitle, content, creation_date, author, status FROM Blog_posts WHERE author=? AND (status='public_unified' OR status='public')""", (author, ) )
list_posts=cursor.fetchall() list_posts=cursor.fetchall()
posts=list() posts=list()
id=0 id=0
@@ -284,6 +286,7 @@ def viewauthorrss(author):
@login_required @login_required
def viewPrivateArticle(username, title_id): def viewPrivateArticle(username, title_id):
user = '%s' % escape(username) user = '%s' % escape(username)
title_id = '%s' % escape(title_id)
conn = sqlite3.connect(DATABASE) # Connexion à la base de donnée conn = sqlite3.connect(DATABASE) # Connexion à la base de donnée
cursor = conn.cursor() # Création de l'objet "curseur" cursor = conn.cursor() # Création de l'objet "curseur"
cursor.execute("""SELECT title_id, title, subtitle, content, creation_date, last_updated, author, status FROM Blog_posts WHERE author=? AND title_id=? AND status!='draft' """, (user, title_id)) cursor.execute("""SELECT title_id, title, subtitle, content, creation_date, last_updated, author, status FROM Blog_posts WHERE author=? AND title_id=? AND status!='draft' """, (user, title_id))
@@ -301,9 +304,11 @@ def viewPrivateArticle(username, title_id):
@blog.route('/blog/public/<username>/<title_id>', methods=['GET']) @blog.route('/blog/public/<username>/<title_id>', methods=['GET'])
def viewArticle(username, title_id): def viewArticle(username, title_id):
user = '%s' % escape(username) user = '%s' % escape(username)
title_id = '%s' % escape(title_id)
print(request.full_path)
conn = sqlite3.connect(DATABASE) # Connexion à la base de donnée conn = sqlite3.connect(DATABASE) # Connexion à la base de donnée
cursor = conn.cursor() # Création de l'objet "curseur" cursor = conn.cursor() # Création de l'objet "curseur"
cursor.execute("""SELECT title_id, title, subtitle, content, creation_date, last_updated, author FROM Blog_posts WHERE author=? AND title_id=? AND status='public_unified' """, (user, title_id) ) cursor.execute("""SELECT title_id, title, subtitle, content, creation_date, last_updated, author FROM Blog_posts WHERE title_id=? AND author=? AND (status='public_unified' OR status='public') """, (title_id, user) )
post = cursor.fetchone() post = cursor.fetchone()
conn.close() conn.close()
if post != None: if post != None:
@@ -317,11 +322,10 @@ def viewArticle(username, title_id):
@blog.route('/blog/rss.xml', methods=['GET']) @blog.route('/blog/rss.xml', methods=['GET'])
def viewrss(): def viewrss():
conn = sqlite3.connect(DATABASE) # Connexion à la base de donnée conn = sqlite3.connect(DATABASE) # Connexion à la base de donnée
cursor = conn.cursor() # Création de l'objet "curseur" cursor = conn.cursor()
cursor.execute("""SELECT MAX(creation_date) FROM Blog_posts WHERE status='public_unified'""") cursor.execute("""SELECT MAX(creation_date) FROM Blog_posts WHERE status='public_unified'""")
last_article_date = cursor.fetchone() last_article_date = cursor.fetchone()
print (last_article_date[0]) cursor.execute("""SELECT title_id, title, subtitle, content, creation_date, author, status FROM Blog_posts WHERE status='public_unified'""")
cursor.execute("""SELECT title_id, title, subtitle, content, creation_date, author, status FROM Blog_posts WHERE status='public_unified'""" )
list_posts=cursor.fetchall() list_posts=cursor.fetchall()
posts=list() posts=list()
id=0 id=0