Spaces:
Running on Zero
Running on Zero
| 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": ""} |