mò ¢zZEc@s—dZdklZlZlZdklZlZdkl Z defd„ƒYZ de fd„ƒYZ de fd „ƒYZd „Zd „Zd S( sT Plugin-based system for enumerating available reactors and installing one of them. (s Interfaces Attributes implements(sIPlugins getPlugins(snamedAnytIReactorInstallercBs/tZdZedƒZedƒZd„ZRS(sB Definition of a reactor which can probably be installed. sE A brief string giving the user-facing name of this reactor. sK A longer string giving a user-facing description of this reactor. cCsdS(s' Install this reactor. N((((tt/home/radix/Projects/Twisted/branches/releases/twisted-core-2.5.x-2329-2/Twisted.exp/twisted/application/reactors.pytinstalls(t__name__t __module__t__doc__t Attributet shortNamet descriptionR(((RRs   t NoSuchReactorcBstZdZRS(sT Raised when an attempt is made to install a reactor which cannot be found. (RRR(((RR &s tReactorcBs-tZdZeeeƒd„Zd„ZRS(s| @ivar moduleName: The fully-qualified Python name of the module of which the install callable is an attribute. cCs||_||_||_dS(N(Rtselft moduleNameR(R RR R((Rt__init__5s  cCst|iƒiƒdS(N(tnamedAnyR R R(R ((RR;s(RRRt implementstIPluginRR R(((RR -s   cCs ttƒS(s= Return an iterator of L{IReactorInstaller} plugins. N(t getPluginsR(((RtgetReactorTypes@scCsFx3tƒD](}|i|jo|iƒdSq q Wt|ƒ‚dS(s” Install the reactor with the given C{shortName} attribute. @raise NoSuchReactor: If no reactor is found with a matching C{shortName}. N(Rt installerRRR (RR((RtinstallReactorHs   N(Rtzope.interfacet InterfaceRRttwisted.pluginRRttwisted.python.reflectRRtKeyErrorR tobjectR RR( RR RRRR RRRRR((Rt?s