Port meetups, discussions, gigs, dating/chat, VIP pay (ZPay/XorPay), MiroTalk live, digital academy, and ebook reader. Add persistent community_store, git-first deploy docs, and env template for production secrets. Co-authored-by: Cursor <cursoragent@cursor.com>
38 lines
1.2 KiB
Python
38 lines
1.2 KiB
Python
import re
|
|
import urllib.request
|
|
|
|
base = "https://nomadweb.nomadro.com"
|
|
# get the ebook css bundle
|
|
html = urllib.request.urlopen(base + "/book", timeout=30).read().decode("utf-8", "replace")
|
|
links = re.findall(r'href="([^"]+\.css[^"]*)"', html)
|
|
ebook_css = None
|
|
for u in links:
|
|
full = u if u.startswith("http") else base + u
|
|
css = urllib.request.urlopen(full, timeout=30).read().decode("utf-8", "replace")
|
|
if "viral-title" in css:
|
|
ebook_css = css
|
|
print("ebook css", u, len(css))
|
|
break
|
|
|
|
main_css = None
|
|
for u in links:
|
|
full = u if u.startswith("http") else base + u
|
|
css = urllib.request.urlopen(full, timeout=30).read().decode("utf-8", "replace")
|
|
if "viral-title" not in css and len(css) > 50000:
|
|
main_css = css
|
|
print("main css", u, len(css))
|
|
break
|
|
|
|
# check main css overrides for h1, body
|
|
if main_css:
|
|
for pat in [r"body\s*\{[^}]+\}", r"h1\s*\{[^}]+\}", r"a\s*\{[^}]+\}", r"\*\s*\{[^}]+\}"]:
|
|
m = re.search(pat, main_css)
|
|
if m:
|
|
print("MAIN", m.group(0)[:200])
|
|
|
|
if ebook_css:
|
|
for pat in [r"body\s*\{[^}]+\}", r"\.viral-title\s*\{[^}]+\}"]:
|
|
m = re.search(pat, ebook_css)
|
|
if m:
|
|
print("EBOOK", m.group(0)[:300])
|