def resource_with_xls_file_converted_to_csv(res_id, example_xls_file, buzzfeed_dataset, buzzfeed_editor): if is_enabled('S40_new_file_model.be'): from mcod.resources.models import Resource params = { 'id': res_id, 'type': 'file', 'format': 'xls', 'link': None, 'filename': 'example_xls_file.xls', 'openness_score': 1 } res = create_res(buzzfeed_dataset, buzzfeed_editor, **params) resource_score, files_score = res.get_openness_score() Resource.objects.filter(pk=res.pk).update(openness_score=resource_score) res.revalidate() else: res = ResourceFactory.create( id=res_id, type='file', format='xls', link=None, file=example_xls_file, ) res.revalidate() res.increase_openness_score() return res
def resource_with_csv_file_converted_to_jsonld(csv2jsonld_csv_file, csv2jsonld_jsonld_file, params_str): from mcod.resources.models import Resource params = json.loads(params_str) obj_id = params.pop('id') if is_enabled('S40_new_file_model.be'): res = ResourceFactory( main_file__file=csv2jsonld_csv_file, id=obj_id, type='file', format='csv', link=None, **params,) ResourceFileFactory.create( file=csv2jsonld_jsonld_file, format='jsonld', resource=res, is_main=False ) resource_score, files_score = res.get_openness_score() Resource.objects.filter(pk=res.pk).update(openness_score=resource_score) res = Resource.objects.get(pk=res.pk) res.revalidate() else: res = ResourceFactory.create( id=obj_id, type='file', format='csv', link=None, file=csv2jsonld_csv_file, jsonld_file=csv2jsonld_jsonld_file, **params, ) res.openness_score = res.get_openness_score() res.save() return res
def three_resources_with_different_created_at(dates): dates_ = dates.split("|") resources = [] for d in dates_: date = parser.parse(d) res = ResourceFactory.create(created=date) resources.append(res) return resources
def given_unpublished_resource_views_count_is(resource_id, counter_type, val): kwargs = { 'id': resource_id, counter_type: val, 'status': 'draft', 'type': 'file' } return ResourceFactory.create(**kwargs)
def onlyheaderscsv_resource(onlyheaders_csv_file): from mcod.resources.models import Resource if is_enabled('S40_new_file_model.be'): resource = ResourceFactory.create( type='file', format='csv', link=None, main_file__file=onlyheaders_csv_file, ) resource = Resource.objects.get(pk=resource.pk) else: resource = ResourceFactory.create( type='file', format='csv', link=None, file=onlyheaders_csv_file, ) return resource
def resource_of_type_website(): if is_enabled('S40_new_file_model.be'): res = ResourceFactory.create( type="website", format=None, main_file__file=factory.django.FileField( from_func=get_html_file, filename='{}.html'.format(str(uuid.uuid4())) ), main_file__content_type="text/html", ) else: res = ResourceFactory.create( type="website", format=None, file=factory.django.FileField(from_func=get_html_file, filename='{}.html'.format(str(uuid.uuid4()))), content_type="text/html", ) return res
def resource_with_xls_file(example_xls_file): from mcod.resources.models import Resource if is_enabled('S40_new_file_model.be'): res = ResourceFactory.create( type='file', format='xls', link=None, main_file__file=example_xls_file, ) res = Resource.objects.get(pk=res.pk) else: res = ResourceFactory.create( type='file', format='xls', link=None, file=example_xls_file, ) res.revalidate() res.increase_openness_score() return res
def _resource_with_date_and_datetime(csv_with_date_and_datetime): if is_enabled('S40_new_file_model.be'): res = ResourceFactory.create( type='file', format='csv', main_file__file=File(csv_with_date_and_datetime) ) else: res = ResourceFactory.build( type='file', format='csv', file=File(csv_with_date_and_datetime) ) return res
def resource_with_file(file_csv): if is_enabled('S40_new_file_model.be'): res = ResourceFactory.create( type="file", format='csv', main_file__file=factory.django.FileField( from_path=os.path.join(settings.TEST_SAMPLES_PATH, 'simple.csv'), filename='simple.csv' ) ) else: res = ResourceFactory.build( type="file", format='csv', file=File(file_csv) ) return res
def draft_remote_file_resource(obj_id, httpsserver_custom): httpsserver_custom.serve_content( content=get_json_file().read(), headers={ 'content-type': 'application/json' }, ) kwargs = { 'id': obj_id, 'link': httpsserver_custom.url, 'status': 'draft' } if is_enabled('S40_new_file_model.be'): kwargs['main_file'] = None else: kwargs['file'] = None res = ResourceFactory.create(**kwargs) return res
def resource_of_type_api(): from mcod.resources.models import Resource if is_enabled('S40_new_file_model.be'): res = ResourceFactory( type="api", format=None, main_file__file=factory.django.FileField(from_func=get_json_file, filename='{}.json'.format(str(uuid.uuid4()))), main_file__content_type="application/json", ) res = Resource.objects.get(pk=res.pk) else: res = ResourceFactory.create( type="api", format=None, file=factory.django.FileField(from_func=get_json_file, filename='{}.json'.format(str(uuid.uuid4()))), content_type="application/json", ) return res
def resource_with_simple_csv(res_id, simple_csv_file): if is_enabled('S40_new_file_model.be'): res = ResourceFactory( id=res_id, type='file', format='csv', link=None, main_file__file=simple_csv_file, ) res.data_tasks_last_status = res.data_tasks.all().last().status res.file_tasks_last_status = res.file_tasks.all().last().status res.save() else: res = ResourceFactory.create( id=res_id, type='file', format='csv', link=None, file=simple_csv_file, ) res.tracker.saved_data['file'] = None res.save() return res
def second_resource_with_id(resource_id): res = ResourceFactory.create(id=resource_id, title='Second resource %s' % resource_id) return res
def removed_resource(): res = ResourceFactory.create(is_removed=True, title='Removed resource') return res
def draft_resource(): res = ResourceFactory.create(status="draft", title='Draft resource') return res
def imported_resource_of_type(resource_id, source_type, name, portal_url, res_type): _source = DataSourceFactory.create(source_type=source_type, name=name, portal_url=portal_url) _dataset = DatasetFactory.create(source=_source) _resource = ResourceFactory.create(id=resource_id, dataset=_dataset, type=res_type) return _resource
def dataset_with_resource(): _dataset = DatasetFactory.create() ResourceFactory.create(dataset=_dataset) CategoryFactory.create_batch(2, datasets=(_dataset,)) return _dataset
def resource(): res = ResourceFactory.create() return res
def two_charts_for_resource_id(context, data_str): data = json.loads(data_str) resource = ResourceFactory.create(**data) ChartFactory.create(resource=resource, created_by=context.user, is_default=True) ChartFactory.create(resource=resource, created_by=context.user, is_default=False)
def resource_with_counters(): res = ResourceFactory.create() ResourceViewCounterFactory.create_batch(size=2, resource=res) ResourceDownloadCounterFactory.create_batch(size=2, resource=res) return res
def another_resource_with_id(resource_id): res = ResourceFactory.create(id=resource_id, title='Another resource %s' % resource_id) return res
def removed_resource_with_id(resource_id): res = ResourceFactory.create(id=resource_id, title='Removed resource {}'.format(resource_id), is_removed=True) return res
def resources_created_at(created): date = parser.parse(created) res = ResourceFactory.create(created=date) return res
def imported_ckan_resource(): _source = DataSourceFactory.create(source_type='CKAN', name='Test name', portal_url='http://example.com') _dataset = DatasetFactory.create(source=_source) _resource = ResourceFactory.create(dataset=_dataset) return _resource
def draft_resource_with_id(resource_id): res = ResourceFactory.create(id=resource_id, title='Draft resource {}'.format(resource_id), status='draft') return res
def imported_dataset(dataset_data, source_type, name, portal_url): dataset_data = json.loads(dataset_data) _source = DataSourceFactory.create(source_type=source_type, name=name, portal_url=portal_url) _dataset = DatasetFactory.create(source=_source, **dataset_data) ResourceFactory.create(dataset=_dataset) return _dataset
def default_charts_for_resource_id(context, resource_id, charts_ids_str): resource = ResourceFactory.create(id=resource_id) for chart_id in charts_ids_str.split(','): ChartFactory.create(id=chart_id, resource=resource, created_by=context.user, is_default=True, chart={})
def private_chart_for_resource_id_with_id(context, resource_id, chart_id): resource = ResourceFactory.create(id=resource_id) ChartFactory.create(id=chart_id, resource=resource, created_by=context.user, is_default=False, chart={})
def resource_with_region(res_id, dataset_id, main_region, additional_regions): resource = ResourceFactory.create(id=res_id, dataset_id=dataset_id) resource.regions.set([main_region]) resource.regions.add(*additional_regions, through_defaults={'is_additional': True}) resource.save()
def user_with_id_with_organization(context, editor_id, res_id): resource = ResourceFactory.create(id=res_id) editor = EditorFactory.create(id=editor_id) editor.organizations.add(resource.dataset.organization)