def h_category_items_link(self, m): res = ["<ul>"] for i in Items.getitems("tmp/" + self.params["category"]): item = dict(map(None, Items.fields, i)) res.append( '<li><a href="http://' + self.params["name"] + "/" + self.params["category"] + "/" + getname(item["name"], self.params["ext"]) + '">' + item["name"] + "</a><br><span>" + item["uploader_notes"] + "</span></li>" ) res.append("</ul>") return "\n".join(res)
def process_site(rec): params = dict(map(None, ["name", "num", "output", "map", "ext"], rec.split("|"))) params["num"] = int(params["num"]) params["topitems"] = 250 os.system("rm -f -r " + params["output"] + "/*") try: os.makedirs(params["output"]) except: pass os.system("cp -r tmp/* " + params["output"]) templater = PageTemplater() tparams = copy.copy(params) print "Generate index" fname = TEMPLATES_DIR + params["name"] + "/index.tpl" X.File.save( params["output"] + "/" + os.path.splitext(os.path.basename(fname))[0] + "." + params["ext"], templater.process(X.File.load(fname), params), ) print "Generate top downloads" fname = TEMPLATES_DIR + params["name"] + "/top-downloads.tpl" X.File.save( params["output"] + "/" + os.path.splitext(os.path.basename(fname))[0] + "." + params["ext"], templater.process(X.File.load(fname), params), ) print "Generate partners" fname = TEMPLATES_DIR + params["name"] + "/partners.tpl" X.File.save( params["output"] + "/" + os.path.splitext(os.path.basename(fname))[0] + "." + params["ext"], templater.process(X.File.load(fname), params), ) print "Generate letters" fname = TEMPLATES_DIR + params["name"] + "/letter.tpl" templateCode = X.File.load(fname) for letter in CurrentLetters: print "Generate for '" + letter + "'" itemsNum = Items.getnumletteritems(letter) pagesNum = int(math.ceil(float(itemsNum) / tparams["num"])) print "Pages count: " + str(pagesNum) + "\tItems count: " + str(itemsNum) tparams["letter"] = letter tparams["pages"] = pagesNum for i in xrange(pagesNum): tparams["page"] = i if i == 0: s = "" else: s = str(i) X.File.save( params["output"] + "/" + letter + s + "." + params["ext"], templater.process(templateCode, tparams) ) f = open("tmp/categories.txt", "r") for category in f: try: print "Subcategory: " + params["output"] + "/" + category.strip() fname = TEMPLATES_DIR + params["name"] + "/item.tpl" tparams["category"] = category.strip() for i in Items.getitems("tmp/" + category.strip()): tparams["item"] = dict(map(None, Items.fields, i)) X.File.save( params["output"] + "/" + category.strip() + "/" + getname(tparams["item"]["name"], params["ext"]), templater.process(X.File.load(fname), tparams), ) fname = TEMPLATES_DIR + params["name"] + "/category.tpl" X.File.save( params["output"] + "/" + category.strip() + "/index." + params["ext"], templater.process(X.File.load(fname), tparams), ) except: print sys.exc_info()[0] print sys.exc_info()[1] print "Generate categories" fname = TEMPLATES_DIR + params["name"] + "/categories.tpl" for root, dirs, files in os.walk("tmp"): if not os.path.isfile(root + "/data.txt") and root != "tmp": tparams["category"] = root[4:] X.File.save( params["output"] + "/" + tparams["category"] + "/index." + params["ext"], templater.process(X.File.load(fname), tparams), )