in scripts/cronjobs/parseprojects.py [0:0]
def validate(json, tag, valid, pid, url):
if tag in json:
outvals = []
invals = re.split(r',\s*', json[tag]) # allow for missing space after comma
for val in invals:
canon = valid.get(val.lower())
if canon is None:
if len(val) > 30: # can this be a legal value?
# only warn the project once a week
if datetime.today().weekday() == 4: # Monday=0
printNotice(f"ERROR: illegal (overlong: {len(val)} >30) value '{val}' for {pid} in {url}",
body = f'Error in {url}\nUnexpected value: "{val}"\n{SYNTAX_MSG[tag]}',
project=pid)
else:
print(f"WARN: unexpected value '{val}' for {pid} in {url}")#, project=pid)
outvals.append(val) # TODO flag this to show invalid entries
elif canon != val:
print(f"WARN: '{val}' should be '{canon}' for {pid} in {url}")
outvals.append(canon)
else:
outvals.append(val)
if outvals != invals:
json[tag] = ", ".join(outvals)