Files
weval-l99/pw-v109-final.py
opus-wire 7f67eb6bdf auto-push
2026-04-18 14:33:55 +02:00

65 lines
2.4 KiB
Python

import os, re, json
from playwright.sync_api import sync_playwright
TYPO = "\u2019"
ASCII_APOS_PATTERNS = [r"\bl'(?=\w)", r"\bL'(?=\w)", r"\bd'(?=\w)",
r"\bD'(?=\w)", r"\bqu'(?=\w)", r"\bQu'(?=\w)",
r"\bn'(?=\w)", r"\bjusqu'(?=\w)"]
def count_ascii(content):
total = 0
for p in ASCII_APOS_PATTERNS:
total += len(re.findall(p, content))
return total
with sync_playwright() as p:
browser = p.chromium.launch(headless=True, args=["--no-sandbox"])
context = browser.new_context(viewport={"width": 1440, "height": 900})
page = context.new_page()
stages = [
("Homepage", "https://weval-consulting.com/"),
("Marketplace", "https://weval-consulting.com/marketplace"),
("Products catalogue", "https://weval-consulting.com/products/"),
("WEVIA EM", "https://weval-consulting.com/products/wevia-em.html"),
("Consulting Pro", "https://weval-consulting.com/products/consulting-pro.html"),
("Suite Enterprise", "https://weval-consulting.com/solutions/wevia-enterprise.html"),
("Suite Advisory", "https://weval-consulting.com/solutions/advisory.html"),
]
print(f"{'Page':<25} {'ASCII':>7} {'Typo':>7} {'Status'}")
print("-"*55)
clean = 0
for name, url in stages:
page.goto(url + "?cb=v109-final", wait_until="networkidle", timeout=25000)
page.wait_for_timeout(2500)
c = page.content()
a = count_ascii(c)
t = c.count(TYPO)
status = "✓ CLEAN" if a == 0 else f"{a}"
if a == 0: clean += 1
print(f"{name:<25} {a:>7} {t:>7} {status}")
# Screenshot
sdir = "/opt/weval-l99/pw-screenshots-v109"
os.makedirs(sdir, exist_ok=True)
fn = f"{sdir}/{name.replace(' ','-').lower()}.png"
page.screenshot(path=fn, full_page=False)
# Homepage client logos check
page.goto("https://weval-consulting.com/?cb=logos", wait_until="networkidle", timeout=25000)
page.wait_for_timeout(2500)
logos_ok = []
for n in ["Abbott", "AbbVie", "Michelin", "LOreal", "Carrefour", "Nestle", "Servier"]:
imgs = page.locator(f'img[src*="{n}"]').all()
for img in imgs[:2]:
try:
if img.is_visible():
logos_ok.append(n); break
except: pass
print(f"\n{clean}/{len(stages)} pages CLEAN")
print(f"Client logos visible: {logos_ok}")
browser.close()