예제 #1
0
def process_csv(request, fileconstructor, **kwargs):
    files = request.FILES
    filename = files.keys()[0]
    fileobj = files[filename]

    owner = request.user
    ie = fileconstructor(file_name=filename, owner=owner, **kwargs)

    # If this is a tree import event it also needs an
    # 'old style' import event
    bie = ImportEvent(file_name=filename)
    bie.save()

    if hasattr(ie, 'base_import_event_id'):
        ie.base_import_event = bie

    ie.save()

    try:
        rows = create_rows_for_event(ie, fileobj)

        transaction.commit()

        if rows:
            run_import_event_validation.delay(ie)

    except Exception, e:
        ie.append_error(errors.GENERIC_ERROR, [], data=str(e))
        ie.status = GenericImportEvent.FAILED_FILE_VERIFICATION
        ie.save()
예제 #2
0
def process_csv(request, fileconstructor, **kwargs):
    files = request.FILES
    filename = files.keys()[0]
    fileobj = files[filename]

    owner = request.user
    ie = fileconstructor(file_name=filename,
                         owner=owner,
                         **kwargs)

    # If this is a tree import event it also needs an
    # 'old style' import event
    bie = ImportEvent(file_name=filename)
    bie.save()

    if hasattr(ie, 'base_import_event_id'):
        ie.base_import_event = bie

    ie.save()

    try:
        rows = create_rows_for_event(ie, fileobj)

        transaction.commit()

        if rows:
            run_import_event_validation.delay(ie)

    except Exception, e:
        ie.append_error(errors.GENERIC_ERROR, [], data=str(e))
        ie.status = GenericImportEvent.FAILED_FILE_VERIFICATION
        ie.save()
예제 #3
0
파일: views.py 프로젝트: RickMohr/otm-core
def process_csv(request, instance, import_type, **kwargs):
    files = request.FILES
    filename = files.keys()[0]
    file_obj = files[filename]

    file_obj = io.BytesIO(decode(file_obj.read()).encode('utf-8'))

    owner = request.user
    ImportEventModel = get_import_event_model(import_type)
    ie = ImportEventModel(file_name=filename,
                          owner=owner,
                          instance=instance,
                          **kwargs)
    ie.save()

    run_import_event_validation.delay(import_type, ie.pk, file_obj)

    return ie.pk
예제 #4
0
def process_csv(request, instance, import_type, **kwargs):
    files = request.FILES
    filename = files.keys()[0]
    file_obj = files[filename]

    file_obj = io.BytesIO(file_obj.read().decode('latin1').encode('utf-8'))

    owner = request.user
    ImportEventModel = get_import_event_model(import_type)
    ie = ImportEventModel(file_name=filename,
                          owner=owner,
                          instance=instance,
                          **kwargs)
    ie.save()

    run_import_event_validation.delay(import_type, ie.pk, file_obj)

    return ie.pk