def accept(self): fehler = 1 actor_added = False actor_adding_asked = False while fehler: darsteller, fehler, fehler_index = self.darsteller_pruefen(str(self.lineEditNeuDarsteller.text()).title()) if fehler: if fehler == 1: zu_lesen = "SELECT darsteller FROM pordb_pseudo WHERE pseudo = %s" self.lese_func = DBLesen(self, zu_lesen, darsteller[fehler_index].title().strip()) res = DBLesen.get_data(self.lese_func) if res: messageBox = QtGui.QMessageBox() messageBox.addButton(self.trUtf8("Yes"), QtGui.QMessageBox.AcceptRole) messageBox.addButton(self.trUtf8("No, correct entry"), QtGui.QMessageBox.RejectRole) messageBox.addButton(self.trUtf8("No, add new actor"), QtGui.QMessageBox.ActionRole) messageBox.setWindowTitle(darsteller[fehler_index] +self.trUtf8(" does not exist") +self.trUtf8(", but I have found ") +res[0][0].strip() +self.trUtf8(" as alias.")) messageBox.setIcon(QtGui.QMessageBox.Question) messageBox.setText(self.trUtf8("Do you want to take this actor instead?")) messageBox.setDetailedText(darsteller[fehler_index] +self.trUtf8(" does not exist") +self.trUtf8(", but I have found ") +res[0][0].strip() +self.trUtf8(" as alias. If you want to take this actor, click on yes, else change your entry or add a new actor to the database.")) message = messageBox.exec_() if message == 0: darsteller_alt = str(self.lineEditNeuDarsteller.text()).title().strip() darsteller_neu = darsteller_alt.replace(darsteller[fehler_index].strip(), str(res[0][0]).strip()) try: self.lineEditNeuDarsteller.setText(darsteller_neu) except: pass return elif message == 2: self.darsteller_addieren(darsteller, fehler_index) actor_added = True elif fehler == 2: message = QtGui.QMessageBox.critical(self, self.trUtf8("Error "), self.trUtf8("You have entered some actors twice, please correct")) return if actor_adding_asked: return if not actor_added: self.darsteller_addieren(darsteller, fehler_index) actor_adding_asked = True titel = self.lineEditNeuTitel.text() if darsteller: darsteller = self.darsteller_sortieren(darsteller) if self.checkBoxUninteressant.isChecked(): darsteller.append("(Uninteressant)") try: cd = int(self.lineEditNeuCD.text()) except: message = QtGui.QMessageBox.critical(self, self.trUtf8("Error "), self.trUtf8("CD is not a number")) return bild = self.lineEditNeuBild.text() if not self.radioButtonVorhandenJa.isChecked() and not self.radioButtonVorhandenNein.isChecked(): message = QtGui.QMessageBox.critical(self, self.trUtf8("Error "), self.trUtf8("Please mark whether movie is available")) return if self.radioButtonVorhandenJa.isChecked(): vorhanden = "x" else: vorhanden = "" if not self.radioButtonGesehenNein.isChecked() and not self.radioButtonGesehenJa.isChecked(): message = QtGui.QMessageBox.critical(self, self.trUtf8("Error "), self.trUtf8("Please mark whether movie has been watched")) return if self.radioButtonGesehenNein.isChecked(): gesehen = " " else: gesehen = "x" try: original = str(self.lineEditNeuOriginal.text()).title().split() except: message = QtGui.QMessageBox.critical(self, self.trUtf8("Error "), self.trUtf8("Error: original title has invalid characters")) return # get rid of double spaces original = " ".join(original) if len(original) > 256: message = QtGui.QMessageBox.critical(self, self.trUtf8("Error "), self.trUtf8("Error, original title is longer than 256 characters.")) return if not self.radioButtonCoverJa.isChecked() and not self.radioButtonCoverNein.isChecked(): message = QtGui.QMessageBox.critical(self, self.trUtf8("Error "), self.trUtf8("Please check if image file is a cover")) return if self.radioButtonVorhandenJa.isChecked() and self.comboBoxDefinition.currentIndex() == 0 and not self.cover_austauschen: message = QtGui.QMessageBox.critical(self, self.trUtf8("Error "), self.trUtf8("Please select a resolution")) return if self.radioButtonVorhandenNein.isChecked() and self.comboBoxDefinition.currentIndex() != 0: message = QtGui.QMessageBox.critical(self, self.trUtf8("Error "), self.trUtf8("Video is not in stock: resolution deleted")) self.comboBoxDefinition.setCurrentIndex(0) zu_erfassen = [] if self.korrektur and not self.undo: darsteller_liste = self.darsteller.strip().split(", ") if not darsteller_liste[0]: darsteller_liste = [] for i in darsteller_liste: werte = [] werte.append(i) zu_erfassen.append(["UPDATE pordb_darsteller SET anzahl = anzahl - 1 WHERE darsteller = %s", werte]) if not self.radioButtonCoverJa.isChecked(): bilddatei_alt = os.path.join(self.verzeichnis_thumbs, "cd" + str(self.cd_alt), str(bild).rstrip()) if str(cd) != self.cd_alt: bilddatei_neu = os.path.join(self.verzeichnis_thumbs, "cd" + str(cd), str(bild).rstrip()) os.renames(bilddatei_alt, bilddatei_neu) else: if self.bilddatei != bilddatei_alt: bilddatei = QtGui.QImage(self.bilddatei).scaled(size, QtCore.Qt.KeepAspectRatio) if bilddatei.save(bilddatei_alt): os.remove(self.bilddatei) else: message = QtGui.QMessageBox.critical(self, self.trUtf8("Error "), self.trUtf8("Error saving image file")) return werte = [] werte.append(self.cd_alt) werte.append(bild) zu_erfassen.append(["DELETE FROM pordb_partner WHERE cd = %s AND bild = %s", werte]) werte = [] werte.append(titel) werte.append(", ".join(darsteller)) werte.append(cd) werte.append(bild) werte.append(gesehen) werte.append(original) zu_erfassen_zw = "UPDATE pordb_vid SET titel = %s, darsteller = %s, cd = %s, bild = %s, gesehen = %s, original = %s, csf = %s, csh = %s, cst = %s, csc = %s, csx = %s, cso = %s, csv = %s, csb = %s, csa = %s, css = %s, csk = %s, hd = %s, vorhanden = %s, remarks = %s, stars = %s WHERE cd = %s AND bild = %s" if self.spinBoxF.value() > 0: werte.append(self.spinBoxF.value()) self.spinBoxK.setValue(0) else: werte.append(0) if self.spinBoxH.value() > 0: werte.append(self.spinBoxH.value()) self.spinBoxK.setValue(0) else: werte.append(0) if self.spinBoxT.value() > 0: werte.append(self.spinBoxT.value()) self.spinBoxK.setValue(0) else: werte.append(0) if self.spinBoxC.value() > 0: werte.append(self.spinBoxC.value()) self.spinBoxK.setValue(0) else: werte.append(0) if self.spinBoxX.value() > 0: werte.append(self.spinBoxX.value()) self.spinBoxK.setValue(0) else: werte.append(0) if self.spinBoxO.value() > 0: werte.append(self.spinBoxO.value()) self.spinBoxK.setValue(0) else: werte.append(0) if self.spinBoxV.value() > 0: werte.append(self.spinBoxV.value()) self.spinBoxK.setValue(0) else: werte.append(0) if self.spinBoxB.value() > 0: werte.append(self.spinBoxB.value()) self.spinBoxK.setValue(0) else: werte.append(0) if self.spinBoxA.value() > 0: werte.append(self.spinBoxA.value()) self.spinBoxK.setValue(0) else: werte.append(0) if self.spinBoxS.value() > 0: werte.append(self.spinBoxS.value()) self.spinBoxK.setValue(0) else: werte.append(0) if self.spinBoxK.value() > 0: werte.append(self.spinBoxK.value()) else: werte.append(0) if self.comboBoxDefinition.currentIndex() == 0: werte.append(None) elif self.comboBoxDefinition.currentIndex() == 1: werte.append("0") elif self.comboBoxDefinition.currentIndex() == 2: werte.append("1") elif self.comboBoxDefinition.currentIndex() == 3: werte.append("2") elif self.comboBoxDefinition.currentIndex() == 4: werte.append("3") elif self.comboBoxDefinition.currentIndex() == 5: werte.append("9") werte.append(vorhanden) werte.append(self.plainTextEditRemarks.toPlainText()) werte.append(self.set_stars) werte.append(self.cd_alt) werte.append(bild) if self.radioButtonCoverJa.isChecked() and self.cover_austauschen: if os.path.exists(os.path.join(self.verzeichnis_thumbs, "cd" + str(self.cd_alt), bild.rstrip())): # Bild war Thumbnail im CD Verzeichnis -> dieses löschen und neues im Cover Verzeichnis anlegen os.remove(os.path.join(self.verzeichnis_thumbs, "cd" + str(self.cd_alt), bild.rstrip())) os.rename(self.bilddatei, os.path.join(self.verzeichnis_cover, self.bild.strip())) else: os.rename(self.bilddatei, os.path.join(self.verzeichnis_cover, self.bild.strip())) else: if self.radioButtonCoverJa.isChecked() and not original: message = QtGui.QMessageBox.critical(self, self.trUtf8("Error "), self.trUtf8("When adding a cover you must also enter a movie title")) return if self.undo: bilddatei = QtGui.QImage(os.path.join(self.verzeichnis_trash, bild)) else: if self.radioButtonCoverJa.isChecked(): bilddatei = QtGui.QImage(os.path.join(self.verzeichnis, bild)) else: bilddatei = QtGui.QImage(os.path.join(self.verzeichnis, bild)).scaled(size, QtCore.Qt.KeepAspectRatio) if self.radioButtonCoverJa.isChecked(): newfilename = os.path.join(self.verzeichnis_cover, bild) else: newfilename = os.path.join(self.verzeichnis_thumbs, "cd" +str(cd), bild) # hier klappt noch etwas nicht richtig mit den Partnern, wenn len>256 if len(bild) > 256 or os.path.exists(newfilename): neue_bilddatei = BilddateiUmbenennen(newfilename) if neue_bilddatei.exec_(): try: bild_alt = os.path.join(self.verzeichnis, bild) bild_neu = os.path.join(self.verzeichnis, neue_bilddatei.lineEditDateiname.text()) os.rename(bild_alt, bild_neu) newfilename = os.path.join(os.path.dirname(newfilename), neue_bilddatei.lineEditDateiname.text()) bild = neue_bilddatei.lineEditDateiname.text() titel = str(bild.split('.')[0]) except: message = QtGui.QMessageBox.critical(self, self.trUtf8("Error "), self.trUtf8("Error on renaming image file")) return else: return else: if not os.path.exists(os.path.dirname(newfilename)): os.mkdir(os.path.dirname(newfilename)) if bilddatei.save(newfilename): if not self.undo: os.remove(os.path.join(self.verzeichnis, str(bild))) else: message = QtGui.QMessageBox.critical(self, self.trUtf8("Error "), self.trUtf8("Error saving image file")) return werte = [] werte.append("pordb_vid_primkey_seq") zu_lesen = "SELECT nextval(%s)" self.lese_func = DBLesen(self, zu_lesen, werte) res = DBLesen.get_data(self.lese_func) werte = [] werte.append(titel) werte.append(", ".join(darsteller)) werte.append(cd) werte.append(bild) werte.append(gesehen) werte.append(original) werte.append("") werte.append(vorhanden) werte.append(res[0][0]) zu_erfassen_zw = "INSERT INTO pordb_vid VALUES (%s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s, %s)" if self.spinBoxF.value() > 0: cs = self.spinBoxF.value() else: cs = 0 werte.append(cs) if self.spinBoxH.value() > 0: cs = self.spinBoxH.value() else: cs = 0 werte.append(cs) if self.spinBoxT.value() > 0: cs = self.spinBoxT.value() else: cs = 0 werte.append(cs) if self.spinBoxC.value() > 0: cs = self.spinBoxC.value() else: cs = 0 werte.append(cs) if self.spinBoxX.value() > 0: cs = self.spinBoxX.value() else: cs = 0 werte.append(cs) if self.spinBoxO.value() > 0: cs = self.spinBoxO.value() else: cs = 0 werte.append(cs) if self.spinBoxV.value() > 0: cs = self.spinBoxV.value() else: cs = 0 werte.append(cs) if self.spinBoxB.value() > 0: cs = self.spinBoxB.value() else: cs = 0 werte.append(cs) if self.spinBoxA.value() > 0: cs = self.spinBoxA.value() else: cs = 0 werte.append(cs) if self.spinBoxS.value() > 0: cs = self.spinBoxS.value() else: cs = 0 werte.append(cs) if self.spinBoxK.value() > 0: cs = self.spinBoxK.value() else: cs = 0 werte.append(cs) if self.comboBoxDefinition.currentIndex() == 0: werte.append(None) elif self.comboBoxDefinition.currentIndex() == 1: werte.append("0") elif self.comboBoxDefinition.currentIndex() == 2: werte.append("1") elif self.comboBoxDefinition.currentIndex() == 3: werte.append("2") elif self.comboBoxDefinition.currentIndex() == 4: werte.append("3") elif self.comboBoxDefinition.currentIndex() == 5: werte.append("9") werte.append(self.plainTextEditRemarks.toPlainText()) werte.append(self.set_stars) zu_erfassen.append([zu_erfassen_zw, werte]) for i in darsteller: if i.lstrip() == "" or i.lstrip() == "?": continue werte = [] werte.append(i) zu_erfassen.append(["UPDATE pordb_darsteller SET anzahl = anzahl + 1 WHERE darsteller = %s", werte]) if i == "" or i == "?" or i == "(Uninteressant)" or i == "(Komplett)" or i == "(Schlechte Qualitaet)": continue zu_erfassen.append(["DELETE FROM pordb_darsteller100 WHERE darsteller = %s", werte]) zu_erfassen.append(["INSERT INTO pordb_darsteller100 (darsteller) VALUES (%s)", werte]) partner_zaehler = 0 if i.strip() != "(Uninteressant)" and i.strip() != "Defekt": zu_lesen = "SELECT sex FROM pordb_darsteller WHERE darsteller = %s" self.lese_func = DBLesen(self, zu_lesen, i) res = DBLesen.get_data(self.lese_func) geschlecht = res[0][0] for j in darsteller: if j.strip() != "(Uninteressant)" and j.strip() != "Defekt" and i != j: zu_lesen = "SELECT sex FROM pordb_darsteller WHERE darsteller = %s" self.lese_func = DBLesen(self, zu_lesen, j) res2 = DBLesen.get_data(self.lese_func) geschlecht2 = res2[0][0] if geschlecht != geschlecht2: werte = [] werte.append(i) werte.append(j) werte.append(cd) werte.append(bild) zu_erfassen.append(["INSERT INTO pordb_partner VALUES (%s, %s, %s, %s)", werte]) zu_lesen = "SELECT darsteller FROM pordb_partner WHERE darsteller = %s AND partner = %s" self.lese_func = DBLesen(self, zu_lesen, (i, j)) res3 = DBLesen.get_data(self.lese_func) if not res3: partner_zaehler += 1 if partner_zaehler > 0: werte = [] werte.append(partner_zaehler) werte.append(i) zu_erfassen.append(["UPDATE pordb_darsteller SET partner = partner + %s WHERE darsteller = %s", werte]) zu_lesen = "SELECT * FROM pordb_darsteller100" self.lese_func = DBLesen(self, zu_lesen) res1 = DBLesen.get_data(self.lese_func) anzahl_loeschen = len(res1) - 200 if anzahl_loeschen > 0: res1.sort() for zaehler in range(anzahl_loeschen): werte = [] werte.append(str(res1[zaehler][0])) zu_erfassen.append(["DELETE FROM pordb_darsteller100 WHERE nr = %s", werte]) if not self.korrektur: werte = [] werte.append(titel) werte.append(", ".join(darsteller)) werte.append(cd) werte.append(original) zu_erfassen.append(["UPDATE pordb_vid_neu SET titel = %s, darsteller = %s, cd = %s, original = %s", werte]) update_func = DBUpdate(self, zu_erfassen) DBUpdate.update_data(update_func) if self.original_weitere: zu_erfassen = [] if self.korrektur: zu_lesen = "SELECT primkey FROM pordb_vid WHERE cd = %s AND bild = %s" self.lese_func = DBLesen(self, zu_lesen, (str(self.cd_alt), str(bild))) curr_key = DBLesen.get_data(self.lese_func) werte = [] werte.append(str(curr_key[0][0])) zu_erfassen.append(["DELETE FROM pordb_original WHERE foreign_key_pordb_vid = %s", werte]) else: zu_lesen = "SELECT primkey FROM pordb_vid WHERE cd = %s AND bild = %s" self.lese_func = DBLesen(self, zu_lesen, (str(cd), bild)) curr_key = DBLesen.get_data(self.lese_func) for i in self.original_weitere: if i: if type(i) == str: werte = [] werte.append(i.title()) werte.append(str(curr_key[0][0])) zu_erfassen.append(["INSERT INTO pordb_original (original, foreign_key_pordb_vid) VALUES (%s, %s)", werte]) else: werte = [] werte.append(i.decode().title()) werte.append(str(curr_key[0][0])) zu_erfassen.append(["INSERT INTO pordb_original (original, foreign_key_pordb_vid) VALUES (%s, %s)", werte]) update_func = DBUpdate(self, zu_erfassen) DBUpdate.update_data(update_func) self.close() QtGui.QDialog.accept(self)
def accept(self): fehler = 1 actor_added = False actor_adding_asked = False while fehler: darsteller, fehler, fehler_index = self.darsteller_pruefen(unicode(self.lineEditNeuDarsteller.text()).title()) if fehler: if fehler == 1: zu_lesen = "select darsteller from pordb_pseudo where pseudo = '" +darsteller[fehler_index].title().replace("'", "''").strip() +"'" self.lese_func = DBLesen(self, zu_lesen) res = DBLesen.get_data(self.lese_func) if res: messageBox = QtGui.QMessageBox() messageBox.addButton(self.trUtf8("Yes"), QtGui.QMessageBox.AcceptRole) messageBox.addButton(self.trUtf8("No, correct entry"), QtGui.QMessageBox.RejectRole) messageBox.addButton(self.trUtf8("No, add new actor"), QtGui.QMessageBox.ActionRole) messageBox.setWindowTitle(darsteller[fehler_index] +self.trUtf8(" does not exist") +self.trUtf8(", but I have found ") +res[0][0].strip() +self.trUtf8(" as alias.")) messageBox.setIcon(QtGui.QMessageBox.Question) messageBox.setText(self.trUtf8("Do you want to take this actor instead?")) messageBox.setDetailedText(darsteller[fehler_index] +self.trUtf8(" does not exist") +self.trUtf8(", but I have found ") +res[0][0].strip() +self.trUtf8(" as alias. If you want to take this actor, click on yes, else change your entry or add a new actor to the database.")) message = messageBox.exec_() if message == 0: darsteller_alt = unicode(self.lineEditNeuDarsteller.text()).title().strip() darsteller_neu = darsteller_alt.replace(darsteller[fehler_index].strip(), unicode(res[0][0]).strip()) try: self.lineEditNeuDarsteller.setText(darsteller_neu) except: pass return elif message == 2: self.darsteller_addieren(darsteller, fehler_index) actor_added = True elif fehler == 2: message = QtGui.QMessageBox.critical(self, self.trUtf8("Error "), self.trUtf8("You have entered some actors twice, please correct")) return if actor_adding_asked: return if not actor_added: self.darsteller_addieren(darsteller, fehler_index) actor_adding_asked = True titel = self.lineEditNeuTitel.text() if darsteller: darsteller = self.darsteller_sortieren(darsteller) if self.checkBoxUninteressant.isChecked(): darsteller.append("(Uninteressant)") try: cd = int(self.lineEditNeuCD.text()) except: message = QtGui.QMessageBox.critical(self, self.trUtf8("Error "), self.trUtf8("CD is not a number")) return bild = self.lineEditNeuBild.text() if not self.radioButtonVorhandenJa.isChecked() and not self.radioButtonVorhandenNein.isChecked(): message = QtGui.QMessageBox.critical(self, self.trUtf8("Error "), self.trUtf8("Please mark whether movie is available")) return if self.radioButtonVorhandenJa.isChecked(): vorhanden = "x" else: vorhanden = "" if not self.radioButtonGesehenNein.isChecked() and not self.radioButtonGesehenJa.isChecked(): message = QtGui.QMessageBox.critical(self, self.trUtf8("Error "), self.trUtf8("Please mark whether movie has been watched")) return if self.radioButtonGesehenNein.isChecked(): gesehen = " " else: gesehen = "x" try: original = unicode(self.lineEditNeuOriginal.text()).replace("'", "''").title() except: message = QtGui.QMessageBox.critical(self, self.trUtf8("Error "), self.trUtf8("Error: original title has invalid characters")) return if len(original) > 256: message = QtGui.QMessageBox.critical(self, self.trUtf8("Error "), self.trUtf8("Error, original title is longer than 256 characters.")) return if not self.radioButtonCoverJa.isChecked() and not self.radioButtonCoverNein.isChecked(): message = QtGui.QMessageBox.critical(self, self.trUtf8("Error "), self.trUtf8("Please check if image file is a cover")) return if self.radioButtonVorhandenJa.isChecked() and self.comboBoxDefinition.currentIndex() == 0 and not self.cover_austauschen: message = QtGui.QMessageBox.critical(self, self.trUtf8("Error "), self.trUtf8("Please select a resolution")) return if self.radioButtonVorhandenNein.isChecked() and self.comboBoxDefinition.currentIndex() <> 0: message = QtGui.QMessageBox.critical(self, self.trUtf8("Error "), self.trUtf8("Video is not in stock: resolution is set to unknown")) self.comboBoxDefinition.setCurrentIndex(0) zu_erfassen = [] if self.korrektur and not self.undo: darsteller_liste = self.darsteller.strip().split(", ") if not darsteller_liste[0]: darsteller_liste = [] for i in darsteller_liste: zu_erfassen.append("UPDATE pordb_darsteller set anzahl = anzahl - 1 where darsteller = '" + i.replace("'", "''") + "'") if not self.radioButtonCoverJa.isChecked(): bilddatei_alt = self.verzeichnis_thumbs +os.sep +"cd" +str(self.cd_alt) +os.sep +unicode(bild).rstrip() if str(cd) != self.cd_alt: bilddatei_neu = self.verzeichnis_thumbs +os.sep +"cd" +str(cd) +os.sep +unicode(bild).rstrip() os.renames(bilddatei_alt, bilddatei_neu) else: if self.bilddatei != bilddatei_alt: bilddatei = QtGui.QImage(self.bilddatei).scaled(size, QtCore.Qt.KeepAspectRatio) if bilddatei.save(bilddatei_alt): os.remove(self.bilddatei) else: message = QtGui.QMessageBox.critical(self, self.trUtf8("Error "), self.trUtf8("Error saving image file")) return zu_erfassen.append("delete from pordb_partner where cd = " +str(cd) + " and bild = '" +bild.replace("'", "''") +"'") cs = "" zu_erfassen_zw = "UPDATE pordb_vid SET titel = '" +titel.replace("'", "''") +"', darsteller = '" +", ".join(darsteller).replace("'", "''") +"', cd = " +str(cd) +", bild = '" +bild +"', gesehen = '" +gesehen +"', original = '" +original if self.spinBoxF.value() > 0: cs = str(self.spinBoxF.value()) zu_erfassen_zw += "', csf = '" +cs self.spinBoxK.setValue(0) else: zu_erfassen_zw += "', csf = '" +"0" if self.spinBoxH.value() > 0: cs = str(self.spinBoxH.value()) zu_erfassen_zw += "', csh = '" +cs self.spinBoxK.setValue(0) else: zu_erfassen_zw += "', csh = '" +"0" if self.spinBoxT.value() > 0: cs = str(self.spinBoxT.value()) zu_erfassen_zw += "', cst = '" +cs self.spinBoxK.setValue(0) else: zu_erfassen_zw += "', cst = '" +"0" if self.spinBoxC.value() > 0: cs = str(self.spinBoxC.value()) zu_erfassen_zw += "', csc = '" +cs self.spinBoxK.setValue(0) else: zu_erfassen_zw += "', csc = '" +"0" if self.spinBoxX.value() > 0: cs = str(self.spinBoxX.value()) zu_erfassen_zw += "', csx = '" +cs self.spinBoxK.setValue(0) else: zu_erfassen_zw += "', csx = '" +"0" if self.spinBoxO.value() > 0: cs = str(self.spinBoxO.value()) zu_erfassen_zw += "', cso = '" +cs self.spinBoxK.setValue(0) else: zu_erfassen_zw += "', cso = '" +"0" if self.spinBoxV.value() > 0: cs = str(self.spinBoxV.value()) zu_erfassen_zw += "', csv = '" +cs self.spinBoxK.setValue(0) else: zu_erfassen_zw += "', csv = '" +"0" if self.spinBoxB.value() > 0: cs = str(self.spinBoxB.value()) zu_erfassen_zw += "', csb = '" +cs self.spinBoxK.setValue(0) else: zu_erfassen_zw += "', csb = '" +"0" if self.spinBoxA.value() > 0: cs = str(self.spinBoxA.value()) zu_erfassen_zw += "', csa = '" +cs self.spinBoxK.setValue(0) else: zu_erfassen_zw += "', csa = '" +"0" if self.spinBoxS.value() > 0: cs = str(self.spinBoxS.value()) zu_erfassen_zw += "', css = '" +cs self.spinBoxK.setValue(0) else: zu_erfassen_zw += "', css = '" +"0" if self.spinBoxK.value() > 0: cs = str(self.spinBoxK.value()) zu_erfassen_zw += "', csk = '" +cs else: zu_erfassen_zw += "', csk = '" +"0" if self.comboBoxDefinition.currentIndex() == 0: zu_erfassen_zw += "', hd = null" elif self.comboBoxDefinition.currentIndex() == 1: zu_erfassen_zw += "', hd = '0'" elif self.comboBoxDefinition.currentIndex() == 2: zu_erfassen_zw += "', hd = '1'" elif self.comboBoxDefinition.currentIndex() == 3: zu_erfassen_zw += "', hd = '2'" elif self.comboBoxDefinition.currentIndex() == 4: zu_erfassen_zw += "', hd = '9'" zu_erfassen_zw +=", vorhanden = '" +vorhanden +"'" +" where cd = " +str(self.cd_alt) + " and bild = '" +bild +"'" if self.radioButtonCoverJa.isChecked() and self.cover_austauschen: if os.path.exists(self.verzeichnis_thumbs +os.sep +"cd" +str(self.cd_alt) +os.sep +bild.rstrip()): # Bild war Thumbnail im CD Verzeichnis -> dieses löschen und neues im Cover Verzeichnis anlegen os.remove(self.verzeichnis_thumbs +os.sep +"cd" +str(self.cd_alt) +os.sep +bild.rstrip()) os.rename(self.bilddatei, self.verzeichnis_cover +os.sep +self.bild.strip()) else: os.rename(self.bilddatei, self.verzeichnis_cover +os.sep +self.bild.strip()) else: if self.radioButtonCoverJa.isChecked() and not original: message = QtGui.QMessageBox.critical(self, self.trUtf8("Error "), self.trUtf8("When adding a cover you must also enter a movie title")) return if self.undo: bilddatei = QtGui.QImage(self.verzeichnis_trash +os.sep +bild) else: if self.radioButtonCoverJa.isChecked(): bilddatei = QtGui.QImage(self.verzeichnis +os.sep +bild) else: bilddatei = QtGui.QImage(self.verzeichnis +os.sep +bild).scaled(size, QtCore.Qt.KeepAspectRatio) if self.radioButtonCoverJa.isChecked(): newfilename = unicode(self.verzeichnis_cover +os.sep +bild) else: newfilename = unicode(self.verzeichnis_thumbs +os.sep +"cd" +str(cd) +os.sep +bild) # hier klappt noch etwas nicht richtig mit den Partnern, wenn len>256 if len(bild) > 256 or os.path.exists(newfilename): neue_bilddatei = BilddateiUmbenennen(newfilename) if neue_bilddatei.exec_(): try: bild_alt = unicode(self.verzeichnis +os.sep +bild) bild_neu = unicode(self.verzeichnis +os.sep +neue_bilddatei.lineEditDateiname.text()) os.rename(bild_alt, bild_neu) newfilename = os.path.dirname(newfilename) +os.sep +neue_bilddatei.lineEditDateiname.text() bild = neue_bilddatei.lineEditDateiname.text() titel = unicode(bild.split('.')[0]) except: message = QtGui.QMessageBox.critical(self, self.trUtf8("Error "), self.trUtf8("Error on renaming image file")) return else: return else: if not os.path.exists(os.path.dirname(newfilename)): os.mkdir(os.path.dirname(newfilename)) if bilddatei.save(newfilename): if not self.undo: os.remove(self.verzeichnis +os.sep +unicode(bild)) else: message = QtGui.QMessageBox.critical(self, self.trUtf8("Error "), self.trUtf8("Error saving image file")) return cs = "" zu_erfassen_zw = unicode("INSERT into pordb_vid VALUES ('" +titel.replace("'", "''") +"', '" +", ".join(darsteller).replace("'", "''") +"', " +str(cd) +", '" +bild.replace("'", "''") +"', '" +gesehen +"', '" +original +"', ' " +"', '" +vorhanden +"', DEFAULT") if self.spinBoxF.value() > 0: cs = str(self.spinBoxF.value()) zu_erfassen_zw += ", " +cs else: zu_erfassen_zw += ", 0" if self.spinBoxH.value() > 0: cs = str(self.spinBoxH.value()) zu_erfassen_zw += ", " +cs else: zu_erfassen_zw += ", 0" if self.spinBoxT.value() > 0: cs = str(self.spinBoxT.value()) zu_erfassen_zw += ", " +cs else: zu_erfassen_zw += ", 0" if self.spinBoxC.value() > 0: cs = str(self.spinBoxC.value()) zu_erfassen_zw += ", " +cs else: zu_erfassen_zw += ", 0" if self.spinBoxX.value() > 0: cs = str(self.spinBoxX.value()) zu_erfassen_zw += ", " +cs else: zu_erfassen_zw += ", 0" if self.spinBoxO.value() > 0: cs = str(self.spinBoxO.value()) zu_erfassen_zw += ", " +cs else: zu_erfassen_zw += ", 0" if self.spinBoxV.value() > 0: cs = str(self.spinBoxV.value()) zu_erfassen_zw += ", " +cs else: zu_erfassen_zw += ", 0" if self.spinBoxB.value() > 0: cs = str(self.spinBoxB.value()) zu_erfassen_zw += ", " +cs else: zu_erfassen_zw += ", 0" if self.spinBoxA.value() > 0: cs = str(self.spinBoxA.value()) zu_erfassen_zw += ", " +cs else: zu_erfassen_zw += ", 0" if self.spinBoxS.value() > 0: cs = str(self.spinBoxS.value()) zu_erfassen_zw += ", " +cs else: zu_erfassen_zw += ", 0" if self.spinBoxK.value() > 0: cs = str(self.spinBoxK.value()) zu_erfassen_zw += ", " +cs else: zu_erfassen_zw += ", 0" if self.comboBoxDefinition.currentIndex() == 0: zu_erfassen_zw += ", null" elif self.comboBoxDefinition.currentIndex() == 1: zu_erfassen_zw += ", '0'" elif self.comboBoxDefinition.currentIndex() == 2: zu_erfassen_zw += ", '1'" elif self.comboBoxDefinition.currentIndex() == 3: zu_erfassen_zw += ", '2'" zu_erfassen_zw += ")" zu_erfassen.append(zu_erfassen_zw) for i in darsteller: if i.lstrip() == "" or i.lstrip() == "?": continue zu_erfassen.append("UPDATE pordb_darsteller set anzahl = anzahl + 1 where darsteller = '" + i.replace("'", "''") + "'") if i == "" or i == "?" or i == "(Uninteressant)" or i == "(Komplett)" or i == "(Schlechte Qualitaet)": continue zu_lesen = "SELECT * FROM pordb_darsteller100 where darsteller = '" + i.replace("'", "''") + "'" self.lese_func = DBLesen(self, zu_lesen) res1 = DBLesen.get_data(self.lese_func) if len(res1) != 0: zu_erfassen.append("delete from pordb_darsteller100 where nr = '" + str(res1[0][0]) +"'") zu_erfassen.append("INSERT into pordb_darsteller100 (darsteller) VALUES ('" +i.replace("'", "''") +"')") partner_zaehler = 0 if i.strip() != "(Uninteressant)" and i.strip() != "Defekt": zu_lesen = "select sex from pordb_darsteller where darsteller = '" +i.replace("'", "''") +"'" self.lese_func = DBLesen(self, zu_lesen) res = DBLesen.get_data(self.lese_func) geschlecht = res[0][0] for j in darsteller: if j.strip() != "(Uninteressant)" and j.strip() != "Defekt" and i != j: zu_lesen = "select sex from pordb_darsteller where darsteller = '" +j.replace("'", "''") +"'" self.lese_func = DBLesen(self, zu_lesen) res2 = DBLesen.get_data(self.lese_func) geschlecht2 = res2[0][0] if geschlecht != geschlecht2: zu_erfassen.append("insert into pordb_partner values ('" +i.replace("'", "''") +"', '" +j.replace("'", "''") +"', " +str(cd) +", '" +unicode(bild) +"')") zu_lesen = "select darsteller from pordb_partner where darsteller = '" +i.replace("'", "''") +"' and partner = '" +j.replace("'", "''") +"'" self.lese_func = DBLesen(self, zu_lesen) res3 = DBLesen.get_data(self.lese_func) if not res3: partner_zaehler += 1 if partner_zaehler > 0: zu_erfassen.append("UPDATE pordb_darsteller set partner = partner + " +str(partner_zaehler) +" where darsteller = '" + i.replace("'", "''") + "'") zu_lesen = "select * from pordb_darsteller100" self.lese_func = DBLesen(self, zu_lesen) res1 = DBLesen.get_data(self.lese_func) anzahl_loeschen = len(res1) - 200 if anzahl_loeschen > 0: res1.sort() for zaehler in range(anzahl_loeschen): zu_erfassen.append("delete from pordb_darsteller100 where nr = '" + str(res1[zaehler][0]) +"'") if not self.korrektur and original: zu_erfassen.append("UPDATE pordb_vid_neu SET titel = '" +titel.replace("'", "''") +"', darsteller = '" +", ".join(darsteller).replace("'", "''") +"', cd = " +str(cd) +", original = '" +original +"'") update_func = DBUpdate(self, zu_erfassen) DBUpdate.update_data(update_func) if self.original_weitere: zu_erfassen = [] if self.korrektur: zu_lesen = "select primkey from pordb_vid where cd = " +unicode(self.cd_alt) + " and bild = '" +unicode(bild) +"'" self.lese_func = DBLesen(self, zu_lesen) curr_key = DBLesen.get_data(self.lese_func) zu_erfassen.append("delete from pordb_original where foreign_key_pordb_vid = " +str(curr_key[0][0])) else: zu_lesen = "select primkey from pordb_vid where cd = " +str(cd) + " and bild = '" +bild +"'" self.lese_func = DBLesen(self, zu_lesen) curr_key = DBLesen.get_data(self.lese_func) for i in self.original_weitere: if i: zu_erfassen.append("insert into pordb_original (original, foreign_key_pordb_vid) values ('" +i.replace("'", "''").title() +"', " +str(curr_key[0][0]) +")") update_func = DBUpdate(self, zu_erfassen) DBUpdate.update_data(update_func) self.close() QtGui.QDialog.accept(self)