Example #1
0
    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
Example #2
0
    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)