rendered paste bodyimport cgi
class Tag(object):
def __init__(self, name):
super(Tag, self).__init__()
self.n = name
self.attrList = []
self.classString = ""
self.classList = []
self.renderString = ""
self.elementList = []
def addAttr(key, value):
key = cgi.escape(key)
value = cgi.escape(value)
self.attrList.append((key, value))
return self
def addClass(self, name):
name = cgi.escape(name)
self.classList.append((self, name))
return self
def attrs(self):
self.renderString = ""
self.classString = ""
if len(self.classList) > 0:
for i in range(len(self.attrList)):
if self.attrList[i][0] == "class":
self.attrList.pop(i)
for elt in self.classList:
self.classString+= str(elt) + " "
self.attrList.insert(1,("class",self.classString.rstrip()))
for (key, value) in self.attrList:
self.renderString += key
self.renderString += "="
self.renderString += "\""
self.renderString += value
self.renderString += "\" "
def makeTag(self, contents):
if contents = "":
return "<"+name+self.attrs+()+"/>"
else:
if not self.attrList == []:
return "<"+self.n+" "+self.attrs().rstrip()+">"+contents+"</"+self.n+">"
else:
return "<"+self.n+">"+contents+"</"+self.n+">"
def __str__(self):
return makeTag(self)
def __repr__(self):
return str(self)