rating_str = "".join (items)
return rating_str
+# function to generate article pages
+def generate_article_pages (dbname, conf, templates, category_str, bestrated_str):
+ # main template
+ tpl_main = string.Template (templates[0][1])
+ # article template
+ tpl_articlebit = string.Template (templates[1][1])
+
+ # get all articles from the database
+ articles = biaweb_db.site_articles (dbname)
+ if articles == False:
+ return
+
+ # walk through each article and generate the file in the appropriate category
+ # folder
+ for art in articles:
+ art_cdate = time.ctime (art[5])
+ art_mdate = time.ctime (art[6])
+ rating_str = html_format_rating (art[9])
+ # now build the article from the article bit template
+ article_str = tpl_articlebit.safe_substitute (article_title = art[1],
+ article_cdate = art_cdate,
+ article_mdate = art_mdate,
+ rating = rating_str,
+ article_contents = art[4])
+
+ # now build the article page
+ articlepage_str = tpl_main.safe_substitute (site_title = conf[1],
+ site_url = "http://" + conf[0],
+ meta_keywords = art[3],
+ meta_description = art[2],
+ page_title = conf[1],
+ page_desc = conf[3],
+ contents_bit = article_str,
+ list_of_categories = category_str,
+ list_best_rated = bestrated_str,
+ copyright = conf[6])
+ # write to the article file
+ try:
+ farticle = open (os.path.join (conf[5], art[13], art[8] + ".html"), "w+")
+ farticle.write (articlepage_str)
+ except OSError, IOError:
+ return False
+
+ # finally return true
+ return True
+
# function to generate category directories and indices
def generate_category_indices (dbname, conf, templates, category_str, bestrated_str, category_list):
# main template
if ret == False:
return False
+ # generate the category directories and indices
ret = generate_category_indices (dbname, conf, tpls, cats_str, best_rated_str, cats)
if ret == False:
return False
+ # generate the article pages
+ ret = generate_article_pages (dbname, conf, tpls, cats_str, best_rated_str)
+ if ret == False:
+ return False
+
# finally when all is successfully done return true
return True