Python twisted.plugin.IPlugin() Examples
The following are 12
code examples of twisted.plugin.IPlugin().
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example.
You may also want to check out all available functions/classes of the module
twisted.plugin
, or try the search function
.
Example #1
Source File: test_plugin.py From BitTorrent with GNU General Public License v3.0 | 6 votes |
def _testCache(self): cache = plugin.getCache(plugins) dropin = cache['testplugin'] self.assertEquals(dropin.moduleName, 'twisted.plugins.testplugin') self.assertNotEquals(dropin.description.find("I'm a test drop-in."), -1) # Note, not the preferred way to get a plugin by its interface. p1 = [p for p in dropin.plugins if plugin.ITestPlugin in p.provided][0] self.assertIdentical(p1.dropin, dropin) self.assertEquals(p1.name, "TestPlugin") self.assertEquals( p1.description.strip(), "A plugin used solely for testing purposes.") self.assertEquals(p1.provided, [plugin.ITestPlugin, plugin.IPlugin]) realPlugin = p1.load() self.assertIdentical(realPlugin, sys.modules['twisted.plugins.testplugin'].TestPlugin) import twisted.plugins.testplugin as tp self.assertIdentical(realPlugin, tp.TestPlugin)
Example #2
Source File: test_plugin.py From Safejumper-for-Desktop with GNU General Public License v2.0 | 5 votes |
def test_cache(self): """ Check that the cache returned by L{plugin.getCache} hold the plugin B{testplugin}, and that this plugin has the properties we expect: provide L{TestPlugin}, has the good name and description, and can be loaded successfully. """ cache = plugin.getCache(self.module) dropin = cache[self.originalPlugin] self.assertEqual(dropin.moduleName, 'mypackage.%s' % (self.originalPlugin,)) self.assertIn("I'm a test drop-in.", dropin.description) # Note, not the preferred way to get a plugin by its interface. p1 = [p for p in dropin.plugins if ITestPlugin in p.provided][0] self.assertIs(p1.dropin, dropin) self.assertEqual(p1.name, "TestPlugin") # Check the content of the description comes from the plugin module # docstring self.assertEqual( p1.description.strip(), "A plugin used solely for testing purposes.") self.assertEqual(p1.provided, [ITestPlugin, plugin.IPlugin]) realPlugin = p1.load() # The plugin should match the class present in sys.modules self.assertIs( realPlugin, sys.modules['mypackage.%s' % (self.originalPlugin,)].TestPlugin) # And it should also match if we import it classicly import mypackage.testplugin as tp self.assertIs(realPlugin, tp.TestPlugin)
Example #3
Source File: test_plugin.py From Safejumper-for-Desktop with GNU General Public License v2.0 | 5 votes |
def test_cacheRepr(self): """ L{CachedPlugin} has a helpful C{repr} which contains relevant information about it. """ cachedDropin = plugin.getCache(self.module)[self.originalPlugin] cachedPlugin = list(p for p in cachedDropin.plugins if p.name == 'TestPlugin')[0] self.assertEqual( repr(cachedPlugin), "<CachedPlugin 'TestPlugin'/'mypackage.testplugin' " "(provides 'ITestPlugin, IPlugin')>" )
Example #4
Source File: test_plugin.py From Safejumper-for-Desktop with GNU General Public License v2.0 | 5 votes |
def pluginFileContents(name): return ( "from zope.interface import provider\n" "from twisted.plugin import IPlugin\n" "from twisted.test.test_plugin import ITestPlugin\n" "\n" "@provider(IPlugin, ITestPlugin)\n" "class {0}(object):\n" " pass\n" ).format(name).encode('ascii')
Example #5
Source File: test_plugin.py From learn_python3_spider with MIT License | 5 votes |
def test_cache(self): """ Check that the cache returned by L{plugin.getCache} hold the plugin B{testplugin}, and that this plugin has the properties we expect: provide L{TestPlugin}, has the good name and description, and can be loaded successfully. """ cache = plugin.getCache(self.module) dropin = cache[self.originalPlugin] self.assertEqual(dropin.moduleName, 'mypackage.%s' % (self.originalPlugin,)) self.assertIn("I'm a test drop-in.", dropin.description) # Note, not the preferred way to get a plugin by its interface. p1 = [p for p in dropin.plugins if ITestPlugin in p.provided][0] self.assertIs(p1.dropin, dropin) self.assertEqual(p1.name, "TestPlugin") # Check the content of the description comes from the plugin module # docstring self.assertEqual( p1.description.strip(), "A plugin used solely for testing purposes.") self.assertEqual(p1.provided, [ITestPlugin, plugin.IPlugin]) realPlugin = p1.load() # The plugin should match the class present in sys.modules self.assertIs( realPlugin, sys.modules['mypackage.%s' % (self.originalPlugin,)].TestPlugin) # And it should also match if we import it classicly import mypackage.testplugin as tp self.assertIs(realPlugin, tp.TestPlugin)
Example #6
Source File: test_plugin.py From learn_python3_spider with MIT License | 5 votes |
def test_cacheRepr(self): """ L{CachedPlugin} has a helpful C{repr} which contains relevant information about it. """ cachedDropin = plugin.getCache(self.module)[self.originalPlugin] cachedPlugin = list(p for p in cachedDropin.plugins if p.name == 'TestPlugin')[0] self.assertEqual( repr(cachedPlugin), "<CachedPlugin 'TestPlugin'/'mypackage.testplugin' " "(provides 'ITestPlugin, IPlugin')>" )
Example #7
Source File: test_plugin.py From learn_python3_spider with MIT License | 5 votes |
def pluginFileContents(name): return ( "from zope.interface import provider\n" "from twisted.plugin import IPlugin\n" "from twisted.test.test_plugin import ITestPlugin\n" "\n" "@provider(IPlugin, ITestPlugin)\n" "class {0}(object):\n" " pass\n" ).format(name).encode('ascii')
Example #8
Source File: test_plugin.py From python-for-android with Apache License 2.0 | 5 votes |
def test_cache(self): """ Check that the cache returned by L{plugin.getCache} hold the plugin B{testplugin}, and that this plugin has the properties we expect: provide L{TestPlugin}, has the good name and description, and can be loaded successfully. """ cache = plugin.getCache(self.module) dropin = cache[self.originalPlugin] self.assertEquals(dropin.moduleName, 'mypackage.%s' % (self.originalPlugin,)) self.assertIn("I'm a test drop-in.", dropin.description) # Note, not the preferred way to get a plugin by its interface. p1 = [p for p in dropin.plugins if ITestPlugin in p.provided][0] self.assertIdentical(p1.dropin, dropin) self.assertEquals(p1.name, "TestPlugin") # Check the content of the description comes from the plugin module # docstring self.assertEquals( p1.description.strip(), "A plugin used solely for testing purposes.") self.assertEquals(p1.provided, [ITestPlugin, plugin.IPlugin]) realPlugin = p1.load() # The plugin should match the class present in sys.modules self.assertIdentical( realPlugin, sys.modules['mypackage.%s' % (self.originalPlugin,)].TestPlugin) # And it should also match if we import it classicly import mypackage.testplugin as tp self.assertIdentical(realPlugin, tp.TestPlugin)
Example #9
Source File: test_plugin.py From python-for-android with Apache License 2.0 | 5 votes |
def pluginFileContents(name): return ( "from zope.interface import classProvides\n" "from twisted.plugin import IPlugin\n" "from twisted.test.test_plugin import ITestPlugin\n" "\n" "class %s(object):\n" " classProvides(IPlugin, ITestPlugin)\n") % (name,)
Example #10
Source File: axiomatic.py From axiom with MIT License | 5 votes |
def __new__(cls, name, bases, attrs): newcls = type.__new__(cls, name, bases, attrs) alsoProvides(newcls, IPlugin, IAxiomaticCommand) return newcls
Example #11
Source File: hpedockerplugin_plugin.py From python-hpedockerplugin with Apache License 2.0 | 5 votes |
def makeService(self, options): """ Construct a TCPServer from a factory defined in myproject. """ return HpeFactory(options["cfg"]).start_service() # Now construct an object which *provides* the relevant interfaces # The name of this variable is irrelevant, as long as there is *some* # name bound to a provider of IPlugin and IServiceMakera
Example #12
Source File: downloadbundle.py From carml with The Unlicense | 4 votes |
def verify_signature(fname, system_gpg=False): verify_command = ['gpg', '--quiet'] td = None status = False # pessimism! try: if not system_gpg: # create temporary homedir td = tempfile.mkdtemp() verify_command.extend(['--homedir', td]) # add Tor project-people keys to it (the ones who # sign releases, anyway) keys = [] keys_path = os.path.join(td, 'keys') os.mkdir(keys_path) for k in pkg_resources.resource_listdir('carml', 'keys'): if k.endswith('.asc'): keys.append(pkg_resources.resource_filename('carml', os.path.join('keys', k))) if len(keys) == 0: raise RuntimeError('Internal error: failed to find shipped keys.') try: if subprocess.check_call(['gpg', '--quiet', '--homedir', td, '--import'] + keys): raise RuntimeError("Key import failed.") except IOError: raise RuntimeError("GPG verification failed; is GnuPG installed?") verify_command.extend(['--verify', fname]) try: subprocess.check_call(verify_command) status = True except subprocess.CalledProcessError: print(util.colors.bold(util.colors.red("Signature verification failed."))) status = False finally: if td: shutil.rmtree(td) return status # the IPlugin/getPlugin stuff from Twisted picks up any object from # here than implements ICarmlCommand -- so we need to instantiate one