🔄 Válvulas
Válvulas
Válvulas e UserValves são usados para permitir que os usuários forneçam detalhes dinâmicos, como uma chave da API ou uma opção de configuração. Eles criarão um campo preenchível ou um botão bool no menu GUI para a função fornecida. Eles são sempre opcionais, mas altamente encorajados.
Portanto, as válvulas e a classe UserValves podem ser definidas em umPipe
, Assim,Pipeline
, Assim,Filter
ouTools
aula.
As válvulas são configuráveis apenas pelos administradores através dos menus de ferramentas ou funções. Por outro lado, o UserValves é configurável por qualquer usuário diretamente de uma sessão de bate -papo.
Exemplo comentou
dePydanticimportarBasemodel, Assim,Campo
dedigitandoimportarLiteral
# Defina e válvulas
aula Filtro
# Observe o recuo atual: válvulas e uservalves devem ser declarados como
# Atributos de uma classe de ferramentas, filtro ou tubo. Aqui pegamos o
# Exemplo de um filtro.
aula VálvulasBasemodel
# Válvulas e UserValves herdam do BasEmodel de Pydantic. Esse
# Permite casos de uso complexos, como validadores de modelos etc.
test_valve int Campo # Observe a dica do tipo: é usado para
# Escolha o tipo de elemento da interface do usuário para mostrar o usuário (botões,
# textos, etc).
padrão4, Assim,
descrição"Uma válvula controlando um valor numérico"
# requerir = false, # você pode aplicar campos usando true
# Para dar ao usuário a escolha entre várias strings, você pode usar literal de digitar:
Choice_OptionLiteral[["Choicea", Assim, "ChoiceB" Campo
padrão"Choicea", Assim,
descrição"Um exemplo de uma válvula de várias opções", Assim,
prioridade int Campo
padrão0, Assim,
descrição"Nível de prioridade para as operações de filtro. Os valores mais baixos são passados pela primeira vez"
# O campo de prioridade é opcional, mas se presente será usado para
# Encomende os filtros.
passar
# Observe que esse 'passe' ajuda a analisar e é recomendado.
# UserValves são definidos da mesma maneira.
aula UserValvesBasemodel
test_user_valve bool Campo
padrãoFalso, Assim,descrição"Uma válvula de usuário que controla um interruptor verdadeiro/falso (ligado/desligado)"
passar
def __init__auto
autoválvulasautoVálvulas
# Porque eles são definidos pelo administrador, eles são acessíveis diretamente
# Após a execução do código.
passar
# O método de entrada é usado apenas para filtro, mas o manuseio __user__ é o mesmo
def entradaauto, Assim,corpo dito, Assim,__usuário__ dito
# Porque os uservalves são definidos por usuário, eles estão disponíveis apenas
# em uso.
# Observe que, embora __user__ seja um ditado, __user __ ["válvulas"] é um
# Objeto UserValves. Portanto, você pode acessar valores como esse:
test_user_valve__usuário__[["Válvulas"test_user_valve
# Ou:
test_user_valve dito__usuário__[["Válvulas"[["test_user_valve"
# Mas isso retornará o valor padrão em vez do valor real:
# test_user_valve = __user __ ["válvulas"] ["test_user_valve"] # não faça isso!