add: tools, secrets (safe files), updated gitignore
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
import json
|
||||
import os
|
||||
import re
|
||||
|
||||
def find_param_defs(har_path):
|
||||
param_map = {}
|
||||
with open(har_path, 'r', encoding='utf-8') as f:
|
||||
har_data = json.load(f)
|
||||
|
||||
for entry in har_data['log']['entries']:
|
||||
resp = entry['response']
|
||||
if 'content' in resp and 'text' in resp['content']:
|
||||
text = resp['content']['text']
|
||||
# Search for pattern "svcOperationCfsParamId":X,"svcOperationCfsParam":"NAME"
|
||||
# Or "svcOperationCfsParamId":X ... "svcOperationCfsParam":"NAME"
|
||||
# Matches in JSON structure
|
||||
try:
|
||||
data = json.loads(text)
|
||||
def walk(obj):
|
||||
if isinstance(obj, dict):
|
||||
if 'svcOperationCfsParamId' in obj and 'svcOperationCfsParam' in obj:
|
||||
param_map[obj['svcOperationCfsParamId']] = {
|
||||
'name': obj['svcOperationCfsParam'],
|
||||
'label': obj.get('label'),
|
||||
'dataType': obj.get('dataType'),
|
||||
'isRequired': obj.get('isRequired')
|
||||
}
|
||||
for v in obj.values():
|
||||
walk(v)
|
||||
elif isinstance(obj, list):
|
||||
for item in obj:
|
||||
walk(item)
|
||||
walk(data)
|
||||
except:
|
||||
pass
|
||||
return param_map
|
||||
|
||||
har_files = [
|
||||
'/home/naeel/terra/har/f12vmbad.har',
|
||||
'/home/naeel/terra/har/f12vmbad1.har',
|
||||
'/home/naeel/terra/har/faststart.har'
|
||||
]
|
||||
|
||||
all_params = {}
|
||||
for h in har_files:
|
||||
if os.path.exists(h):
|
||||
all_params.update(find_param_defs(h))
|
||||
|
||||
# Print mapping
|
||||
for pid in sorted(all_params.keys()):
|
||||
print(f"{pid}: {all_params[pid]}")
|
||||
Reference in New Issue
Block a user