import json
produtos = json.loads("""
{
"success": true,
"data": {
"produtos": {
"energia": true,
"boleto": false,
"cp_refin": true,
"consignado_privado": true,
"cdc": true,
"cp_cheque": true,
"cdc_energia": true,
"debito_em_conta": true
}
},
"errors": null
}
""")
success = bool(produtos.get("success"))
data = produtos.get("data") or {}
produtos_lista = data.get("produtos") or []
for k, raw_item in produtos_lista.items():
if isinstance(raw_item, str):
raw_item = raw_item.strip()
if not raw_item:
continue
if raw_item[0] in "{[":
item = json.loads(raw_item)
else:
item = {}
else:
item = raw_item or {}
produtos_lista[k] = item
item = produtos_lista
def _to_bool(valor):
if isinstance(valor, bool):
return valor
if isinstance(valor, (int, float)):
return valor != 0
if isinstance(valor, str):
return valor.strip().lower() in {"1", "true", "t", "yes", "sim", "s"}
return False
energia = _to_bool(item.get("energia"))
boleto = bool(item.get("boleto"))
cp_refin = bool(item.get("cp_refin"))
consignado = bool(item.get("consignado_privado"))
cdc = bool(item.get("cdc"))
cp_cheque = bool(item.get("cp_cheque"))
cdc_energia = bool(item.get("cdc_energia"))
debito_conta = bool(item.get("debito_em_conta"))
aW1wb3J0IGpzb24KCnByb2R1dG9zID0ganNvbi5sb2FkcygiIiIKewoJInN1Y2Nlc3MiOiB0cnVlLAoJImRhdGEiOiB7CgkJInByb2R1dG9zIjogewoJCQkiZW5lcmdpYSI6IHRydWUsCgkJCSJib2xldG8iOiBmYWxzZSwKCQkJImNwX3JlZmluIjogdHJ1ZSwKCQkJImNvbnNpZ25hZG9fcHJpdmFkbyI6IHRydWUsCgkJCSJjZGMiOiB0cnVlLAoJCQkiY3BfY2hlcXVlIjogdHJ1ZSwKCQkJImNkY19lbmVyZ2lhIjogdHJ1ZSwKCQkJImRlYml0b19lbV9jb250YSI6IHRydWUKCQl9Cgl9LAoJImVycm9ycyI6IG51bGwKfQoiIiIpCgpzdWNjZXNzID0gYm9vbChwcm9kdXRvcy5nZXQoInN1Y2Nlc3MiKSkKZGF0YSA9IHByb2R1dG9zLmdldCgiZGF0YSIpIG9yIHt9CnByb2R1dG9zX2xpc3RhID0gZGF0YS5nZXQoInByb2R1dG9zIikgb3IgW10KZm9yIGssIHJhd19pdGVtIGluIHByb2R1dG9zX2xpc3RhLml0ZW1zKCk6CglpZiBpc2luc3RhbmNlKHJhd19pdGVtLCBzdHIpOgoJCXJhd19pdGVtID0gcmF3X2l0ZW0uc3RyaXAoKQoJCWlmIG5vdCByYXdfaXRlbToKCQkJY29udGludWUKCQlpZiByYXdfaXRlbVswXSBpbiAie1siOgoJCQlpdGVtID0ganNvbi5sb2FkcyhyYXdfaXRlbSkKCQllbHNlOgoJCQlpdGVtID0ge30KCWVsc2U6CgkJaXRlbSA9IHJhd19pdGVtIG9yIHt9Cglwcm9kdXRvc19saXN0YVtrXSA9IGl0ZW0KCWl0ZW0gPSBwcm9kdXRvc19saXN0YQoJZGVmIF90b19ib29sKHZhbG9yKToKCQlpZiBpc2luc3RhbmNlKHZhbG9yLCBib29sKToKCQkJcmV0dXJuIHZhbG9yCgkJaWYgaXNpbnN0YW5jZSh2YWxvciwgKGludCwgZmxvYXQpKToKCQkJcmV0dXJuIHZhbG9yICE9IDAKCQlpZiBpc2luc3RhbmNlKHZhbG9yLCBzdHIpOgoJCQlyZXR1cm4gdmFsb3Iuc3RyaXAoKS5sb3dlcigpIGluIHsiMSIsICJ0cnVlIiwgInQiLCAieWVzIiwgInNpbSIsICJzIn0KCQlyZXR1cm4gRmFsc2UKCQoJZW5lcmdpYSA9IF90b19ib29sKGl0ZW0uZ2V0KCJlbmVyZ2lhIikpCglib2xldG8gPSBib29sKGl0ZW0uZ2V0KCJib2xldG8iKSkKCWNwX3JlZmluID0gYm9vbChpdGVtLmdldCgiY3BfcmVmaW4iKSkKCWNvbnNpZ25hZG8gPSBib29sKGl0ZW0uZ2V0KCJjb25zaWduYWRvX3ByaXZhZG8iKSkKCWNkYyA9IGJvb2woaXRlbS5nZXQoImNkYyIpKQoJY3BfY2hlcXVlID0gYm9vbChpdGVtLmdldCgiY3BfY2hlcXVlIikpCgljZGNfZW5lcmdpYSA9IGJvb2woaXRlbS5nZXQoImNkY19lbmVyZ2lhIikpCglkZWJpdG9fY29udGEgPSBib29sKGl0ZW0uZ2V0KCJkZWJpdG9fZW1fY29udGEiKSk=