示例#1
0
    def generate_results(self):
        self.debug('generate results')
        dvc = self.dvc
        db = dvc.db

        positions = sorted([pp for p in self.positions for pp in p.positions])

        wb = Workbook()
        sh = wb.add_sheet('Results')

        for i, attr in enumerate(
            ('Analysis', 'Position', 'Age', 'Error', 'Weight', 'Note')):
            wb.sheet(0, i, attr)

        wb.nrows = 1

        def func(x, prog, i, n):
            dbmps = db.get_measured_positions(self.load_name, x)
            dbpos = db.get_load_position(self.load_name, x)

            weight, note = dbpos.weight, dbpos.note

            for dbmp in dbmps:
                rid = dbmp.analysis.record_id
                # rid = 1
                if prog:
                    prog.change_message('Write results for {},{}'.format(
                        rid, x))

                # ai = dvc.make_analyses((rid,))
                age, error = 0, 0

                sh.write(wb.nrows, 0, rid)
                sh.write(wb.nrows, 1, x)
                sh.write(wb.nrows, 2, age)
                sh.write(wb.nrows, 3, error)
                sh.write(wb.nrows, 4, weight)
                sh.write(wb.nrows, 5, note)
                wb.nrows += 1

        with db.session_ctx():
            progress_iterator(positions, func, threshold=1)

        path, _ = unique_path(paths.load_results_dir,
                              self.load_name,
                              extension='.xls')
        wb.save(path)
示例#2
0
    def generate_results(self):
        self.debug('generate results')
        dvc = self.dvc
        db = dvc.db

        positions = sorted([pp for p in self.positions
                            for pp in p.positions])

        wb = Workbook()
        sh = wb.add_sheet('Results')

        for i, attr in enumerate(('Analysis', 'Position', 'Age',
                                  'Error', 'Weight', 'Note')):
            wb.sheet(0, i, attr)

        wb.nrows = 1

        def func(x, prog, i, n):
            dbmps = db.get_measured_positions(self.load_name, x)
            dbpos = db.get_load_position(self.load_name, x)

            weight, note = dbpos.weight, dbpos.note

            for dbmp in dbmps:
                rid = dbmp.analysis.record_id
                # rid = 1
                if prog:
                    prog.change_message('Write results for {},{}'.format(rid, x))

                # ai = dvc.make_analyses((rid,))
                age, error = 0, 0

                sh.write(wb.nrows, 0, rid)
                sh.write(wb.nrows, 1, x)
                sh.write(wb.nrows, 2, age)
                sh.write(wb.nrows, 3, error)
                sh.write(wb.nrows, 4, weight)
                sh.write(wb.nrows, 5, note)
                wb.nrows += 1

        with db.session_ctx():
            progress_iterator(positions, func, threshold=1)

        path, _ = unique_path(paths.load_results_dir, self.load_name, extension='.xls')
        wb.save(path)