Example #1
0
    def felveszfv(self):
        try:
            marka = self.marka.text()
            tipus = self.tipus.text()
            uzemanyag = self.uzemanyag.currentText()
            szin = self.szin.text()
            rendszam = self.rendszam.text()
            engedelyezve = self.engedelyezve.isChecked()

            if len(marka) == 0:
                raise cl.HianyzoAdat('márka')
            if len(tipus) == 0:
                raise cl.HianyzoAdat('típus')
            if len(szin) == 0:
                raise cl.HianyzoAdat('szín')
            if len(rendszam) == 0:
                raise cl.HianyzoAdat('rendszám')
            if rendszam == 'ABC123':
                raise cl.RendszamHiba()
            if len(rendszam) != 6:
                raise cl.RendszamFormatumHiba()
            if rendszam[0:1] not in self.abc:
                raise cl.RendszamFormatumHiba()
            if rendszam[1:2] not in self.abc:
                raise cl.RendszamFormatumHiba()
            if rendszam[2:3] not in self.abc:
                raise cl.RendszamFormatumHiba()
            if rendszam[3:4] not in self.szam:
                raise cl.RendszamFormatumHiba()
            if rendszam[4:5] not in self.szam:
                raise cl.RendszamFormatumHiba()
            if rendszam[5:6] not in self.szam:
                raise cl.RendszamFormatumHiba()

            uj_auto = cl.Auto(marka, tipus, uzemanyag, szin, rendszam,
                              engedelyezve)
            if uj_auto not in self.adatok:
                self.adatok.append(uj_auto)
                self.adatok.sort()
                self.mentes()
                self.kijelzo.clear()

                for i in self.adatok:
                    self.kijelzo.addItem(i.__str__())
                    if not i.getEngedely():
                        self.kijelzo.item(self.kijelzo.count() -
                                          1).setBackground(QtCore.Qt.red)
            else:
                msg = QtWidgets.QMessageBox()
                msg.setWindowTitle('Figyelmeztetés!')
                msg.setIcon(QtWidgets.QMessageBox.Warning)
                msg.setText('Ez az autó már szerepel a listában!')
                msg.exec()

        except cl.HianyzoAdat as ha:
            msg = QtWidgets.QMessageBox()
            msg.setWindowTitle('Figyelmeztetés')
            msg.setIcon(QtWidgets.QMessageBox.Warning)
            msg.setText(ha.__str__())
            msg.exec()

        except cl.RendszamHiba:
            msg = QtWidgets.QMessageBox()
            msg.setWindowTitle('Figyelmeztetés')
            msg.setIcon(QtWidgets.QMessageBox.Warning)
            msg.setText("Az alapértelmezett rendszámot írja át!")
            msg.exec()

        except cl.RendszamFormatumHiba:
            msg = QtWidgets.QMessageBox()
            msg.setWindowTitle('Figyelmeztetés')
            msg.setIcon(QtWidgets.QMessageBox.Warning)
            msg.setText(
                "A rendszámot a mintaformátumnak megfelelően adja meg!  (pl: ABC123)"
            )
            msg.exec()