コード例 #1
0
    def _GetRatingsLike(self):

        selection = self._ratings_like_service_keys.currentIndex()

        if selection != -1:

            service_key = QP.GetClientData(self._ratings_like_service_keys,
                                           selection)

            action = self._flip_or_set_action.GetValue()

            if self._ratings_like_like.isChecked():

                value = 1.0

            elif self._ratings_like_dislike.isChecked():

                value = 0.0

            else:

                value = None

            return ClientData.ApplicationCommand(
                CC.APPLICATION_COMMAND_TYPE_CONTENT,
                (service_key, HC.CONTENT_TYPE_RATINGS, action, value))

        else:

            raise HydrusExceptions.VetoException(
                'Please select a rating service!')
コード例 #2
0
    def EventSetExpires(self):

        expires = QP.GetClientData(self._set_expires,
                                   self._set_expires.currentIndex())

        if expires is not None:

            expires += HydrusData.GetNow()

        raise NotImplementedError()
コード例 #3
0
    def _SetActions(self):

        if self._ratings_like_service_keys.count() > 0:

            selection = self._ratings_like_service_keys.currentIndex()

            if selection != -1:

                service_key = QP.GetClientData(self._ratings_like_service_keys,
                                               selection)

                service = HG.client_controller.services_manager.GetService(
                    service_key)

                self._current_ratings_like_service = service

        if self._ratings_numerical_service_keys.count() > 0:

            selection = self._ratings_numerical_service_keys.currentIndex()

            if selection != -1:

                service_key = QP.GetClientData(
                    self._ratings_numerical_service_keys, selection)

                service = HG.client_controller.services_manager.GetService(
                    service_key)

                self._current_ratings_numerical_service = service

                num_stars = service.GetNumStars()

                allow_zero = service.AllowZero()

                if allow_zero:

                    minimum = 0

                else:

                    minimum = 1

                self._ratings_numerical_slider.SetRange(minimum, num_stars)
コード例 #4
0
    def _GetRatingsNumericalIncDec(self):

        selection = self._ratings_numerical_incdec_service_keys.currentIndex()

        if selection != -1:

            service_key = QP.GetClientData(
                self._ratings_numerical_incdec_service_keys, selection)

            action = self._ratings_numerical_incdec.GetValue()

            value = 1

            return ClientData.ApplicationCommand(
                CC.APPLICATION_COMMAND_TYPE_CONTENT,
                (service_key, HC.CONTENT_TYPE_RATINGS, action, value))

        else:

            raise HydrusExceptions.VetoException(
                'Please select a rating service!')
コード例 #5
0
    def _GetRatingsNumerical(self):

        selection = self._ratings_numerical_service_keys.currentIndex()

        if selection != -1:

            service_key = QP.GetClientData(
                self._ratings_numerical_service_keys, selection)

            action = self._flip_or_set_action.GetValue()

            if self._ratings_numerical_remove.isChecked():

                value = None

            else:

                value = self._ratings_numerical_slider.GetValue()

                num_stars = self._current_ratings_numerical_service.GetNumStars(
                )
                allow_zero = self._current_ratings_numerical_service.AllowZero(
                )

                if allow_zero:

                    value = value / num_stars

                else:

                    value = (value - 1) / (num_stars - 1)

            return ClientData.ApplicationCommand(
                CC.APPLICATION_COMMAND_TYPE_CONTENT,
                (service_key, HC.CONTENT_TYPE_RATINGS, action, value))

        else:

            raise HydrusExceptions.VetoException(
                'Please select a rating service!')
コード例 #6
0
    def _GetTag(self):

        selection = self._tag_service_keys.currentIndex()

        if selection != -1:

            service_key = QP.GetClientData(self._tag_service_keys, selection)

            action = self._flip_or_set_action.GetValue()

            value = self._tag_value.text()

            if value == '':

                raise HydrusExceptions.VetoException('Please enter a tag!')

            return ClientData.ApplicationCommand(
                CC.APPLICATION_COMMAND_TYPE_CONTENT,
                (service_key, HC.CONTENT_TYPE_MAPPINGS, action, value))

        else:

            raise HydrusExceptions.VetoException(
                'Please select a tag service!')