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":