Initial project upload
This commit is contained in:
@@ -0,0 +1,73 @@
|
||||
from html.parser import HTMLParser
|
||||
|
||||
class StructureValidator(HTMLParser):
|
||||
def __init__(self):
|
||||
super().__init__()
|
||||
self.stack = []
|
||||
self.important_divs = {
|
||||
'fileTabsContent': None,
|
||||
'processed': None,
|
||||
'repository': None,
|
||||
'repoTabsContent': None,
|
||||
'pills-backup': None
|
||||
}
|
||||
|
||||
def handle_starttag(self, tag, attrs):
|
||||
if tag == 'div':
|
||||
attr_dict = dict(attrs)
|
||||
div_id = attr_dict.get('id', '')
|
||||
div_class = attr_dict.get('class', '')
|
||||
line_no = self.getpos()[0]
|
||||
|
||||
self.stack.append({
|
||||
'tag': 'div',
|
||||
'id': div_id,
|
||||
'class': div_class,
|
||||
'line': line_no
|
||||
})
|
||||
|
||||
if div_id in self.important_divs:
|
||||
self.important_divs[div_id] = {
|
||||
'line': line_no,
|
||||
'class': div_class,
|
||||
'depth': len(self.stack)
|
||||
}
|
||||
|
||||
def handle_endtag(self, tag):
|
||||
if tag == 'div' and self.stack:
|
||||
self.stack.pop()
|
||||
|
||||
def validate(self, html_content):
|
||||
self.feed(html_content)
|
||||
|
||||
print("=== IMPORTANT DIV INFORMATION ===\n")
|
||||
for div_id, info in self.important_divs.items():
|
||||
if info:
|
||||
print(f"{div_id}:")
|
||||
print(f" Line: {info['line']}")
|
||||
print(f" Class: {info['class']}")
|
||||
print(f" Depth: {info['depth']}")
|
||||
print()
|
||||
|
||||
# Check if processed and repository are siblings
|
||||
if self.important_divs['processed'] and self.important_divs['repository']:
|
||||
proc_depth = self.important_divs['processed']['depth']
|
||||
repo_depth = self.important_divs['repository']['depth']
|
||||
|
||||
print("=== RELATIONSHIP CHECK ===")
|
||||
print(f"#processed depth: {proc_depth}")
|
||||
print(f"#repository depth: {repo_depth}")
|
||||
|
||||
if proc_depth == repo_depth:
|
||||
print("✓ They are SIBLINGS (same depth) - CORRECT")
|
||||
else:
|
||||
print("✗ They are NOT siblings (different depth) - PROBLEM!")
|
||||
print(f" Depth difference: {abs(proc_depth - repo_depth)}")
|
||||
|
||||
# Read the file
|
||||
file_path = r"d:\Code\iDRAC_Info\idrac_info\backend\templates\index.html"
|
||||
with open(file_path, "r", encoding="utf-8") as f:
|
||||
content = f.read()
|
||||
|
||||
validator = StructureValidator()
|
||||
validator.validate(content)
|
||||
Reference in New Issue
Block a user