197: #line 221 "html_weaver.ipk" 198: def new_heading(self,level): 199: while level>len(self.hcount): self.hcount.append(0) 200: while level<len(self.hcount): del self.hcount[-1] 201: counter = self.hcount[level-1]+1 202: self.hcount[level-1] = counter 203: return counter 204: 205: def get_formatted_heading_number(self, sep): 206: hnumber = '' 207: for i in range(0,len(self.hcount)-1): 208: hnumber = hnumber + str(self.hcount[i])+sep 209: hnumber = hnumber + str(self.hcount[-1]) 210: return hnumber 211: 212: 213: def head(self,level, text, atext='', anchor=''): 214: self._endmode() 215: if anchor == '': anchor = atext 216: if anchor == '': 217: anchor = 'h'+str(self.acount) 218: self.acount = self.acount + 1 219: 220: self.new_heading(level) 221: aname = '<A NAME='+anchor+'></A>' 222: hnumber = self.get_formatted_heading_number('.')+'. ' 223: hprefix = '' 224: if self.keywords.has_key('heading_prefix'): 225: hprefix = self.keywords['heading_prefix'] 226: ahref = '<A HREF=#'+anchor+'>'+hprefix+hnumber+str(text)+'</A>' 227: 228: html_level = level + self.heading_level_offset 229: if html_level > 6: html_level = 6 230: self._writeline( '<H'+str(html_level)+'>'+aname+hprefix+hnumber+str(text)+'</H'+str(html_level)+'>') 231: 232: counter = self.hcount[level-1] 233: self.toc.append((level,ahref)) 234: