Ejemplo n.º 1
0
def Import(context, request):
    """ Import Form
    """
    form = request.form
    # form['file'] sometimes returns a list
    infile = form['instrument_results_file'][0] if \
        isinstance(form['instrument_results_file'], list) \
        else form['instrument_results_file']
    # fileformat = form['instrument_results_file_format']
    override = form['results_override']
    artoapply = form['artoapply']
    sample = form.get('sample', 'requestid')
    instrument = form.get('instrument', None)
    errors = []
    logs = []
    warns = []

    # Load the most suitable parser according to file extension/options/etc...
    parser = None
    if not hasattr(infile, 'filename'):
        errors.append(_("No file selected"))

    parser = LaChatQuickCheckFIAParser(infile)
    status = get_instrument_import_ar_allowed_states(artoapply)
    over = get_instrument_import_override(override)
    sam = get_instrument_import_search_criteria(sample)

    importer = Importer(parser=parser,
                        context=context,
                        idsearchcriteria=sam,
                        allowed_ar_states=status,
                        allowed_analysis_states=None,
                        override=over,
                        instrument_uid=instrument)
    tbex = ''
    try:
        importer.process()
    except:
        tbex = traceback.format_exc()
    errors = importer.errors
    logs = importer.logs
    warns = importer.warns
    if tbex:
        errors.append(tbex)

    results = {'errors': errors, 'log': logs, 'warns': warns}

    return json.dumps(results)
Ejemplo n.º 2
0
    def Import(self, context, request):
        """ Read Dimensional-CSV analysis results
        """
        form = request.form
        # TODO form['file'] sometimes returns a list
        infile = form['instrument_results_file'][0] if \
            isinstance(form['instrument_results_file'], list) else \
            form['instrument_results_file']
        artoapply = form['artoapply']
        override = form['results_override']

        instrument = form.get('instrument', None)
        errors = []
        logs = []

        # Load the most suitable parser according to file extension/options/etc...
        parser = None
        if not hasattr(infile, 'filename'):
            errors.append(_("No file selected"))
        parser = XCaliburCSVParser(infile)
        status = get_instrument_import_ar_allowed_states(artoapply)
        over = get_instrument_import_override(override)
        importer = XCaliburImporter(parser=parser,
                                    context=context,
                                    allowed_ar_states=status,
                                    allowed_analysis_states=None,
                                    override=over,
                                    instrument_uid=instrument,
                                    form=form)
        tbex = ''
        try:
            importer.process()
        except Exception as e:
            tbex = traceback.format_exc()
        errors = importer.errors
        logs = importer.logs
        warns = importer.warns
        if tbex:
            errors.append(tbex)

        results = {'errors': errors, 'log': logs, 'warns': warns}

        return json.dumps(results)