X-Git-Url: https://harishankar.org/repos/?p=biaweb_qt.git;a=blobdiff_plain;f=biaweb_db.py;h=c1d5e60db222804c0eac91012849a2982f8a0dc2;hp=b310972f9d8cf70d48976760988d6a512879c1d1;hb=df54af4f6bf7afa6b89f5fa1f07177313aa5cc1f;hpb=54389d5adbbb1830a7e85545b2bdde816713a272 diff --git a/biaweb_db.py b/biaweb_db.py index b310972..c1d5e60 100644 --- a/biaweb_db.py +++ b/biaweb_db.py @@ -207,6 +207,52 @@ def get_configuration (dbname): 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: