UI functionality added to main view
[biaweb_qt.git] / biaweb_db.py
index 9be184d..576f284 100644 (file)
@@ -2,9 +2,60 @@
 # 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 ()