from net import *
import pandas as pd
c=Client();rows=[]
for e in pd.read_csv(R/'events.csv').itertuples():
 p=R/'pre_event_summaries'/f'{e.appid}.json'
 if p.exists():d=json.loads(p.read_text())
 else:
  hi=pd.Timestamp(e.event,tz='UTC');params={'json':1,'filter':'recent','language':'all','purchase_type':'steam','review_type':'all','num_per_page':1,'filter_offtopic_activity':1,'start_date':946684800,'end_date':int(hi.timestamp()),'date_range_type':'include'}
  raw=json.loads(c.get(f'https://store.steampowered.com/appreviews/{e.appid}',params,'pre_event_size'));assert raw['success']==1
  assert all(946684800<=x['timestamp_created']<=int(hi.timestamp()) for x in raw['reviews'])
  d={'appid':e.appid,'params':params,'query_summary':raw['query_summary'],'retrieved_at':utc()};dump(p,d)
 rows.append({'appid':e.appid,'name':e.name,'pre_event_lifetime_reviews':d['query_summary']['total_reviews']})
pd.DataFrame(rows).to_csv(R/'pre_event_sizes.csv',index=False);print(pd.DataFrame(rows).to_string(index=False))
