import subprocess
import json
import sys
import io
import dataset

def proc_l(l):
    return l.replace('\n','').strip()

db = dataset.connect('mysql://choozmo:pAssw0rd@db.ptt.cx:3306/hhh?charset=utf8mb4')
table=db['aws_monitor']
arealist=['ap-northeast-1','ap-northeast-2','ap-southeast-1','us-east-1','eu-west-1','us-east-1','us-west-2']
for area in arealist:
#area='us-east-1'
    cmd='aws cloudtrail lookup-events --lookup-attributes AttributeKey=EventName,AttributeValue=RunInstances --max-results 20 --region '+area
    cmds=cmd.split(' ')
    cl=subprocess.Popen(cmds, stdout=subprocess.PIPE)
    lst=[]


    js="{"
    for l in io.TextIOWrapper(cl.stdout, encoding="utf-8"):
        if '"EventId":' in l:
            js+=proc_l(l)
            lst.append(proc_l(l))

        if '"EventTime":' in l:
            l2=proc_l(l)
            list1 = list(l2)
            list1[12]='"'
            l2 = ''.join(list1)
            l2=l2.replace(',','')
            l2+='"'
            js+=l2
            js+="}"
            print(js)
            js2=json.loads(js)
            js2['area']=area
            print(js2)
            try:
                table.insert(js2)
            except:
                print('exception')
            js="{"

        if '"AccessKeyId":' in l:
            js+=proc_l(l)
        
            lst.append(proc_l(l))

        if '"EventName":' in l:
            js+=proc_l(l)
            lst.append(proc_l(l))





#lines = cl.stdout.readlines()
#clstr=str(cl)
#lines=clstr.split('\n')



#print(lst)

#        print(l)
#        sys.exit()
#js=json.loads(str(cl))
#print(js)

