MCPcopy Create free account
hub / github.com/hunvreus/devpush / _normalize_env_vars_formdata

Function _normalize_env_vars_formdata

app/forms/project.py:80–118  ·  view source on GitHub ↗
(formdata)

Source from the content-addressed store, hash-verified

78
79
80def _normalize_env_vars_formdata(formdata):
81 def getlist(key):
82 try:
83 return formdata.getlist(key)
84 except AttributeError:
85 value = formdata.get(key)
86 if value is None:
87 return []
88 return value if isinstance(value, list) else [value]
89
90 indexes = set()
91 for key in formdata:
92 match = re.match(r"env_vars-(\d+)-", key)
93 if match:
94 indexes.add(int(match.group(1)))
95
96 pairs = []
97 new_i = 0
98
99 for i in sorted(indexes):
100 if getlist(f"env_vars-{i}-delete"):
101 continue
102
103 key_value = (getlist(f"env_vars-{i}-key") or [""])[0]
104 value_value = (getlist(f"env_vars-{i}-value") or [""])[0]
105 environment_value = (getlist(f"env_vars-{i}-environment") or [""])[0]
106
107 if key_value or value_value:
108 pairs.append((f"env_vars-{new_i}-key", key_value))
109 pairs.append((f"env_vars-{new_i}-value", value_value))
110 pairs.append((f"env_vars-{new_i}-environment", environment_value))
111 new_i += 1
112
113 for key in formdata:
114 if not key.startswith("env_vars-"):
115 for value in getlist(key):
116 pairs.append((key, value))
117
118 return FormData(pairs)
119
120
121class ProjectEnvVarForm(Form):

Callers 2

processMethod · 0.85
processMethod · 0.85

Calls 2

setFunction · 0.85
getlistFunction · 0.85

Tested by

no test coverage detected