Я не проверил, что именно вы хотите сделать, но вы присваиваете строку self.txt
, а затем пытаетесь использовать ее в качестве списка.
В конструкторе вы инициализируете self.txt пустым списком:
def __init__(self):
...
self.txt = []
...
и затем в методе handle_data:
def handle_data(self, text):
if (len(self.txt) > 0 ) :
self.txt.append(text + " ") # <-- Here you consider self.txt is a list
if (self.in_table == 1 and self.in_th == 0):
self.txt = text.lstrip() # <-- Here you **assign a string** to self.txt