CK-Export-Invoice-Processor / igst_config_sync.py
joschetan's picture
Update igst_config_sync.py
3f81a26 verified
Raw
History Blame Contribute Delete
1.49 kB
from google_sheet_sync import fetch_all_from_sheet, push_all_to_sheet, get_val_case_insensitive
def fetch_igst_config_from_sheet(shipper_name):
try:
data = fetch_all_from_sheet()
if not data:
return {"lut_keywords": "", "paid_keywords": ""}
rules_list = data.get("rules", data.get("data", [])) if isinstance(data, dict) else data
config = {"lut_keywords": "", "paid_keywords": ""}
if isinstance(rules_list, list):
for row in rules_list:
if isinstance(row, dict):
s_name = get_val_case_insensitive(row, "ShipperName", "shipper", "shippername")
rule_kind = get_val_case_insensitive(row, "RuleKind", "kind", default="header").lower()
f_name = get_val_case_insensitive(row, "FieldName", "field", "fieldname")
if "welspun" in s_name.lower() and (rule_kind == "igst_config" or f_name.lower() in ["lut_keywords", "paid_keywords"]):
kw = get_val_case_insensitive(row, "Keyword", "keyword", "kw")
if f_name.lower() == "lut_keywords":
config["lut_keywords"] = kw
elif f_name.lower() == "paid_keywords":
config["paid_keywords"] = kw
return config
except Exception:
return {"lut_keywords": "", "paid_keywords": ""}