Esempio n. 1
0
 def test_get_sd_english(self):
     sd_id = {'land': None, 'sprak': 'en', 'tjenesteID': 93156, 'variant': None, 'versjon': 1}
     sd = sd_client.getServiceDescription(sd_id)
     self.assertTrue(sd)
     attributes = ['navn', 'beskrivelse', 'malgruppe', 'kriterier',
                   'partnere', 'pris', 'brosjyrer', 'beslektedeTjenester',
                   'lover', 'internSaksgang', 'soknadVeiledning',
                   'soknadVedlegg', 'soknadSkjema', 'soknadMottaker',
                   'soknadMerknader', 'soknadKlage', 'soknadFrist',
                   'soknadBehandlingstid', 'soknadBehandling',
                   'servicevilkar', 'internOpplysninger']
     self.assertTrue(set(attributes).issubset(set(dir(sd))))
Esempio n. 2
0
 def test_get_sd_english(self):
     sd_id = {
         'land': None,
         'sprak': 'en',
         'tjenesteID': 93156,
         'variant': None,
         'versjon': 1
     }
     sd = sd_client.getServiceDescription(sd_id)
     self.assertTrue(sd)
     attributes = [
         'navn', 'beskrivelse', 'malgruppe', 'kriterier', 'partnere',
         'pris', 'brosjyrer', 'beslektedeTjenester', 'lover',
         'internSaksgang', 'soknadVeiledning', 'soknadVedlegg',
         'soknadSkjema', 'soknadMottaker', 'soknadMerknader', 'soknadKlage',
         'soknadFrist', 'soknadBehandlingstid', 'soknadBehandling',
         'servicevilkar', 'internOpplysninger'
     ]
     self.assertTrue(set(attributes).issubset(set(dir(sd))))
Esempio n. 3
0
def getServiceDescriptionData(context, sd_id):
    ct = context.portal_catalog
    los_words = getUtility(ILOSWords)

    sd = sd_client.getServiceDescription(sd_id)

    title = sd['navn'].encode('utf-8')

    description = unparagraph(unescape(sd['ingress'])).encode('utf-8') if 'ingress' in sd else ''

    general = {
        'htmlDescription': unescape(sd['beskrivelse']).encode('utf-8'),
        'targetGroup': unescape(sd['malgruppe']).encode('utf-8'),
        'criteria':  unescape(sd['kriterier']).encode('utf-8'),
        'price': unescape(sd['pris']).encode('utf-8'),
        'partners': unescape(sd['partnere']).encode('utf-8'),
        'brochures': unescape(sd['brosjyrer']).encode('utf-8'),
    }

    application = {
        'guidelines': unescape(sd['soknadVeiledning']).encode('utf-8'),
        'attachment': unescape(sd['soknadVedlegg']).encode('utf-8'),
        'form': unescape(sd['soknadSkjema']).encode('utf-8'),
        'recipient': unescape(sd['soknadMottaker']).encode('utf-8'),
        'notes': unescape(sd['soknadMerknader']).encode('utf-8'),
        'complaint': unescape(sd['soknadKlage']).encode('utf-8'),
        'deadline': unescape(sd['soknadFrist']).encode('utf-8'),
        'duration': unescape(sd['soknadBehandlingstid']).encode('utf-8'),
        'processing': unescape(sd['soknadBehandling']).encode('utf-8'),
    }

    laws = []
    if 'dokumentRef' in sd:
        doc_refs = sd['dokumentRef']
        for doc_ref in doc_refs:
            if doc_ref['dokumenttypeID'] in [1,2,3,8]:
                ref = {
                    'title': doc_ref['tittel'].encode('utf-8'),
                    'url': doc_ref['uri'],
                    'description': doc_ref['beskrivelse'] if 'beskrivelse' in doc_ref else ''
                }
                laws.append(ref)

    other = {
        'updated': sd['datoOppdatert'],
        'valid_from': sd['gyldigFra'] if 'gyldigFra' in sd else '',
        'state': sd['livsITRefs'] if 'livsITRefs' in sd else []
    }

    normalized_word_ids = [ref['psi'].replace('emneord', 'ord') for ref in sd['emneordRefs']] \
        if 'emneordRefs' in sd else []
    topic_refs = ct.searchResults(synonymIds={'query': normalized_word_ids, 'operator': 'or'})
    keywords = [los_words[word_id] for word_id in normalized_word_ids if word_id in los_words]

    return {
        'title': title,
        'description': description,
        'general': general,
        'application': application,
        'laws': laws,
        'other': other,
        'topic_refs': topic_refs,
        'keywords': keywords
    }
Esempio n. 4
0
def getServiceDescriptionData(context, sd_id):
    ct = context.portal_catalog
    los_words = getUtility(ILOSWords)

    sd = sd_client.getServiceDescription(sd_id)
    title = sd['navn'].encode('utf-8')

    description = unparagraph(unescape(
        sd['ingress'])).encode('utf-8') if 'ingress' in sd else ''

    general = {
        'htmlDescription': unescape(sd['beskrivelse']).encode('utf-8'),
        'targetGroup': unescape(getattr(sd, 'malgruppe', '')).encode('utf-8'),
        'criteria': unescape(getattr(sd, 'kriterier', '')).encode('utf-8'),
        'price': unescape(getattr(sd, 'pris', '')).encode('utf-8'),
        'partners': unescape(getattr(sd, 'partnere', '')).encode('utf-8'),
        'brochures': unescape(getattr(sd, 'brosjyrer', '')).encode('utf-8'),
    }

    application = {
        'guidelines':
        unescape(getattr(sd, 'soknadVeiledning', '')).encode('utf-8'),
        'attachment':
        unescape(getattr(sd, 'soknadVedlegg', '')).encode('utf-8'),
        'form':
        unescape(getattr(sd, 'soknadSkjema', '')).encode('utf-8'),
        'recipient':
        unescape(getattr(sd, 'soknadMottaker', "")).encode('utf-8'),
        'notes':
        unescape(getattr(sd, 'soknadMerknader', "")).encode('utf-8'),
        'complaint':
        unescape(getattr(sd, 'soknadKlage', "")).encode('utf-8'),
        'deadline':
        unescape(getattr(sd, 'soknadFrist', "")).encode('utf-8'),
        'duration':
        unescape(getattr(sd, 'soknadBehandlingstid', "")).encode('utf-8'),
        'processing':
        unescape(getattr(sd, 'soknadBehandling', "")).encode('utf-8'),
    }

    laws = []
    if 'dokumentRef' in sd:
        doc_refs = sd['dokumentRef']
        for doc_ref in doc_refs:
            if doc_ref['dokumenttypeID'] in [1, 2, 3, 8]:
                ref = {
                    'title':
                    doc_ref['tittel'].encode('utf-8'),
                    'url':
                    doc_ref['uri'],
                    'description':
                    doc_ref['beskrivelse'] if 'beskrivelse' in doc_ref else ''
                }
                laws.append(ref)

    other = {
        'updated': sd['datoOppdatert'],
        'valid_from': sd['gyldigFra'] if 'gyldigFra' in sd else '',
        'state': sd['livsITRefs'] if 'livsITRefs' in sd else []
    }

    normalized_word_ids = [ref['psi'].replace('emneord', 'ord') for ref in sd['emneordRefs']] \
        if 'emneordRefs' in sd else []
    topic_refs = ct.searchResults(synonymIds={
        'query': normalized_word_ids,
        'operator': 'or'
    })
    keywords = [
        los_words[word_id] for word_id in normalized_word_ids
        if word_id in los_words
    ]

    return {
        'title': title,
        'description': description,
        'general': general,
        'application': application,
        'laws': laws,
        'other': other,
        'topic_refs': topic_refs,
        'keywords': keywords
    }