Skip to content

Commit f7d4c2a

Browse files
committed
data(software,game): add 11,611 software + 6,800 games from Wikidata
New `software` category (TechEngine PR #42): 11,611 software products from Wikidata (P31=Q7397) — name, release_date, developers, publishers, operating_systems, programming_languages, licenses, genres. Plus 6,800 more video games recovered from Q7889 subclasses (browser/arcade/mobile games) the direct-P31 pass missed. Bumps engine submodule to the software-category pin + mirrors SOFTWARE_REQUIRED into app/validate.py. All from Wikidata, no fabrication; verified:false; sharded. Refs #1
1 parent 44a7f59 commit f7d4c2a

18,413 files changed

Lines changed: 229746 additions & 1 deletion

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

app/validate.py

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -112,6 +112,13 @@
112112
"verified",
113113
}
114114

115+
SOFTWARE_REQUIRED = {
116+
"slug",
117+
"name",
118+
"source_urls",
119+
"verified",
120+
}
121+
115122
DATE_RE = re.compile(r"^\d{4}-\d{2}-\d{2}$")
116123

117124

@@ -237,6 +244,7 @@ def validate() -> list[str]:
237244
laptops = _load("laptop")
238245
monitors = _load("monitor")
239246
games = _load("game")
247+
software = _load("software")
240248

241249
brand_slugs = {rec["slug"] for _, rec in brands if "slug" in rec}
242250
soc_slugs = {rec["slug"] for _, rec in socs if "slug" in rec}
@@ -255,6 +263,7 @@ def validate() -> list[str]:
255263
("laptop", laptops),
256264
("monitor", monitors),
257265
("game", games),
266+
("software", software),
258267
):
259268
_check_unique_slugs(category, records, errors)
260269

@@ -417,6 +426,13 @@ def validate() -> list[str]:
417426
if rec.get("metacritic") is not None:
418427
_check_range(fname, "metacritic", rec.get("metacritic"), 0, 100, errors)
419428

429+
for fname, rec in software:
430+
_check_required(fname, rec, SOFTWARE_REQUIRED, errors)
431+
_check_source_urls(fname, rec, errors)
432+
_check_slug(fname, rec.get("slug"), errors)
433+
if rec.get("release_date") is not None:
434+
_check_date(fname, rec["release_date"], errors)
435+
420436
return errors
421437

422438

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"slug": "10-computer-hits-2",
3+
"name": "10 Computer Hits 2",
4+
"verified": false,
5+
"source_urls": [
6+
"https://www.wikidata.org/wiki/Q98399029"
7+
],
8+
"release_date": "1986-01-01",
9+
"platforms": [
10+
"Amstrad CPC"
11+
],
12+
"publishers": [
13+
"Beau Jolly"
14+
]
15+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"slug": "10-computer-hits-3",
3+
"name": "10 Computer Hits 3",
4+
"verified": false,
5+
"source_urls": [
6+
"https://www.wikidata.org/wiki/Q105669831"
7+
],
8+
"release_date": "1986-01-01",
9+
"platforms": [
10+
"Amstrad CPC"
11+
],
12+
"publishers": [
13+
"Beau Jolly"
14+
]
15+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"slug": "10-computer-hits-4",
3+
"name": "10 Computer Hits 4",
4+
"verified": false,
5+
"source_urls": [
6+
"https://www.wikidata.org/wiki/Q98399061"
7+
],
8+
"release_date": "1988-01-01",
9+
"platforms": [
10+
"Amstrad CPC"
11+
],
12+
"publishers": [
13+
"Beau Jolly"
14+
]
15+
}
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"slug": "10-computer-hits-5",
3+
"name": "10 Computer Hits 5",
4+
"verified": false,
5+
"source_urls": [
6+
"https://www.wikidata.org/wiki/Q113516824"
7+
],
8+
"release_date": "1989-01-01",
9+
"platforms": [
10+
"Amstrad CPC"
11+
],
12+
"publishers": [
13+
"Beau Jolly"
14+
]
15+
}

data/game/10/10-computer-hits.json

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
{
2+
"slug": "10-computer-hits",
3+
"name": "10 Computer Hits",
4+
"verified": false,
5+
"source_urls": [
6+
"https://www.wikidata.org/wiki/Q96621136"
7+
],
8+
"release_date": "1985-01-01",
9+
"platforms": [
10+
"Amstrad CPC"
11+
],
12+
"publishers": [
13+
"Beau Jolly"
14+
]
15+
}

data/game/10/10-great-games.json

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"slug": "10-great-games",
3+
"name": "10 Great Games",
4+
"verified": false,
5+
"source_urls": [
6+
"https://www.wikidata.org/wiki/Q126184165"
7+
]
8+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"slug": "10-intelligent-strategy-games",
3+
"name": "10 Intelligent Strategy Games",
4+
"verified": false,
5+
"source_urls": [
6+
"https://www.wikidata.org/wiki/Q126185033"
7+
]
8+
}
Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
{
2+
"slug": "10-megahits-vol-2",
3+
"name": "10 Megahits Vol 2",
4+
"verified": false,
5+
"source_urls": [
6+
"https://www.wikidata.org/wiki/Q126187179"
7+
]
8+
}

0 commit comments

Comments
 (0)