Пример #1
0
    def getData(self):
        MULTIDATA = len(self.data) > 1
        OPERATION = self.cbox.currentIndex()

        for item in self.editList:
            if not item[2].isEnabled():
                item[2].setCheckState(Qt.Unchecked)
        for song in self.data:
            if self.editList[self.art][2].isChecked():
                song[MpMusic.ARTIST] = unicode(
                    self.editList[self.art][1].currentText())

            if self.editList[self.cmp][2].isChecked():
                print unicode(self.editList[self.cmp][1].currentText())
                print self.cmp, self.lng
                song[MpMusic.COMPOSER] = unicode(
                    self.editList[self.cmp][1].currentText())

            if self.editList[self.ttl][2].isChecked():
                song[MpMusic.TITLE] = unicode(
                    self.editList[self.ttl][1].currentText())

            if self.editList[self.abm][2].isChecked():
                song[MpMusic.ALBUM] = unicode(
                    self.editList[self.abm][1].currentText())

            if self.editList[self.gen][2].isChecked():
                song[MpMusic.GENRE] = unicode(
                    self.editList[self.gen][1].currentText())

            if self.editList[self.lng][2].isChecked():
                song[MpMusic.LANG] = unicode(
                    self.editList[self.lng][1].currentText())

            if self.editList[self.com][2].isChecked():
                song[MpMusic.COMMENT] = unicode(
                    self.editList[self.com][1].currentText())

            if self.editList[self.rte][2].isChecked():
                if MULTIDATA:
                    song[MpMusic.RATING] += self.editList[self.rte][1].value()
                else:
                    song[MpMusic.RATING] = self.editList[self.rte][1].value()

                if song[MpMusic.RATING] > MpMusic.MAX_RATING:
                    song[MpMusic.RATING] = MpMusic.MAX_RATING
                if song[MpMusic.RATING] < 0:
                    song[MpMusic.RATING] = 0

            if self.editList[self.pct][2].isChecked():
                if MULTIDATA:
                    song[MpMusic.PLAYCOUNT] += self.editList[
                        self.pct][1].value()
                else:
                    song[MpMusic.PLAYCOUNT] = self.editList[
                        self.pct][1].value()

                if song[MpMusic.PLAYCOUNT] < 0:
                    song[MpMusic.PLAYCOUNT] = 0

            if self.editList[self.sct][2].isChecked():
                if MULTIDATA:
                    song[MpMusic.SKIPCOUNT] += self.editList[
                        self.sct][1].value()
                else:
                    song[MpMusic.SKIPCOUNT] = self.editList[
                        self.sct][1].value()

                if song[MpMusic.SKIPCOUNT] < 0:
                    song[MpMusic.SKIPCOUNT] = 0

            if self.editList[self.frq][2].isChecked():
                if MULTIDATA:
                    song[MpMusic.FREQUENCY] += self.editList[
                        self.frq][1].value()
                else:
                    song[MpMusic.FREQUENCY] = self.editList[
                        self.frq][1].value()

                if song[MpMusic.FREQUENCY] < 0:
                    song[MpMusic.FREQUENCY] = 0

            if self.editList[self.ind][2].isChecked():
                song[MpMusic.SONGINDEX] = self.editList[self.ind][1].value()

            if self.editList[self.yer][2].isChecked():
                song[MpMusic.YEAR] = self.editList[self.yer][1].value()

            if self.editList[self.pth][2].isChecked():
                # auto strip any quotes around the path name
                s = unicode(self.editList[self.pth][1].text())
                if s[0] in "'\"" and s[0] == s[-1]:
                    s = s[1:-1]
                song[MpMusic.PATH] = s

            if self.editList[self.dte][2].isChecked():
                dt = DateTime.QDateTimeToFmt(
                    self.editList[self.dte][1].dateTime())

                song[MpMusic.DATESTAMP] = dt
                song[MpMusic.DATEVALUE] = DateTime().getEpochTime(dt)

            if self.editList[self.add][2].isChecked():
                dt = DateTime.QDateTimeToFmt(
                    self.editList[self.add][1].dateTime())
                song[MpMusic.DATEADDED] = DateTime().getEpochTime(dt)
                song[MpMusic.DATEADDEDS] = dt

            if OPERATION == 4:
                t = DateTime().getEpochTime(song[MpMusic.DATESTAMP])
                SECONDS_IN_DAY = 86400  #60*60*24
                t -= song[MpMusic.FREQUENCY] * SECONDS_IN_DAY
                song[MpMusic.DATESTAMP] = DateTime().formatDateTime(t)
                song[MpMusic.DATEVALUE] = t
                song[MpMusic.PLAYCOUNT] -= 1
                #song[MpMusic.FREQUENCY] = 0

            song.update()