extensões

sistema de plugin simples
Baixe Agora

extensões Classificação e resumo

Propaganda

  • Rating:
  • Licença:
  • Other/Proprietary Li...
  • Preço:
  • FREE
  • Nome do editor:
  • Tarek Ziade
  • Site do editor:
  • http://bitbucket.org/tarek/

extensões Tag


extensões Descrição

Sistema de plugin simples Extensões é um sistema simples de plugin inspirado nos pontos de entrada SetTupTools. Ele permite que um aplicativo defina e / ou use plugins.how para definir um plugin plugina pode ser qualquer objeto calável. Deve ser registrado através do Registro de Extensões. Por exemplo, vamos assumir uma função simples que calcula a média de alguns números, e vamos salvá-lo em um arquivo chamado extensões.py em um pacote chamado MyApp: Def Média (* Args): Soma de retorno (ARGS) / LEN (ARGS) Esta função pode ser registrada no sistema de plug-in usando a função de registro. Plugins têm um nome e pertencem a um grupo. Para o nosso exemplo, o grupo pode ser myapp.operator e a média da média: de extensões de registro de importação # uso: registrar (grupo, nome, localização) Registre ('myapp.operator', 'média', 'myapp.extensions: média' ) O terceiro parâmetro fornece a localização do chamado, com o formulário module_name: attrs, onde module_name é o nome completo do módulo e atinge os atributos no módulo.Notice que o nome do grupo inclui o nome do pacote, que é Uma boa prática para evitar colisões, uma vez que os nomes de grupos são globais para todos os aplicativos que usam extensões.Using uma configuração, a outra maneira de registrar seus plugins usando um arquivo de configuração. Você pode escrever um arquivo ini, usando grupos para título de seções, e nome = local para os valores.Para exemplo, se você criar um arquivo operador.cfg com este conteúdo: média = myapp.extensions: Médio Será capaz de carregá-lo usando Register_File: de extensões Import Register_fileregister_file ('operadores.cfg') Essa função irá digitalizar o seu arquivo e registrar os plugins para você. Como usar um pluginiterate sobre pluginStensions registrados fornece uma função de obtenção que lhe permita Sobre todos os plugins registrados para um determinado grupo: de extensões importação getfor plugin in get (grupo = 'myapp.operator'): Imprimir plugin.nameYou também pode dar o nome à função: para plugin em get (grupo = 'myapp.operator ', Nome =' Média '): Imprimir plugin.nameor mesmo iterar em todos os plugins: de ITERTEOLS Import ISLICEFOR Plugin em Islice (Get (Get (Get (Get): Plugin Imprimir Plugin.Nameethe ObjectThe ObjectThe OBJECTADES Pela função GET são as instâncias de classe de plugin A classe Plugin fornece um método chamado lo AD, que retorna o objeto registrado, para que você possa usá-lo # Vamos obter o plugin 'média' do grupo `myapp.operator`plugin = get (grupo = 'myapp.operator', nome = 'média'). ) # Vamos carregar Itfunc = plugin.load () # vamos usá-lo NowAverage = Func (1, 2, 3) O plug-in também fornece um nome e um atributo de grupo, que corresponde ao nome do plug-in registrado e ao seu grupo. Distribuir seu pluginsif Você deseja distribuir seus plugins, você só precisa importar o módulo que registra os plugins no seu arquivo setup.py: de distutils.core Import SetupFrom MyApp Import Plugins # Registra o pluginsetup (nome = 'myapp', versão = Pacotes '1.0' = ) Isso registrará os plugins quando o pacote é instalado criando um arquivo especial chamado plugins no diretório .egg-info criado quando o seu pacote está instalado. Patibility com SetTupTools Pontos de entrada são totalmente compatíveis com pontos de entrada setuptools. Assim, você pode usar pontos de entrada definidos em aplicativos de terceiros que estão instalados em seu python.if você deseja iterar através de setuptools pontos de entrada, usar a opção Consumo_entry_points quando você chamar a função GET: plugins = get (consumo_entry_points = true) Isso irá iterar plugins de extensões e pontos de entrada de setuptools. Requisitos: · Pitão


extensões Software Relacionado