def upload_collection(request, mongo): #Get name and description try: name = request.POST["name"] csv_file = request.FILES["fileInput"] filename = unicode(csv_file) description = request.POST.get("description", '') except MultiValueDictKeyError: return gen_json_response({"status": "failed", "msg": "Missing field."}) if len(name) == 0: return gen_json_response({ "status": "failed", "msg": "Name cannot be blank." }) #Detect filetype # if re.search('\.csv$', filename.lower()): csv_text = csv_file.read() documents = models.convert_document_csv_to_bson(csv_text) # elif re.search('\.json$', filename.lower()): # documents = json.load(file(filename, 'r')) #! Validate json object here J = models.get_new_collection_json(name, description, documents) mongo.get_collection("tb_app_collection").insert(J) # return gen_json_response({"status": "success", "msg": "Everything all good AFAICT."}) return redirect('/shared-resources/')
def upload_collection(request, mongo): #Get name and description try: name = request.POST["name"] csv_file = request.FILES["fileInput"] filename = unicode(csv_file) description = request.POST.get("description", '') except MultiValueDictKeyError: return gen_json_response({"status": "failed", "msg": "Missing field."}) if len(name) == 0: return gen_json_response({"status": "failed", "msg": "Name cannot be blank."}) #Detect filetype # if re.search('\.csv$', filename.lower()): csv_text = csv_file.read() documents = models.convert_document_csv_to_bson(csv_text) # elif re.search('\.json$', filename.lower()): # documents = json.load(file(filename, 'r')) #! Validate json object here J = models.get_new_collection_json( name, description, documents ) mongo.get_collection("tb_app_collection").insert(J) # return gen_json_response({"status": "success", "msg": "Everything all good AFAICT."}) return redirect('/shared-resources/')
def test_convert_csv_to_bson(self): filename = settings.PROJECT_PATH + '/../dev/scrap/dummy-collections/collection-2959' csv_text = file(filename + '.csv', 'r').read() old_json = json.loads(file(filename + '.json', 'r').read()) new_json = models.convert_document_csv_to_bson(csv_text) self.assertEqual(len(old_json['documents']), len(new_json)) #! Be careful of string-to-int conversion here self.assertEqual(old_json['documents'], new_json)
def test_convert_csv_to_bson(self): filename = settings.PROJECT_PATH+'/../dev/scrap/dummy-collections/collection-2959' csv_text = file(filename+'.csv', 'r').read() old_json = json.loads(file(filename+'.json', 'r').read()) new_json = models.convert_document_csv_to_bson(csv_text) self.assertEqual(len(old_json['documents']), len(new_json)) #! Be careful of string-to-int conversion here self.assertEqual(old_json['documents'], new_json)