collective.monkeypatcher

Ondersteuning voor het laat toepassen van Monkey-patches in de startcyclus met behulp van ZCML-configuratie-acties
Download nu

collective.monkeypatcher Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • BSD License
  • Naam uitgever:
  • Martin Aspeli

collective.monkeypatcher Tags


collective.monkeypatcher Beschrijving

Ondersteuning voor het aanbrengen van apenpatches laat in de startcyclus met behulp van ZCML-configuratie-acties Soms is een Monkey-patch een noodzakelijk kwaadaardig. Het collectief. Monkeypatcher-pakket maakt het gemakkelijker om een apenpleister toe te passen tijdens het opstarten van Zope. Het gebruikt de ZCML-configuratiemachines om ervoor te zorgen dat patches "laat" in de opstartcyclus worden geladen, zodat de originele code tijd heeft gehad om volledig geīnitialiseerd en geconfigureerd te worden. Dit is vergelijkbaar met het gebruik van de methode van de initialisatie () in een product __init__.py, behalve dat het niet vereist dat het pakket een volgeblazen zope 2-product is met een persistent besturing_panel-invoer. Applying a Monkey Patchere's een voorbeeld: In dit voorbeeld hebben we PLONE's Catalogtool's SearchResults () -functie van Plone (), vervangen door onze eigen versie in catalogus.py. Om een functie Module Level te patchen, kunt u module gebruiken in plaats van de les. De oorspronkelijke klasse- en functie- / methode-naam en het vervangende symbool worden gecontroleerd om ervoor te zorgen dat ze daadwerkelijk bestaan. Als het patchen te snel (of te laat) gebeurt, gebruikt u het orderattribuut om een hoger (later) of lager (eerder) nummer te specificeren . De standaardinstelling is 1000.By standaard, DocfindaB en andere TTW API-browsers zullen de Monkey Patched-methoden / -functies benadrukken, die de DOCSTRING met "Monkey Patched With 'My MonkePatched.function' heeft toegevoegd '. Als u dit niet wilt, kunt u het DocStringWarning-attribuut instellen op false.Als u meer wilt doen dan alleen de enjuist één functie vervangen door een ander, kunt u uw eigen patcherfunctie via het handlerattribuut verstrekken. Dit moet een vulbaar zijn zoals: def sollicitatie_patch (scope, origineel, vervanging): ... hier is scope de klasse / module die is opgegeven. Original is de tekenreeksnaam van de functie om te vervangen en vervanging is de vervangingsfunctie.full-lijst met opties: * Klasse De klasse die is gepatcht * Module De module die is gepatcht * Handler Een functie om de patching uit te voeren. Moet drie parameters innemen: Klasse / Module, Original (String) en Vervanging * Originele methode of functie om * vervangende methode te vervangen om te worden vervangen om te vervangen door * PreservedOc Preserve DocStrings? * Preserveoriginal behoudt de originele functie, zodat het bereikbaar view prefix _old_ is. Alleen werkt voor standaardhandler * Voorwaarden voorwaarden (meervoudig, gescheiden door de ruimte) om te worden verateld voordat deze patch wordt toegepast. Voorbeeld: producten.linguaplone- = 1.4.3 of producten.textIngExng3 + = 3.3.0 * IGNOREORIGINAL NEGOREN Als de orginige functie niet aanwezig is op de klas / module die is gepatched * DOCSTRINGWARNING VDAP MAP PATCH WAARSCHUWING IN DOCKRING * Beschrijving Sommige opmerkingen over uw Monkey Patch * Besteluitvoering OrderHandling Monkey Patches EventsAplying A Monkey Patch Brandt een evenement. Zie de interfaces.py-module. Als u omgaan met een dergelijk evenement, voeg deze ZCML-bos toe: ... ... en voeg een dergelijke python toe: Def MyHandler (evenement): "" "Zie collective.monkeypatcher.interfaces.imonkeypatchevent" "" ... Vereisten: ˇ Python Wat is er nieuw in deze release: ˇ Downgrade Standaard logbericht naar debug-niveau.


collective.monkeypatcher Gerelateerde software