class LogicalLine:
def __init__(self, first_phys_line, line_number):
self.line_number = line_number
self.num_of_phys_lines = 0
self.content = ""
self.add_line(first_phys_line)
def add_line(self, phys_line):
self.content += self.remove_extra_heading_blanks(phys_line)
self.num_of_phys_lines += 1
if len(self.content) > 0:
if self.content[-1] == "\\":
self.content = self.content[:-2]
def get_line_number(self):
return self.line_number + self.num_of_phys_lines - 1
def remove_extra_heading_blanks(self, phys_line):
if len(phys_line) > 0 and phys_line[0] in [' ','/t','/n','/r']:
return " " + phys_line.lstrip()
return phys_line
def get_content(self):
return self.content