import sqlite3
import os
import os.path
+import time
+
+# function to get an article from the database
+def get_article (dbname, artid):
+ try:
+ conn = sqlite3.connect (dbname)
+ c = conn.cursor ()
+ c.execute ("SELECT * FROM articles WHERE aid=?;", (artid,))
+ conn.commit ()
+ row = c.fetchone ()
+ conn.close ()
+ return row
+ except sqlite3.Error:
+ return False
+
+# function to create an article
+def create_article (dbname, title, summary, keywords, content, catid, stub, rating):
+ # time of creation
+ creattime = time.time ()
+ modtime = creattime
+ try:
+ conn = sqlite3.connect (dbname)
+ c = conn.cursor ()
+ c.execute ("INSERT INTO articles (title, summary, keywords, content, cdate, mdate, cid, stub, rating) \
+ VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?);", (title, summary, keywords, content, creattime,
+ modtime, catid, stub, rating))
+ conn.commit ()
+ conn.close ()
+ return True
+ except sqlite3.Error:
+ return False
+
+# function to update an article
+def update_article (dbname, aid, title, summary, keywords, content, catid, stub, rating):
+ # modification time only to be updated
+ modtime = time.time ()
+ try:
+ conn = sqlite3.connect (dbname)
+ c = conn.cursor ()
+ c.execute ("UPDATE articles SET title=?, summary=?, keywords=?, content=?, mdate=?, cid=?, \
+ stub=?, rating=? WHERE aid=?;",
+ (title, summary, keywords, content, modtime, catid, stub, rating, aid))
+ conn.commit ()
+ conn.close ()
+ return True
+ except sqlite3.Error:
+ return False
+
+# function to delete an article
+def delete_article (dbname, artid):
+ try:
+ conn = sqlite3.connect (dbname)
+ c = conn.cursor ()
+ c.execute ("DELETE FROM articles WHERE aid=?;", (artid,))
+ conn.commit ()
+ conn.close ()
+ return True
+ except sqlite3.Error:
+ return False
# function to get a category from the database
def get_category (dbname, catid):
except sqlite3.Error:
return False
+# function to remove a category
+def remove_category (dbname, catid):
+ try:
+ conn = sqlite3.connect (dbname)
+ c = conn.cursor ()
+ c.execute ("DELETE FROM categories WHERE cid=?;", (catid,))
+ c.execute ("DELETE FROM articles WHERE cid=?;", (catid,))
+ conn.commit ()
+ conn.close ()
+ return True
+ except sqlite3.Error:
+ return False
+
+
+# function to create a category
+def create_category (dbname, category_name, category_desc, category_stub):
+ try:
+ conn = sqlite3.connect (dbname)
+ c = conn.cursor ()
+ c.execute ("INSERT INTO categories (name, desc, stub) VALUES (?, ?, ?);",
+ (category_name, category_desc, category_stub))
+ conn.commit ()
+ conn.close ()
+ return True
+ except sqlite3.Error:
+ return False
+
# function to set the configuration and update the database
def set_configuration (dbname, site_title, site_url, keywords, description, copyright,
num_rss, dest_path):
except sqlite3.Error:
return False
-
-# function to create a category
-def create_category (dbname, category_name, category_desc, category_stub):
- try:
- conn = sqlite3.connect (dbname)
- c = conn.cursor ()
- c.execute ("INSERT INTO categories (name, desc, stub) VALUES (?, ?, ?);",
- (category_name, category_desc, category_stub))
- conn.commit ()
- conn.close ()
- return True
- except sqlite3.Error:
- return False
-
# Function to get list of articles (either full list or just in a category
def get_articles (dbname, category_id=None):
try: