# -*- coding: utf-8 -*- import io, re, sys for f in sys.argv[1:]: c = io.open(f, encoding='utf-8').read() print('===', f.replace('\\', '/').split('/')[-1]) print(' oj-explains:', c.count('class="oj-explains"'), '| prob-detail:', c.count('class="prob-detail"'), '| prob-sec-h:', c.count('class="prob-sec-h"')) print(' ★star leftover:', c.count('star-rating'), c.count('class="star '), '| backdrop-filter:', c.count('backdrop-filter')) print(' student-card display:none:', '.student-card { display: none; }' in c, '| active block:', '.student-card.active { display: block; position: relative; pointer-events: auto; }' in c) opens = c.count('') print(' div balance:', opens, '/', closes, 'OK' if opens == closes else 'MISMATCH') mjs = re.search(r']*>(.*)', c, re.S) js = mjs.group(1) print(' js braces:', js.count('{'), '/', js.count('}'), 'parens:', js.count('('), '/', js.count(')')) print(' toggleProb present:', 'function toggleProb' in c) # which student owns first panel m = re.search(r'data-oj-section="([^"]+)">', c) first_stu = m.group(1) if m else '?' idx = c.find(first_stu) print(' first student:', first_stu)