def handle_service(d, keyword_handler): obj = servicesyncher.get(d['id']) if not obj: obj = Service(id=d['id']) obj._changed = True obj._changed |= save_translated_field(obj, 'name', d, 'ontologyword') period_enabled = d['can_add_schoolyear'] clarification_enabled = d['can_add_clarification'] obj._changed |= period_enabled != obj.period_enabled obj._changed |= clarification_enabled != obj.clarification_enabled obj.period_enabled = period_enabled obj.clarification_enabled = clarification_enabled obj._changed = keyword_handler.sync_searchwords(obj, d, obj._changed) if obj._changed: obj.last_modified_time = datetime.now(UTC_TIMEZONE) obj.save() if importer: importer.services_changed = True servicesyncher.mark(obj) return obj