Exemplo n.º 1
0
	def h_category_items_link(self, m):
		return '<ul>' + "\n".join(
			'<li><a href="' + getName(i["name"], self.params["ext"]) + '">' + i["name"]  + '</a><br><span>' + i["descr"] + '</span></li>' for i in ItemsData.getItems(self.params["category"])
		) + '</ul>'
Exemplo n.º 2
0
def processSite(rec):
	params = dict(map(None, ["name", "num", "output", "map", "ext"], rec.split("|")))
	params["num"] = int(params["num"])
	params["topitems"] = 250
	
	if not os.path.isdir(params["output"]):
		os.mkdir(params["output"])
	# Copy template data
	X.File.copytree(TEMPLATES_DIR + params["name"], params["output"])
	templater = PageTemplater()

	# Index
	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))

	# Categories
	print "Generate categories"
	fname = TEMPLATES_DIR + params["name"] + "/categories.tpl"
	X.File.save(params["output"] + "/" + os.path.splitext(os.path.basename(fname))[0] + "." + params["ext"], 
		templater.process(X.File.load(fname), params))
	tparams = copy.copy(params)
	for i in ItemsData.getCategories():	
		tparams["category"] = i["category"]
		fname = TEMPLATES_DIR + params["name"] + "/category.tpl"	
		X.File.save(params["output"] + "/" + getName(i["category"], params["ext"]), 
			templater.process(X.File.load(fname), tparams))

	# Types
	print "Generate types"
	fname = TEMPLATES_DIR + params["name"] + "/types.tpl"
	X.File.save(params["output"] + "/" + os.path.splitext(os.path.basename(fname))[0] + "." + params["ext"], 
		templater.process(X.File.load(fname), params))
	tparams = copy.copy(params)
	for i in ItemsData.getTypes():
		if i["type"] == None:
			tparams["type"] = DEFAULT_TYPE
		else:
			tparams["type"] = i["type"]
		fname = TEMPLATES_DIR + params["name"] + "/type.tpl"	
		X.File.save(params["output"] + "/" + getName(tparams["type"], params["ext"]), 
			templater.process(X.File.load(fname), tparams))

	# Items
	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 letters"
	tparams = copy.copy(params)
	fname = TEMPLATES_DIR + params["name"] + "/letter.tpl"	
	templateCode = X.File.load(fname)
	for letter in CurrentLetters:
		print "Generate for '" + letter + "'"
		itemsNum = ItemsData.getItemsForLetterNum(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))
	
	print "Generate items"
	tparams = copy.copy(params)
	for i in ItemsData.getItems():
		tparams["item"] = i
		fname = TEMPLATES_DIR + params["name"] + "/item.tpl"	
		X.File.save(params["output"] + "/" + getName(i["name"], params["ext"]), 
			templater.process(X.File.load(fname), tparams))

	#Partners
	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))