import six
import nerodia
from .html_elements import HTMLElement
from ..meta_elements import MetaHTMLElement
[docs]@six.add_metaclass(MetaHTMLElement)
class TableCell(HTMLElement):
@property
def column_header(self):
current_row = self.parent(tag_name='tr')
return self._header_row(current_row, index=len(self.previous_siblings())).text
# private
def _header_row(self, current_row, **opt):
table = self.parent(tag_name='table')
header_row = table.tr()
table._cell_size_check(header_row, current_row)
header_type = 'th' if table.th().exist else 'tr'
opt['tag_name'] = header_type
return nerodia.tag_to_class[header_type](header_row, opt)