except sqlite3.Error:
return False
+# Function to get articles from a category or all articles (inner join with categories to get category stub)
+def site_articles (dbname, catid = None):
+ try:
+ conn = sqlite3.connect (dbname)
+ c = conn.cursor ()
+ if catid is None:
+ c.execute ("SELECT * FROM articles INNER JOIN categories ON articles.cid=categories.cid \
+ ORDER BY cdate DESC;")
+ else:
+ c.execute ("SELECT * FROM articles INNER JOIN categories ON articles.cid=categories.cid \
+ WHERE articles.cid=? ORDER BY cdate DESC;", (catid,))
+ conn.commit ()
+ rows = c.fetchall ()
+ conn.close ()
+ return rows
+ except sqlite3.Error:
+ return False
+
+# Function to get the latest articles (inner join with categories to get category stub)
+def site_latest_articles (dbname, num_arts):
+ try:
+ conn = sqlite3.connect (dbname)
+ c = conn.cursor ()
+ c.execute ("SELECT * FROM articles INNER JOIN categories ON articles.cid=categories.cid \
+ ORDER BY cdate DESC LIMIT ?;", (num_arts,))
+ conn.commit ()
+ rows = c.fetchall ()
+ conn.close ()
+ return rows
+ except sqlite3.Error:
+ return False
+
+# Function to get the best rated articles (inner join with categories to get category stub)
+def site_get_bestrated (dbname):
+ try:
+ conn = sqlite3.connect (dbname)
+ c = conn.cursor ()
+ c.execute ("SELECT * FROM articles INNER JOIN categories ON articles.cid=categories.cid \
+ ORDER BY rating DESC LIMIT 5;")
+ conn.commit ()
+ rows = c.fetchall ()
+ conn.close ()
+ return rows
+ 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: