Skip to content

Commit e1762b4

Browse files
committed
update_publiccode update to provide better yaml
1 parent 4e98074 commit e1762b4

1 file changed

Lines changed: 25 additions & 21 deletions

File tree

update_publiccode.py

Lines changed: 25 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,10 @@
11
import os
22
import yaml
3-
import json
43
from datetime import datetime
54

65
def set_default(d, key, default_value):
7-
if not isinstance(d, dict):
8-
return
9-
d.setdefault(key, default_value)
6+
if key not in d:
7+
d[key] = default_value
108

119
# Read existing publiccode.yaml
1210
try:
@@ -32,38 +30,44 @@ def set_default(d, key, default_value):
3230
set_default(data, 'developmentStatus', "development")
3331
set_default(data, 'softwareType', "standalone/web")
3432
set_default(data, 'description', {'en': {}})
33+
set_default(data['description']['en'], 'localisedName', "")
34+
set_default(data['description']['en'], 'genericName', "")
35+
set_default(data['description']['en'], 'shortDescription', "")
36+
set_default(data['description']['en'], 'longDescription', "")
37+
set_default(data['description']['en'], 'documentation', "")
38+
set_default(data['description']['en'], 'apiDocumentation', "")
39+
set_default(data['description']['en'], 'features', [])
40+
set_default(data['description']['en'], 'screenshots', [])
41+
set_default(data['description']['en'], 'videos', [])
42+
set_default(data['description']['en'], 'awards', [])
43+
set_default(data, 'nl', {'vng': {}})
44+
set_default(data['nl']['vng'], 'gemma', [])
45+
set_default(data['nl']['vng'], 'commonground', [])
3546
set_default(data, 'legal', {})
47+
set_default(data['legal'], 'license', "")
48+
set_default(data['legal'], 'mainCopyrightOwner', "")
49+
set_default(data['legal'], 'repoOwner', "")
50+
set_default(data['legal'], 'authorsFile', "")
3651
set_default(data, 'maintenance', {})
52+
set_default(data['maintenance'], 'type', "none")
53+
set_default(data['maintenance'], 'contractors', [])
54+
set_default(data['maintenance'], 'contacts', [])
3755
set_default(data, 'localisation', {})
38-
set_default(data, 'nl', {'vng': {}})
56+
set_default(data['localisation'], 'localisationReady', False)
57+
set_default(data['localisation'], 'availableLanguages', ["en"])
58+
set_default(data, 'organisation', {})
3959

4060
# Update or append values
4161
if os.environ.get('REPO_NAME'):
4262
data['name'] = os.environ['REPO_NAME']
4363
if os.environ.get('REPO_URL'):
4464
data['url'] = os.environ['REPO_URL']
45-
46-
# Check if 'description' is a string and convert it to a dictionary if needed
47-
if not isinstance(data['description'], dict):
48-
data['description'] = {'en': {}}
49-
5065
if os.environ.get('REPO_DESC'):
5166
data['description']['en']['genericName'] = os.environ['REPO_DESC']
52-
5367
if os.environ.get('REPO_HOMEPAGE'):
5468
data['url'] = os.environ['REPO_HOMEPAGE']
55-
56-
# Uncomment this if you plan to use REPO_TOPICS
57-
# if os.environ.get('REPO_TOPICS'):
58-
# data['topics'] = os.environ['REPO_TOPICS'].split(',')
59-
6069
if os.environ.get('REPO_LICENSE'):
6170
data['legal']['license'] = os.environ['REPO_LICENSE']
62-
63-
# Create or update nested 'organisation' array
64-
if 'organisation' not in data:
65-
data['organisation'] = {}
66-
6771
if os.environ.get('ORGANISATION_NAME'):
6872
data['organisation']['name'] = os.environ['ORGANISATION_NAME']
6973
if os.environ.get('ORGANISATION_AVATAR'):

0 commit comments

Comments
 (0)