def resource_show(context, data_dict): """ Override to translate title and description of the resource. """ data = _resource_show(context, data_dict) data['name'] = h.translate_field(data, 'name') data['description'] = h.translate_field(data, 'description') return data
def package_search(context, data_dict): """ Override to translate title and description of the dataset. """ data = _package_search(context, data_dict) for result in data.get('results'): result['title'] = h.translate_field(result, 'title') result['notes'] = h.translate_field(result, 'notes') return data
def group_show(context, data_dict): """ Override to translate title and description of the group. """ data = _group_show(context, data_dict) data['display_name'] = h.translate_field(data, 'title') data['title'] = h.translate_field(data, 'title') data['description'] = h.translate_field(data, 'description') return data
def test_translate_field_mk(self): data_dict = { 'title_translated': { 'mk': 'тест', 'en': 'test', } } set_lang('mk') result = helpers.translate_field(data_dict, 'title') assert result == 'тест'
def get_related_datasets(context, data_dict): '''This is an action function which returns related datasets for a single dataset, based on groups and tags which are parts of the dataset itself. :param id: id od the single dataset for which we would like to return the related datasets :type id: string :param limit: Limit of the datasets to be returned, default is 3 :type limit: integer :returns: a list of datasets which are related with the one we have chosen :rtype: list ''' id = data_dict.get('id') limit = int(data_dict.get('limit', 3)) related_datasets = [] related_datasets_ids = [] if id is None: raise ValidationError(_('Missing dataset id')) dataset = get_action('package_show')(data_dict={'id': id}) groups = dataset.get('groups') tags = dataset.get('tags') for group in groups: data_dict = { 'id': group.get('id'), 'include_datasets': True } group_dict = get_action('group_show')(data_dict=data_dict) group_datasets = group_dict.get('packages') for group_dataset in group_datasets: group_dataset_id = group_dataset.get('id') if group_dataset_id != dataset.get('id') and \ group_dataset_id not in related_datasets_ids and \ group_dataset['type'] == 'dataset': related_datasets.append(group_dataset) related_datasets_ids.append(group_dataset_id) for tag in tags: data_dict = { 'id': tag.get('id'), 'include_datasets': True } tag_dict = get_action('tag_show')(data_dict=data_dict) tag_datasets = tag_dict.get('packages') for tag_dataset in tag_datasets: tag_dataset_id = tag_dataset.get('id') if tag_dataset_id != dataset.get('id') and \ tag_dataset_id not in related_datasets_ids and \ tag_dataset['type'] == 'dataset': related_datasets.append(get_action('package_show')({'ignore_auth': True}, data_dict={'id': tag_dataset_id})) related_datasets_ids.append(tag_dataset_id) related_datasets = related_datasets[:limit] for dataset in related_datasets: dataset['title'] = h.translate_field(dataset, 'title') dataset['notes'] = h.translate_field(dataset, 'notes') return related_datasets