utils.py
changeset 10689 49a62b8f6d43
parent 10687 d394bfcd8c25
child 10690 c6290d727c0c
equal deleted inserted replaced
10688:fa29f3628a1b 10689:49a62b8f6d43
    99        with wrap_on_write(w, '<div class="foo">', '</div>') as wow:
    99        with wrap_on_write(w, '<div class="foo">', '</div>') as wow:
   100            component.render_stuff(wow)
   100            component.render_stuff(wow)
   101     """
   101     """
   102     def __init__(self, w, tag, closetag=None):
   102     def __init__(self, w, tag, closetag=None):
   103         self.written = False
   103         self.written = False
   104         self.tag = unicode(tag)
   104         self.tag = text_type(tag)
   105         self.closetag = closetag
   105         self.closetag = closetag
   106         self.w = w
   106         self.w = w
   107 
   107 
   108     def __enter__(self):
   108     def __enter__(self):
   109         return self
   109         return self
   115         self.w(data)
   115         self.w(data)
   116 
   116 
   117     def __exit__(self, exctype, value, traceback):
   117     def __exit__(self, exctype, value, traceback):
   118         if self.written is True:
   118         if self.written is True:
   119             if self.closetag:
   119             if self.closetag:
   120                 self.w(unicode(self.closetag))
   120                 self.w(text_type(self.closetag))
   121             else:
   121             else:
   122                 self.w(self.tag.replace('<', '</', 1))
   122                 self.w(self.tag.replace('<', '</', 1))
   123 
   123 
   124 
   124 
   125 # use networkX instead ?
   125 # use networkX instead ?