Author: sebb
Date: Thu Sep 14 13:31:56 2023
New Revision: 1912311
URL: http://svn.apache.org/viewvc?rev=1912311&view=rev
Log:
Start sending weekly messages
Modified:
comdev/projects.apache.org/trunk/scripts/cronjobs/parseprojects.py
Modified: comdev/projects.apache.org/trunk/scripts/cronjobs/parseprojects.py
URL:
http://svn.apache.org/viewvc/comdev/projects.apache.org/trunk/scripts/cronjobs/parseprojects.py?rev=1912311&r1=1912310&r2=1912311&view=diff
==============================================================================
--- comdev/projects.apache.org/trunk/scripts/cronjobs/parseprojects.py
(original)
+++ comdev/projects.apache.org/trunk/scripts/cronjobs/parseprojects.py Thu Sep
14 13:31:56 2023
@@ -31,6 +31,7 @@ import json
import os
from os.path import join
import traceback
+from datetime import datetime
import sendmail
URL_TIMEOUT = 60.0 # timeout for URL requests (may need tweaking)
@@ -56,8 +57,15 @@ VALID_CATS = dict(zip([j.lower() for j i
# Canonicalise without adding to suggested languages
VALID_LANG['bash'] = 'Bash'
+SYNTAX_MSG = {
+ "category": 'The expected syntax is <category
rdf:resource="http://projects.apache.org/category/{category}" />'
+ '\nEach category should be listed in a separate tag',
+ "programming-language": 'The expected syntax is
<programming-language>{language}</programming-language>'
+ '\nEach language should be listed in a separate tag',
+}
"""
Validate and canonicalise languages and categories
+
TODO send mails to projects when valid entries better established
"""
def validate(json, tag, valid, pid, url):
@@ -68,7 +76,14 @@ def validate(json, tag, valid, pid, url)
canon = valid.get(val.lower())
if canon is None:
if len(val) > 30: # can this be a legal value?
- printNotice(f"ERROR: illegal (overlong: {len(val)} >30)
value '{val}' for {pid} in {url}")#, project=pid)
+ # only warn the project once a week
+ if datetime.today().weekday() == 4: # Monday=0
+ topid = pid
+ else:
+ topid = None
+ 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=topid)
else:
print(f"WARN: unexpected value '{val}' for {pid} in
{url}")#, project=pid)
outvals.append(val) # TODO flag this to show invalid
entries