#!/usr/bin/env python3
"""Analyze mingguang.gov.cn page"""
import sys, re

html = sys.stdin.read()
print('Length:', len(html))

# Check column info
for meta_name in ['ColumnName', 'ColumnType', 'ColumnDescription']:
    m = re.search(r'<meta[^>]+name="%s"[^>]+content="([^"]+)"' % meta_name, html)
    if m:
        print('%s: %s' % (meta_name, m.group(1)))

# Find list items
# Look for table.xxgk-table-list
if 'xxgk-table-list' in html:
    idx = html.index('xxgk-table-list')
    print('\nFound xxgk-table-list')
    # Extract rows
    rows = re.findall(r'<tr[^>]*>.*?</tr>', html[idx:idx+5000], re.DOTALL)
    print('Rows:', len(rows))
    for r in rows[:5]:
        print(' ', re.sub(r'<[^>]+>', ' ', r).strip()[:100])

# Look for article links
links = re.findall(r'<a[^>]+href=[\"\']([^\"\']+)[\"\'][^>]*>([^<]*)</a>', html)
print('\nArticle-like links:')
for url, text in links:
    if text.strip() and url.strip() and not url.startswith('#') and 'javascript' not in url:
        if any(x in url for x in ['content', 'detail', 'article', 'art', 'info', '.html', '.shtm']):
            print('  [%s] %s' % (text.strip()[:50], url[:80]))

# Look for date patterns
dates = re.findall(r'>(\d{4}[-/]\d{2}[-/]\d{2})<', html)
if dates:
    print('\nDate samples:', dates[:10])

# Look for pagination
for p in ['page', 'Page', 'pageNo', 'pageSize', '总', 'pager', 'page-div']:
    c = html.count(p)
    if c > 0:
        idx = html.index(p)
        print('\nPag [%s]: %s' % (p, html[max(0,idx-40):idx+80].replace('\n',' ')))

# Look for API/data init code
init_matches = re.findall(r'(var\s+\w+\s*=\s*\{[^}]+(?:pageSize|pageIndex|siteId)[^}]+\})', html)
print('\nInit objects:', len(init_matches))
for m in init_matches:
    print(' ', m[:200])

# Look for the list container div
for div_id in ['ls-list', 'list', 'content', 'article', 'result']:
    matches = re.findall(r'<div[^>]*id=[\"\']?([^\"\'>]*%s[^\"\'>]*)[\"\']?' % div_id, html, re.I)
    if matches:
        print('\nDiv id [%s]: %s' % (div_id, matches[:3]))
