GenProp / src /domain /requirements_paragraphs.py
adrien.aribaut-gaudin
feat: new public GenProp
498db6b
raw
history blame contribute delete
No virus
1.32 kB
import string
INFINITE = 10000
class Requirement_Paragraph:
def __init__(self, text : str, font_style : str, id_ : int, page_id : int):
self.font_style = font_style
self.id_ = int(str(2)+str(page_id)+str(id_))
self.page_id = page_id
self.level = self.get_level_from_name(font_style)
self.is_structure = self.level < INFINITE
self.text = text
@property
def blank(self):
"""
checks if the paragraph is blank: i.e. it brings some signal (it may otherwise be ignored)
"""
text = self.text.replace('\n', '')
return set(text).isdisjoint(string.ascii_letters)
def rearrange_paragraph(self):
"""
rearrange the paragraph to have a better structure
"""
if self.font_style == "code":
self.text = "\n\nCode :```\n" + self.text + "\n```\n\n"
elif self.font_style == "table":
self.text = "\n\nTable :\n" + self.text + "\n\n"
return self
@staticmethod
def get_level_from_name(style_name: str) -> int:
level = INFINITE
if 'Titre' in style_name or 'Heading' in style_name:
suffix = style_name[-1]
try:
level = int(suffix)
except:
pass
return level