示例#1
0
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
示例#2
0
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')
示例#3
0
 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."),
         }