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!')
def EventSetExpires(self): expires = QP.GetClientData(self._set_expires, self._set_expires.currentIndex()) if expires is not None: expires += HydrusData.GetNow() raise NotImplementedError()
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)
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!')
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!')
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!')