fix: QC-Ratings aus 7 älteren Artikeln entfernt (CHECK 10)
This commit is contained in:
@@ -0,0 +1,37 @@
|
||||
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)
|
||||
Reference in New Issue
Block a user