Exemplo n.º 1
0
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/')
Exemplo n.º 2
0
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/')
Exemplo n.º 3
0
    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)
Exemplo n.º 4
0
    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)