Files

38 lines
1.3 KiB
Python

import xml.etree.ElementTree as ET
from datetime import datetime, timezone
def parse_forum(filepath, forum_name):
tree = ET.parse(filepath)
root = tree.getroot()
forum_title = root.get('title', forum_name)
print(f"\n=== {forum_title} (Recent threads) ===")
count = 0
for thread in root.findall('.//thread'):
subject = thread.get('subject', '')
author = thread.get('author', '')
articles = thread.get('numarticles', '0')
lastpost = thread.get('lastpostdate', '')
postdate = thread.get('postdate', '')
# Check if recent (June 2026)
try:
dt = datetime.strptime(lastpost[:25], '%a, %d %b %Y %H:%M:%S')
dt = dt.replace(tzinfo=timezone.utc)
now = datetime.now(timezone.utc)
days_ago = (now - dt).days
except:
days_ago = 999
if days_ago <= 30: # Last 30 days
count += 1
if count <= 10:
print(f" [{lastpost[:16]}] {subject} (by {author}, {articles} posts, {days_ago}d ago)")
for forum_file, name in [
("/home/hermes/workspace/bgg-scrape/forum25.xml", "Articles & Blogs"),
("/home/hermes/workspace/bgg-scrape/forum30.xml", "Videos & Podcasts"),
("/home/hermes/workspace/bgg-scrape/forum26.xml", "Board Game Design"),
]:
parse_forum(forum_file, name)