def refresh_dataset(request, report_pk): # download the report csv data from commcare try: report = CommcareReport.objects.get(pk=report_pk) except CommcareReport.DoesNotExist: return HttpResponseNotFound(_(u"Error: Report Not found!")) else: csv_file = None try: csv_file = download_commcare_zip_report( report.source_url, username=settings.COMMCARE_USERNAME, password=settings.COMMCARE_PASSWORD) except ConnectionError: request.session['error_msg'] =\ _(u"Connection Error: Unable to download report from %s." % report.source_url) if csv_file is not None: # push the data to bamboo.io data = bamboo_store_csv_file(csv_file, settings.BAMBOO_POST_URL) if type(data) == dict: report.dataset_id = data["id"] report.save() # TODO: delete csv file or cache else: return HttpResponse(_(u"Unable to download report!")) if request.is_ajax(): return HttpResponse(u"OK") else: return HttpResponseRedirect(reverse(index))
def test_store_csv_file(self): csv_file = os.path.join( os.path.dirname(os.path.abspath(__file__)), 'fixtures/good_eats.csv' ) dataset_dict = bamboo_store_csv_file(csv_file, 'http://bamboo.io/datasets') self.assertIs(type(dataset_dict), dict)