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
def _handle_service(self, service, keyword_handler): koodi = int( service["koodi"] ) # Cast to int as koodi should always be a stringified integer obj = self.servicesyncher.get(koodi) if not obj: obj = Service(id=koodi, clarification_enabled=False, period_enabled=False) obj._changed = True set_syncher_tku_translated_field(obj, "name", service.get("nimi_kieliversiot")) obj._changed = keyword_handler.sync_searchwords( obj, service, obj._changed) self._save_object(obj) self.servicesyncher.mark(obj)