Skuid templates were changed on a demo. Williams-Sonoma improvements. Script was updated slightly.
This commit is contained in:
@ -1,7 +1,8 @@
|
||||
import re
|
||||
from html.parser import HTMLParser
|
||||
from pathlib import Path
|
||||
import pandas as pd
|
||||
# import pandas as pd
|
||||
from bs4 import BeautifulSoup
|
||||
|
||||
# MASDICT = {'file': "", 'attributes' : { 'id': [], 'class': [] } }
|
||||
MASLIST = []
|
||||
@ -11,38 +12,50 @@ x = list(p.glob('**/*.html.liquid'))
|
||||
for posfile in x:
|
||||
file = str(posfile)
|
||||
htmlfile = open(file, 'r', encoding='utf-8')
|
||||
finfile = file.split('/')[-1]
|
||||
code = htmlfile.readlines()
|
||||
ids = []
|
||||
classes = []
|
||||
file2 = open(file, 'r', encoding='utf-8')
|
||||
# finfile = file.split('/')[-1]
|
||||
code = file2.readlines()
|
||||
inclst = [include for include in code if '{% include' in include]
|
||||
print(inclst)
|
||||
for lines in code:
|
||||
if "class=" in lines:
|
||||
tmpline = lines
|
||||
if "id=" not in tmpline:
|
||||
try:
|
||||
htmlclass = re.search('class="(.*)"', tmpline)
|
||||
classes.append(htmlclass.group(1))
|
||||
except AttributeError as t:
|
||||
print("Class: ", t)
|
||||
pass
|
||||
finally:
|
||||
pass
|
||||
elif "id=" in lines:
|
||||
try:
|
||||
id = re.search('id="(.*)"', lines)
|
||||
ids.append(id.group(1))
|
||||
except AttributeError as t:
|
||||
print("ID: ", t)
|
||||
pass
|
||||
finally:
|
||||
pass
|
||||
else:
|
||||
if '{% include' in lines:
|
||||
pass
|
||||
seconddict = { 'file': finfile, 'attributes': { 'id' : ids, 'class': classes } }
|
||||
MASLIST.append(seconddict)
|
||||
|
||||
df = pd.json_normalize(MASLIST)
|
||||
print(df)
|
||||
soup = BeautifulSoup(htmlfile, 'html.parser')
|
||||
clst = [node['class'] for node in soup.find_all() if node.has_attr('class')]
|
||||
# print(clst)
|
||||
ilst = [node['id'] for node in soup.find_all() if node.has_attr('id')]
|
||||
# print(ilst)
|
||||
|
||||
# ids = []
|
||||
# classes = []
|
||||
# if "class=" in lines:
|
||||
# tmpline = lines
|
||||
# if "id=" not in tmpline:
|
||||
# try:
|
||||
# htmlclass = re.search('class="(.*)"', tmpline)
|
||||
# classes.append(htmlclass.group(1))
|
||||
# except AttributeError as t:
|
||||
# print("Class: ", t)
|
||||
# pass
|
||||
# finally:
|
||||
# pass
|
||||
# elif "id=" in lines:
|
||||
# try:
|
||||
# id = re.search('id="(.*)"', lines)
|
||||
# ids.append(id.group(1))
|
||||
# except AttributeError as t:
|
||||
# print("ID: ", t)
|
||||
# pass
|
||||
# finally:
|
||||
# pass
|
||||
# else:
|
||||
# pass
|
||||
# seconddict = { 'file': finfile, 'attributes': { 'id' : ids, 'class': classes } }
|
||||
# MASLIST.append(seconddict)
|
||||
#
|
||||
# df = pd.json_normalize(MASLIST)
|
||||
# print(df)
|
||||
# kp = (df.set_index('file').apply(lambda x: x.str.split(",").explode()).reset_index())
|
||||
# ksp = df.set_index('file').apply(lambda x: df['attributes.class']([x.split(',') ]))
|
||||
# print(ksp)
|
||||
|
||||
Reference in New Issue
Block a user