estensioni

Sistema semplice plugin
Scarica ora

estensioni Classifica e riepilogo

Annuncio pubblicitario

  • Rating:
  • Licenza:
  • Other/Proprietary Li...
  • Prezzo:
  • FREE
  • Nome editore:
  • Tarek Ziade
  • Sito web dell'editore:
  • http://bitbucket.org/tarek/

estensioni Tag


estensioni Descrizione

Sistema semplice plug-in. Estensioni è un semplice sistema di plugin ispirato ai punti di ingresso di SetuPools. Permette ad un'applicazione di definire e / o utilizzare plugins.Come definire un plugin Plugina può essere un oggetto chiaramente. Deve essere registrato attraverso il registro di estensioni. Per esempio, prendiamo una funzione semplice che calcola la media di alcuni numeri e lo salviamo in un file chiamato Extensions.py in un pacchetto chiamato MyApp: Def Media (* ARGS): RETURN SUM (ARGS) / LEN (ARGS) Questa funzione può essere registrata nel sistema Plugin utilizzando la funzione di registrazione. I plugin hanno un nome e appartengono a un gruppo. Per il nostro esempio, il Gruppo può essere MyApp.Ofator e il nome della media: dalle estensioni del registro di importazione # Utilizzo: Registrati (gruppo, nome, posizione) Registrati ('myApp.Operator', 'Average', 'myApp.EXTISIONS: Media' ) Il terzo parametro fornisce la posizione del Calleble, con il modulo Module_Name: ATS, in cui Module_Name è il nome completo del modulo e attrice gli attributi nel modulo.Notice che il nome del gruppo include il nome del pacchetto, che è Una buona pratica per evitare collisioni poiché i nomi dei gruppi sono globali a tutte le applicazioni che utilizzano estensioni. Usando un altro modo di configurazione di file per registrare i plugin utilizzando un file di configurazione. È possibile scrivere un file in-simile, utilizzando i gruppi per il titolo delle sezioni e il nome = posizione per i valori. Esempio, se si crea un file operatore.cfg con questo contenuto: Media = MyApp.Extensions: MediaYou sarà in grado di caricarlo utilizzando Register_File: dalle estensioni Importa Register_FileRegister_File ('Operators.cfg') Questa funzione eseguirà la scansione del file e registrerà i plugin per te. Come utilizzare un pluginiterate su pluginsextensions registrato fornisce una funzione di ricezione Oltre a tutti i plugin registrati per un determinato gruppo: dalle estensioni import getfor plugin in GET (GROUP = 'myApp.Operator'): stampa plugin.nameyou può anche dare il nome alla funzione: per il plugin in Get (Group = 'MyApp.Operator ', nome =' medio '): stampa plugin.nameor persino itarere su tutti i plugin: da itertools import is islicefor plugin in Islice (Get (), 5): stampa plugin.Namethe Plugin ObjectLe oggetti restituiti dalla funzione Ottieni sono le istanze della classe Plug-in . La classe del plugin fornisce un metodo chiamato lo AD, che restituisce l'oggetto registrato, quindi puoi usarlo # Prendiamo il plugin `medio` del gruppo` myApp.Operator`plugin = Get (Group = "myApp.Operator", nome = 'Media'). Avanti ( ) # Let's Load itfunc = plugin.load () # Laggi it It NowAverage = Func (1, 2, 3) Plugin fornisce anche un nome e un attributo Group, che corrisponde al nome del plugin registrato e al proprio gruppo. Distribuisci il tuo pluginsa che desideri distribuire i plugin, devi solo importare il modulo che registra i plugin nel file di setup.py: da distils.core Import Setupfrom MyApp Import Plugins # registri il pluginsetup (nome = "myApp", versione = "myApp" Pacchetti '1.0' = ) Questo registrerà i plug-in quando il pacchetto è installato creando un file speciale denominato Plugin nella directory .egg-info creata quando il pacco è installato.Compatibilità con SETUPTOOLS TOZZI TOZZISSESSEXSENSIONS è pienamente compatibile con punti di ingresso setuptools. Pertanto, è possibile isolare e utilizzare i punti di ingresso definiti in applicazioni di terze parti installate nel tuo Python.Se si desidera iterare attraverso i punti di immissione di SetupTools, utilizzare l'opzione Consume_entry_Points quando si chiama la funzione Ottieni: Plugins = Get (consume_entry_points = true) Ciò ipererà i plug-in di estensioni e i punti di ingresso delle setuptools. Requisiti: · Python.


estensioni Software correlato

pytnef.

correzioni di bug \ miglioramenti per tneflib.py da Pytnef 0.2 ...

146

Scarica