# Database handling functions
import sqlite3
+import os
+import os.path
+import pprint
+# 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:
+ conn = sqlite3.connect (dbname)
+ c = conn.cursor ()
+ if category_id == None:
+ c.execute ("SELECT * FROM articles;")
+ else:
+ c.execute ("SELECT * FROM articles WHERE cid=?", (category_id,))
+ conn.commit ()
+ rows = c.fetchall ()
+ return rows
+ except sqlite3.Error:
+ return False
+
+# Function to get list of categories and return a (category_id, category_name) array
+def get_categories (dbname):
+ try:
+ conn = sqlite3.connect (dbname)
+ c = conn.cursor ()
+ c.execute ("SELECT * FROM categories;")
+ conn.commit ()
+ recs = c.fetchall ()
+ conn.close ()
+ return recs
+ except sqlite3.Error:
+ return False
+
+# function to create a new site database
def create_db (dbname, site_title, site_url, keywords, description, copyright,
num_rss, dest_path):
+ try:
+ if os.path.exists (dbname):
+ os.remove (dbname)
+ except OSError:
+ return False
+
try:
conn = sqlite3.connect (dbname)
c = conn.cursor ()