diff --git a/validator/json/schema.json b/validator/json/schema.json
index 6557768..0286de9 100644
--- a/validator/json/schema.json
+++ b/validator/json/schema.json
@@ -266,10 +266,12 @@
"type": "string"
},
"do_not_record": {
- "type": ["boolean", "null"]
+ "type": ["boolean", "string", "null"],
+ "description": "If this value is set to `true`, the speaker does not want a recording of any kind. We will remove all video staff and maybe even switch off all cameras"
},
"do_not_stream": {
- "type": ["string", "null"]
+ "type": ["string", "boolean", "null"],
+ "description": "If this value is set to boolean `false`, the speaker is okay with a live stream of the event; and is aware that somebody in the internet might create third party recording"
},
"persons": {
"type": "array",
diff --git a/validator/xsd/schedule.xml.xsd b/validator/xsd/schedule.xml.xsd
index 8a19a8a..4a65d1b 100644
--- a/validator/xsd/schedule.xml.xsd
+++ b/validator/xsd/schedule.xml.xsd
@@ -173,7 +173,7 @@
-
+
@@ -242,4 +242,17 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/voc/schedule.py b/voc/schedule.py
index 88d18dc..7b0d6ef 100644
--- a/voc/schedule.py
+++ b/voc/schedule.py
@@ -500,6 +500,9 @@ def add_events_from(self, other_schedule, id_offset=None, options={}, context: E
if options.get("do_not_record"):
event["do_not_record"] = options['do_not_record'](event) if callable(options["do_not_record"]) else options["do_not_record"]
+ if options.get("do_not_stream"):
+ event["do_not_stream"] = options['do_not_stream'](event) if callable(options["do_not_stream"]) else options["do_not_stream"]
+
if options.get("remove_title_additions"):
# event["title"], subtitle, event_type = re.match(r"^(.{15,}?)(?:(?::| [–-]+) (.+?))?(?: \((.+?)\))?$", event["title"]).groups()
@@ -698,7 +701,7 @@ def _to_etree(d, node, parent=""):
# not in schedule.json: license information for an event
v = {
"license": recording_license,
- "optout": "true" if v is True else "false",
+ "optout": "true" if v is True else v,
}
# new style schedule.json (version 2022-12)
elif k == "optout":