def dataset_context(category_slug, dataset_slug): dataset = Dataset.fetch(dataset_slug) assert dataset.category.slug == category_slug if category_slug == "contributed": description = ("Data and/or documentation related to South African" " government budgets contributed by %s and hosted" " by National Treasury in partnership with IMALI YETHU" ) % dataset.get_organization()["name"] else: description = dataset.intro context = { "selected_tab": "datasets", "title": "%s - vulekamali" % dataset.name, "description": description, } context.update(dataset_fields(dataset)) return context
def dataset(request, category_slug, dataset_slug): dataset = Dataset.fetch(dataset_slug) assert (dataset.category.slug == category_slug) if category_slug == 'contributed': description = ("Data and/or documentation related to South African" " government budgets contributed by %s and hosted" " by National Treasury in partnership with IMALI YETHU" ) % dataset.get_organization()['name'] else: description = dataset.intro context = { 'selected_tab': 'datasets', 'title': "%s - vulekamali" % dataset.name, 'description': description, } context.update(dataset_fields(dataset)) response_yaml = yaml.safe_dump(context, default_flow_style=False, encoding='utf-8') return HttpResponse(response_yaml, content_type='text/x-yaml')
def get_dataset_preview(cls, dataset_name, dataset_title, group_name, department): dataset = None dataset_preview = None try: if department: # Dataset for this department by group name dataset = department.get_dataset(group_name=group_name) if dataset: dataset_preview = { 'object': dataset, 'name': dataset.slug, 'title': dataset.name, 'status': 'success', 'message': "This dataset already exists", } else: try: # Dataset by dataset name dataset = Dataset.fetch(dataset_name) except PackageDeletedException: return None, { 'name': dataset_name, 'title': dataset_title, 'status': 'error', 'message': ("A dataset with this name exists but is deleted. " "First purge it or change its state to active or " "change its name"), } if dataset: dataset_preview = { 'object': dataset, 'name': dataset.slug, 'title': dataset.name, 'new_title': dataset_title, 'status': 'error', 'message': ("Dataset by this name exists but it " "is not configured correctly to be " "identified as part of this dataset."), } else: dataset_preview = { 'name': dataset_name, 'title': dataset_title, 'status': 'info', 'message': "This dataset will be created.", 'action': 'create', } else: dataset_preview = { 'name': dataset_name, 'title': dataset_title, 'status': 'error', 'message': ("Department not found. We can't " "upload the dataset until we can " "associate it with an existing department."), } return dataset, dataset_preview except PackageWithoutGroupException: return None, { 'name': dataset_name, 'title': dataset_title, 'status': 'error', 'message': ("Dataset exists but must have the correct group " "assigned."), }