in gnm_deliverables/launch_detector.py [0:0]
def update_mainstream(msg: LaunchDetectorUpdate, asset: DeliverableAsset):
"""
either create or update a Mainstram information object from the given message
:param msg: LaunchDetectorUpdate instance giving the content to update
:param asset: DeliverableAsset that needs to be updated.
:return:
"""
if asset.mainstream_master is None:
rec: Mainstream = Mainstream()
else:
rec: Mainstream = asset.mainstream_master
if rec.mainstream_description is None or rec.mainstream_description=="":
rec.mainstream_description = msg.description
if rec.mainstream_title is None or rec.mainstream_title=="":
rec.mainstream_title = msg.title
if rec.mainstream_tags is None or len(rec.mainstream_tags)==0:
rec.mainstream_tags = msg.keywords
if rec.mainstream_rules_contains_adult_content is None:
rec.mainstream_rules_contains_adult_content = False
# set the etag in case something else is editing it at the moment
rec.etag = zoned_datetime().isoformat('T')
asset.mainstream_master = rec #no-op if it was already set like this
rec.save()
asset.save()