Skip to content

Commit d93dafd

Browse files
committed
Adapt phet schema following 3.0.0 release
1 parent 2160275 commit d93dafd

File tree

3 files changed

+54
-9
lines changed

3 files changed

+54
-9
lines changed

dispatcher/backend/src/common/schemas/offliners/__init__.py

+2-6
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,3 @@
1-
from common.schemas import SerializableSchema
21
from common.schemas.offliners.devdocs import DevDocsFlagsSchema
32
from common.schemas.offliners.freecodecamp import FreeCodeCampFlagsSchema
43
from common.schemas.offliners.gutenberg import GutenbergFlagsSchema
@@ -11,6 +10,7 @@
1110
NautilusFlagsSchemaRelaxed,
1211
)
1312
from common.schemas.offliners.openedx import OpenedxFlagsSchema
13+
from common.schemas.offliners.phet import PhetFlagsSchema
1414
from common.schemas.offliners.sotoki import SotokiFlagsSchema
1515
from common.schemas.offliners.ted import TedFlagsSchema
1616
from common.schemas.offliners.wikihow import WikihowFlagsSchema
@@ -28,15 +28,11 @@
2828
"NautilusFlagsSchema",
2929
"NautilusFlagsSchemaRelaxed",
3030
"OpenedxFlagsSchema",
31+
"PhetFlagsSchema",
3132
"SotokiFlagsSchema",
3233
"TedFlagsSchema",
3334
"WikihowFlagsSchema",
3435
"YoutubeFlagsSchema",
3536
"ZimitFlagsSchema",
3637
"ZimitFlagsSchemaRelaxed",
3738
)
38-
39-
40-
class PhetFlagsSchema(SerializableSchema):
41-
class Meta:
42-
ordered = True
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
from marshmallow import fields
2+
3+
from common.schemas import SerializableSchema, String
4+
5+
6+
class PhetFlagsSchema(SerializableSchema):
7+
class Meta:
8+
ordered = True
9+
10+
includeLanguages = String(
11+
required=False,
12+
metadata={
13+
"label": "Include Languages",
14+
"description": "Spoken languages to ZIM, one ZIM per language and/or all in"
15+
" a `mul` ZIM.",
16+
},
17+
)
18+
excludeLanguages = String(
19+
required=False,
20+
metadata={
21+
"label": "Exclude Languages",
22+
"description": "Spoken languages to not ZIM.",
23+
},
24+
)
25+
withoutLanguageVariants = fields.Boolean(
26+
truthy=[True],
27+
falsy=[False],
28+
metadata={
29+
"label": "Without Language Variants",
30+
"description": "Exclude languages with Country variant. For example `en_CA`"
31+
" will not be ZIMed with this argument.",
32+
},
33+
)
34+
createMul = fields.Boolean(
35+
truthy=[True],
36+
falsy=[False],
37+
metadata={
38+
"label": "Create `mul` ZIM",
39+
"description": "Create a ZIM file with all languages (by default, scraper "
40+
"creates only one ZIM per language)",
41+
},
42+
)
43+
mulOnly = fields.Boolean(
44+
truthy=[True],
45+
falsy=[False],
46+
metadata={
47+
"label": "Only `mul` ZIM",
48+
"description": "Create only `mul` ZIM, skip ZIM files for individual "
49+
"languages",
50+
},
51+
)

dispatcher/backend/src/utils/offliners.py

+1-3
Original file line numberDiff line numberDiff line change
@@ -27,6 +27,7 @@
2727
Offliner.kolibri: od("kolibri2zim", True, False),
2828
Offliner.devdocs: od("devdocs2zim", True, False),
2929
Offliner.mindtouch: od("mindtouch2zim", True, True),
30+
Offliner.phet: od("phet2zim", False, False),
3031
}
3132

3233

@@ -42,9 +43,6 @@ def command_for(offliner, flags, mount_point):
4243
4344
for an offliner, flags:dict and a mount_point:Path (task volume)"""
4445

45-
if offliner == Offliner.phet:
46-
return ["/bin/bash", "-c", "'cd /phet && npm i && npm start'"]
47-
4846
offliner_def = OFFLINER_DEFS[offliner]
4947
cmd = offliner_def.cmd
5048
if offliner_def.std_output:

0 commit comments

Comments
 (0)