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))))
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))))
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 }
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 }