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_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}
-
-
-
- Title |
- Created on |
- Rated |
-
-
-
- ${table_rows}
-
-
-"""
-
- 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],