X-Git-Url: https://harishankar.org/repos/?p=biaweb_qt.git;a=blobdiff_plain;f=biaweb_db.py;fp=biaweb_db.py;h=b310972f9d8cf70d48976760988d6a512879c1d1;hp=c2761f5885fc74a0d2c6ab6e601dd7454f111dfe;hb=54389d5adbbb1830a7e85545b2bdde816713a272;hpb=b517d55320f54925d862aca9dedb363b6d3b156d diff --git a/biaweb_db.py b/biaweb_db.py index c2761f5..b310972 100644 --- a/biaweb_db.py +++ b/biaweb_db.py @@ -6,6 +6,8 @@ import os import os.path import time +import biaweb_strings as bws + # function to get the template text for a particular template def get_template_text (dbname, template_name): try: @@ -20,6 +22,19 @@ def get_template_text (dbname, template_name): except sqlite3.Error: return False +# function to update the template +def update_template (dbname, template_name, template_str): + try: + conn = sqlite3.connect (dbname) + c = conn.cursor () + c.execute ("UPDATE templates SET template_content=? WHERE template_name=?", + (template_str, template_name)) + conn.commit () + conn.close () + return True + except sqlite3.Error: + return False + # function to retrieve the templates from the database def get_templates (dbname): try: @@ -233,6 +248,8 @@ def create_db (dbname, site_title, site_url, keywords, description, copyright, try: conn = sqlite3.connect (dbname) c = conn.cursor () + + # create the tables c.execute ("CREATE TABLE IF NOT EXISTS \ categories (cid INTEGER PRIMARY KEY, \ name TEXT, desc TEXT, \ @@ -248,203 +265,17 @@ def create_db (dbname, site_title, site_url, keywords, description, copyright, c.execute ("CREATE TABLE IF NOT EXISTS \ templates (template_name TEXT, template_content);") - template_main = """ - - - -${site_title} - - - - - - - - - -
- ${contents_bit} -
- - - -""" - - template_article_bit = """

${article_title}

-
Created: ${article_cdate} | Last modified: ${article_mdate}
-
Rating: ${rating}
-
${article_contents}
-""" - - template_news_item_bit = """

${news_title}

-
${news_datetime}
-
${news_description}
-""" - - template_index_bit = """

Welcome to ${site_name}

-
-Welcome to my site, ${site_name}. -
-

Latest Articles

-${news_updates} -""" - - template_table_bit = """

${category_title}

-

${category_desc}

- - - - - - - - - - ${table_rows} - -
TitleCreated onRated
-""" - - template_tablerow_bit = """ - ${title} - ${created} - ${rating} - -""" - - template_style = """body { - font-family: "Bitstream Vera Sans", Verdana, Arial, Sans Serif; - font-size: 0.9em; - background-color: #ffffff; - color: #000000; - margin: auto -} -#head { - width: 98%; - background-color: #efefef; - padding: 1%; - text-align: center; -} - -#main { - width: 73%; - padding: 1%; - float: left; -} - -#sidebar { - width: 23%; - padding: 1%; - float: right; -} - -#footer { - width: 100%; - padding-top: 5px; - padding-bottom: 5px; - font-size: 0.9em; - text-align: center; - float: left; - background-color: #efefef; -} - -.headerdesc { - font-variant: small-caps; - font-size: 1.1em; -} - -.content { - text-align: justify; - line-height: 1.1em; -} - -.categorytable { - width: 100%; -} - -.categorytable thead { - font-weight: bold; -} - -.modified { - font-size: 0.8em; - color: #666666; -} - -.rating { - font-size: 0.8em; - color: #666666; -} - -h1, h2, h3 { - font-family: "Bitstream Vera Serif", Serif; - padding: 0; - margin: 0; - margin-top: 5px; - margin-bottom: 5px; -} - -hr { - border: 0; - border-bottom: 1px solid; - border-color: #888888; -} - -h1 { - font-size: 2.4em; - color: #000099; - -} -h1 a, h1 a:hover, h1 a:visited, h2 a:active { - text-decoration: none; -} -h2 { - font-size: 1.4em; - background-color: #efefef; -} -h2 a, h2 a:hover, h2 a:visited, h2 a:active { - text-decoration: none; -} -h3 { - font-size: 1.2em; -a { - color: #0000dd; -} -a:visited { - color: #0000aa; -} -a:active, a:hover { - color: #0000ff; -}""" - + # insert the templates into the newly created database c.executemany ("INSERT INTO templates (template_name, template_content) VALUES (?, ?);", - [["main_template", template_main], - ["article_bit", template_article_bit], - ["news_bit", template_news_item_bit], - ["table_bit", template_table_bit], - ["tablerow_bit", template_tablerow_bit], - ["stylesheet", template_style], - ["index_bit", template_index_bit]]) - + [["main_template", bws.template_main], + ["article_bit", bws.template_article_bit], + ["news_bit", bws.template_news_item_bit], + ["table_bit", bws.template_table_bit], + ["tablerow_bit", bws.template_tablerow_bit], + ["stylesheet", bws.template_style], + ["index_bit", bws.template_index_bit]]) + + # inser the configuration c.executemany ("INSERT INTO config (config_name, config_param) VALUES (?, ?); ", [["Website URL", site_url], ["Website Title", site_title],