cl-test.py 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556
  1. import subprocess
  2. import json
  3. import sys
  4. import io
  5. cmd='aws cloudtrail lookup-events --lookup-attributes AttributeKey=EventName,AttributeValue=RunInstances --max-results 20 --region us-east-1'
  6. cmds=cmd.split(' ')
  7. #cl=subprocess.run(cmds,text=True, capture_output=True)
  8. cl=subprocess.Popen(cmds, stdout=subprocess.PIPE)
  9. lst=[]
  10. def proc_l(l):
  11. # return l.replace(',','').replace('\n','').strip()
  12. return l.replace('\n','').strip()
  13. js="{"
  14. for l in io.TextIOWrapper(cl.stdout, encoding="utf-8"):
  15. if '"EventId":' in l:
  16. js+=proc_l(l)
  17. lst.append(proc_l(l))
  18. if '"EventTime":' in l:
  19. l2=proc_l(l)
  20. list1 = list(l2)
  21. list1[12]='"'
  22. l2 = ''.join(list1)
  23. l2+='"'
  24. js+=l2
  25. js+="}"
  26. print(js)
  27. js2=json.loads(js)
  28. print(js2)
  29. js="{"
  30. lst.append(proc_l(l))
  31. if '"AccessKeyId":' in l:
  32. js+=proc_l(l)
  33. lst.append(proc_l(l))
  34. if '"EventName":' in l:
  35. js+=proc_l(l)[0:-1]
  36. lst.append(proc_l(l))
  37. #lines = cl.stdout.readlines()
  38. #clstr=str(cl)
  39. #lines=clstr.split('\n')
  40. #print(lst)
  41. # print(l)
  42. # sys.exit()
  43. #js=json.loads(str(cl))
  44. #print(js)