Esempio n. 1
0
 def insert_row(self):
     record = QtSql.QSqlRecord()
     record.append(QtSql.QSqlField('id', QtCore.QVariant.Int))
     record.append(QtSql.QSqlField('rfid_id', QtCore.QVariant.String))
     record.append(QtSql.QSqlField('description', QtCore.QVariant.String))
     record.setValue('id', 0)
     if self.onEvents:
         record.append(QtSql.QSqlField('date', QtCore.QVariant.DateTime))
         record.setValue('date', QDateTime.currentDateTime())
         record.setValue('rfid_id', self.label_2.text())
     else:
         if self.rfidIDField.text().strip(" ") == "":
             QMessageBox.warning(
                 self, 'Error!',
                 "Need to fill ID of marker field to insert new marker.")
             return
         query = QSqlQuery(self.db)
         query.prepare("SELECT * FROM markers WHERE rfid_id = :rfid_id")
         query.bindValue(":rfid_id", self.rfidIDField.text().strip(" "))
         query.exec()
         found = query.next()
         if found:
             QMessageBox.warning(self, 'Error!',
                                 "Marker with such id already exists.")
             return
         record.setValue('rfid_id', self.rfidIDField.text().strip(" "))
     self.tableModel.insertRecord(-1, record)
     self.tableModel.select()
Esempio n. 2
0
File: main.py Progetto: isayeu/yalb
 def rowselect(self, id, *args):
     self.query.exec("SELECT %s FROM log WHERE ID = %d" %
                     (",".join(args), int(id)))
     r = QtSql.QSqlRecord()
     while self.query.next():
         r = self.query.record()
     return [r.value(i) for i in range(r.count())]
    def __init__(self, model, parent=None):
        super(add_mileage_Dialog, self).__init__(parent)
        self.setupUi(self)

        self.comboBox.insertItems(0, model.helperLists["help_travel_reason"])
        self.comboBox_2.insertItems(0, model.helperLists["help_vehicle"])

        self.comboBox.currentIndexChanged[str].connect(self.set_travel_reason)
        self.doubleSpinBox_2.valueChanged.connect(self.set_end_mileage2)
        self.comboBox.setCurrentIndex(0)
        self.comboBox_2.setCurrentIndex(1)
        self.lineEdit.setText("? tuition")

        #self.doubleSpinBox_1.valueChanged.connect(self.set_end_mileage1)
        self.pButton_Add.clicked.connect(self.add_mileage_record)
        self.pButton_AddMore.clicked.connect(self.add_more_mileage_record)
        self.pButton_AddNext.clicked.connect(self.add_next_mileage_record)

        # set internal data for this dialog
        self.model = model
        record = model.mileage.record(model.mileage.rowCount() - 1)
        ind = record.value(0) + 1
        val = record.value(3)
        date = record.value(1)
        date = date.addDays(1)
        self.statusBar = parent.statusBar()
        print("milage val=", val, "mileage ind=", ind)

        self.doubleSpinBox_1.setDecimals(0)
        self.doubleSpinBox_1.setSingleStep(3.0)
        self.doubleSpinBox_2.setDecimals(0)
        self.doubleSpinBox_2.setSingleStep(3.0)

        # init the widget of the dialog
        self.lcdNumber.setProperty("intValue", ind)
        self.doubleSpinBox_1.setProperty("value", val)
        self.doubleSpinBox_2.setProperty("value", val)
        self.record = QtSql.QSqlRecord(record)
        self.record.setValue(0, ind)
        self.dateEdit.setDate(date)
Esempio n. 4
0
    def recording(self):
        row = self.model.time.rowCount() - 1
        rrec = self.model.time.record(row)

        #self.model.dump_model(6)
        #self.model.dump_record(rrec, "Time Recording record")
        entry = rrec.value("entry_nr") + 1
        end_time = rrec.value("stop_time")
        start_date = rrec.value("start_date")
        start_time = rrec.value("start_time")
        end_date = QtCore.QDateTime(start_date, end_time)
        entry_add = 0

        ## calculate partition
        partition = []
        stotal = float(sum(self.trec.msecs))
        for i in range(0, self.trec.size):
            partition.append(round(self.trec.msecs[i] / stotal, 2))
        #print("Partition:\t", partition)

        # cycle through the
        for i in range(0, self.trec.size):
            #print("Wtime:\t", self.trec.wtime)
            if self.trec.wtime == 0:
                continue

            dist = end_date.secsTo(self.trec.stimes[i]) / 60.0

            if (dist > settings.time_treshold):
                print("\nnew record case!\n")
                record = QtSql.QSqlRecord(rrec)
                record.setValue("entry_nr", entry + entry_add)

                val1 = self.trec.stimes[i].date()
                record.setValue("start_date", val1)

                val2 = self.trec.stimes[i].time()
                record.setValue("start_time", val2)

                val3 = self.trec.etimes[i].time()
                record.setValue("stop_time", val3)

                val = round(self.trec.wtime * partition[i], 2)
                record.setValue("time_span", round(val, 2))

                self.model.time.insertRecord(-1, record)

                entry_add += 1

                #set a new end time
                #end_date = QtCore.QDateTime(val1, val3)

            else:
                print("\nold record case!\n")
                val = rrec.value("time_span")
                val += round(self.trec.wtime * partition[i], 2)
                rrec.setValue("time_span", round(val, 2))
                val = self.trec.etimes[i].time()
                rrec.setValue("stop_time", val)

                self.model.time.setRecord(row, rrec)
            # set end time for next round
            end_date = self.trec.etimes[i]
            row = self.model.time.rowCount() - 1
            rrec = self.model.time.record(row)