Python twisted.application.service.IService() Examples
The following are 30
code examples of twisted.application.service.IService().
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.application.service
, or try the search function
.
Example #1
Source File: test_application.py From Safejumper-for-Desktop with GNU General Public License v2.0 | 6 votes |
def test_everythingThere(self): """ L{twisted.application.internet} dynamically defines a set of L{service.Service} subclasses that in general have corresponding reactor.listenXXX or reactor.connectXXX calls. """ trans = 'TCP UNIX SSL UDP UNIXDatagram Multicast'.split() for tran in trans[:]: if not getattr(interfaces, "IReactor" + tran)(reactor, None): trans.remove(tran) for tran in trans: for side in 'Server Client'.split(): if tran == "Multicast" and side == "Client": continue if tran == "UDP" and side == "Client": continue self.assertTrue(hasattr(internet, tran + side)) method = getattr(internet, tran + side).method prefix = {'Server': 'listen', 'Client': 'connect'}[side] self.assertTrue(hasattr(reactor, prefix + method) or (prefix == "connect" and method == "UDP")) o = getattr(internet, tran + side)() self.assertEqual(service.IService(o), o)
Example #2
Source File: test_application.py From learn_python3_spider with MIT License | 6 votes |
def testLoadApplication(self): """ Test loading an application file in different dump format. """ a = service.Application("hello") baseconfig = {'file': None, 'source': None, 'python':None} for style in 'source pickle'.split(): config = baseconfig.copy() config[{'pickle': 'file'}.get(style, style)] = 'helloapplication' sob.IPersistable(a).setStyle(style) sob.IPersistable(a).save(filename='helloapplication') a1 = app.getApplication(config, None) self.assertEqual(service.IService(a1).name, "hello") config = baseconfig.copy() config['python'] = 'helloapplication' with open("helloapplication", 'w') as f: f.writelines([ "from twisted.application import service\n", "application = service.Application('hello')\n", ]) a1 = app.getApplication(config, None) self.assertEqual(service.IService(a1).name, "hello")
Example #3
Source File: test_application.py From BitTorrent with GNU General Public License v3.0 | 6 votes |
def testLoadApplication(self): a = service.Application("hello") baseconfig = {'file': None, 'xml': None, 'source': None, 'python':None} for style in 'source xml pickle'.split(): if style == 'xml' and not gotMicrodom: continue config = baseconfig.copy() config[{'pickle': 'file'}.get(style, style)] = 'helloapplication' sob.IPersistable(a).setStyle(style) sob.IPersistable(a).save(filename='helloapplication') a1 = app.getApplication(config, None) self.assertEqual(service.IService(a1).name, "hello") config = baseconfig.copy() config['python'] = 'helloapplication' open("helloapplication", 'w').writelines([ "from twisted.application import service\n", "application = service.Application('hello')\n", ]) a1 = app.getApplication(config, None) self.assertEqual(service.IService(a1).name, "hello")
Example #4
Source File: test_application.py From learn_python3_spider with MIT License | 6 votes |
def test_everythingThere(self): """ L{twisted.application.internet} dynamically defines a set of L{service.Service} subclasses that in general have corresponding reactor.listenXXX or reactor.connectXXX calls. """ trans = 'TCP UNIX SSL UDP UNIXDatagram Multicast'.split() for tran in trans[:]: if not getattr(interfaces, "IReactor" + tran)(reactor, None): trans.remove(tran) for tran in trans: for side in 'Server Client'.split(): if tran == "Multicast" and side == "Client": continue if tran == "UDP" and side == "Client": continue self.assertTrue(hasattr(internet, tran + side)) method = getattr(internet, tran + side).method prefix = {'Server': 'listen', 'Client': 'connect'}[side] self.assertTrue(hasattr(reactor, prefix + method) or (prefix == "connect" and method == "UDP")) o = getattr(internet, tran + side)() self.assertEqual(service.IService(o), o)
Example #5
Source File: test_application.py From BitTorrent with GNU General Public License v3.0 | 6 votes |
def testSimpleInternet(self): # XXX - replace this test with one that does the same thing, but # with no web dependencies. if not gotMicrodom: raise unittest.SkipTest("Need twisted.web to run this test.") s = "(dp0\nS'udpConnectors'\np1\n(lp2\nsS'unixConnectors'\np3\n(lp4\nsS'twisted.internet.app.Application.persistenceVersion'\np5\nI12\nsS'name'\np6\nS'web'\np7\nsS'sslConnectors'\np8\n(lp9\nsS'sslPorts'\np10\n(lp11\nsS'tcpPorts'\np12\n(lp13\n(I8080\n(itwisted.web.server\nSite\np14\n(dp16\nS'resource'\np17\n(itwisted.web.demo\nTest\np18\n(dp19\nS'files'\np20\n(lp21\nsS'paths'\np22\n(dp23\nsS'tmpl'\np24\n(lp25\nS'\\n Congratulations, twisted.web appears to work!\\n <ul>\\n <li>Funky Form:\\n '\np26\naS'self.funkyForm()'\np27\naS'\\n <li>Exception Handling:\\n '\np28\naS'self.raiseHell()'\np29\naS'\\n </ul>\\n '\np30\nasS'widgets'\np31\n(dp32\nsS'variables'\np33\n(dp34\nsS'modules'\np35\n(lp36\nsS'children'\np37\n(dp38\nsbsS'logPath'\np39\nNsS'timeOut'\np40\nI43200\nsS'sessions'\np41\n(dp42\nsbI5\nS''\np43\ntp44\nasS'unixPorts'\np45\n(lp46\nsS'services'\np47\n(dp48\nsS'gid'\np49\nI1000\nsS'tcpConnectors'\np50\n(lp51\nsS'extraConnectors'\np52\n(lp53\nsS'udpPorts'\np54\n(lp55\nsS'extraPorts'\np56\n(lp57\nsS'persistStyle'\np58\nS'pickle'\np59\nsS'uid'\np60\nI1000\ns." d = pickle.loads(s) a = Dummy() a.__dict__ = d appl = compat.convert(a) self.assertEqual(service.IProcess(appl).uid, 1000) self.assertEqual(service.IProcess(appl).gid, 1000) self.assertEqual(service.IService(appl).name, "web") services = list(service.IServiceCollection(appl)) self.assertEqual(len(services), 1) s = services[0] self.assertEqual(s.parent, service.IServiceCollection(appl)) self.assert_(s.privileged) self.assert_(isinstance(s, internet.TCPServer)) args = s.args self.assertEqual(args[0], 8080) self.assertEqual(args[3], '')
Example #6
Source File: test_application.py From BitTorrent with GNU General Public License v3.0 | 6 votes |
def testEverythingThere(self): trans = 'TCP UNIX SSL UDP UNIXDatagram Multicast'.split() for tran in trans[:]: if not getattr(interfaces, "IReactor"+tran)(reactor, None): trans.remove(tran) if interfaces.IReactorArbitrary(reactor, None) is not None: trans.insert(0, "Generic") for tran in trans: for side in 'Server Client'.split(): if tran == "Multicast" and side == "Client": continue self.assert_(hasattr(internet, tran+side)) method = getattr(internet, tran+side).method prefix = {'Server': 'listen', 'Client': 'connect'}[side] self.assert_(hasattr(reactor, prefix+method) or (prefix == "connect" and method == "UDP")) o = getattr(internet, tran+side)() self.assertEqual(service.IService(o), o)
Example #7
Source File: test_twistd.py From Safejumper-for-Desktop with GNU General Public License v2.0 | 6 votes |
def test_applicationRunnerGetsCorrectApplication(self): """ Ensure that a twistd plugin gets used in appropriate ways: it is passed its Options instance, and the service it returns is added to the application. """ arunner = CrippledApplicationRunner(self.config) arunner.run() self.assertIs( self.serviceMaker.options, self.config.subOptions, "ServiceMaker.makeService needs to be passed the correct " "sub Command object.") self.assertIs( self.serviceMaker.service, service.IService(arunner.application).services[0], "ServiceMaker.makeService's result needs to be set as a child " "of the Application.")
Example #8
Source File: _twistw.py From BitTorrent with GNU General Public License v3.0 | 6 votes |
def runApp(config): passphrase = app.getPassphrase(config['encrypted']) app.installReactor(config['reactor']) application = app.getApplication(config, passphrase) oldstdout = sys.stdout oldstderr = sys.stderr startLogging(config['logfile']) app.initialLog() os.chdir(config['rundir']) service.IService(application).privilegedStartService() app.startApplication(application, not config['no_save']) app.startApplication(internet.TimerService(0.1, lambda:None), 0) app.runReactorWithLogging(config, oldstdout, oldstderr) app.reportProfile(config['report-profile'], service.IProcess(application).processName) log.msg("Server Shut Down.")
Example #9
Source File: test_caldav.py From ccs-calendarserver with Apache License 2.0 | 6 votes |
def test_defaultService(self): """ Test the value of a Slave service in it's simplest configuration. """ service = CalDAVServiceMaker().makeService(self.options) self.failUnless( IService(service), "%s does not provide IService" % (service,) ) self.failUnless( service.services, "No services configured" ) self.failUnless( isinstance(service, CalDAVService), "%s is not a CalDAVService" % (service,) )
Example #10
Source File: test_application.py From python-for-android with Apache License 2.0 | 6 votes |
def test_everythingThere(self): """ L{twisted.application.internet} dynamically defines a set of L{service.Service} subclasses that in general have corresponding reactor.listenXXX or reactor.connectXXX calls. """ trans = 'TCP UNIX SSL UDP UNIXDatagram Multicast'.split() for tran in trans[:]: if not getattr(interfaces, "IReactor" + tran)(reactor, None): trans.remove(tran) if interfaces.IReactorArbitrary(reactor, None) is not None: trans.insert(0, "Generic") for tran in trans: for side in 'Server Client'.split(): if tran == "Multicast" and side == "Client": continue self.assertTrue(hasattr(internet, tran + side)) method = getattr(internet, tran + side).method prefix = {'Server': 'listen', 'Client': 'connect'}[side] self.assertTrue(hasattr(reactor, prefix + method) or (prefix == "connect" and method == "UDP")) o = getattr(internet, tran + side)() self.assertEquals(service.IService(o), o)
Example #11
Source File: test_application.py From Safejumper-for-Desktop with GNU General Public License v2.0 | 6 votes |
def testLoadApplication(self): """ Test loading an application file in different dump format. """ a = service.Application("hello") baseconfig = {'file': None, 'source': None, 'python':None} for style in 'source pickle'.split(): config = baseconfig.copy() config[{'pickle': 'file'}.get(style, style)] = 'helloapplication' sob.IPersistable(a).setStyle(style) sob.IPersistable(a).save(filename='helloapplication') a1 = app.getApplication(config, None) self.assertEqual(service.IService(a1).name, "hello") config = baseconfig.copy() config['python'] = 'helloapplication' with open("helloapplication", 'w') as f: f.writelines([ "from twisted.application import service\n", "application = service.Application('hello')\n", ]) a1 = app.getApplication(config, None) self.assertEqual(service.IService(a1).name, "hello")
Example #12
Source File: test_twistd.py From learn_python3_spider with MIT License | 6 votes |
def test_applicationRunnerGetsCorrectApplication(self): """ Ensure that a twistd plugin gets used in appropriate ways: it is passed its Options instance, and the service it returns is added to the application. """ arunner = CrippledApplicationRunner(self.config) arunner.run() self.assertIs( self.serviceMaker.options, self.config.subOptions, "ServiceMaker.makeService needs to be passed the correct " "sub Command object.") self.assertIs( self.serviceMaker.service, service.IService(arunner.application).services[0], "ServiceMaker.makeService's result needs to be set as a child " "of the Application.")
Example #13
Source File: batch.py From axiom with MIT License | 6 votes |
def storeBatchServiceSpecialCase(st, pups): """ Adapt a L{Store} to L{IBatchService}. If C{st} is a substore, return a simple wrapper that delegates to the site store's L{IBatchService} powerup. Return C{None} if C{st} has no L{BatchProcessingControllerService}. """ if st.parent is not None: try: return _SubStoreBatchChannel(st) except TypeError: return None storeService = service.IService(st) try: return storeService.getServiceNamed("Batch Processing Controller") except KeyError: return None
Example #14
Source File: test_application.py From python-for-android with Apache License 2.0 | 6 votes |
def test_simpleStoreAndLoad(self): a = service.Application("hello") p = sob.IPersistable(a) for style in 'source pickle'.split(): p.setStyle(style) p.save() a1 = service.loadApplication("hello.ta"+style[0], style) self.assertEqual(service.IService(a1).name, "hello") f = open("hello.tac", 'w') f.writelines([ "from twisted.application import service\n", "application = service.Application('hello')\n", ]) f.close() a1 = service.loadApplication("hello.tac", 'python') self.assertEqual(service.IService(a1).name, "hello")
Example #15
Source File: test_application.py From python-for-android with Apache License 2.0 | 5 votes |
def test_startApplication(self): appl = service.Application("lala") app.startApplication(appl, 0) self.assert_(service.IService(appl).running)
Example #16
Source File: test_twistd.py From python-for-android with Apache License 2.0 | 5 votes |
def makeService(self, options): """ Take a L{usage.Options} instance and return a L{service.IService} provider. """ self.options = options self.service = service.Service() return self.service
Example #17
Source File: scheduler.py From axiom with MIT License | 5 votes |
def setServiceParent(self, parent): """ L{Scheduler} is no longer an L{IService}, but still provides this method as a no-op in case an instance which was still an L{IService} powerup is loaded (in which case it will be used like a service once). """
Example #18
Source File: test_twistd.py From python-for-android with Apache License 2.0 | 5 votes |
def test_createOrGetApplicationWithTapFile(self): """ Ensure that the createOrGetApplication call that 'twistd -f foo.tap' makes will load the Application out of foo.tap. """ config = twistd.ServerOptions() config.parseOptions(['-f', self.tapfile]) application = CrippledApplicationRunner(config).createOrGetApplication() self.assertEquals(service.IService(application).name, 'Hi!')
Example #19
Source File: test_application.py From BitTorrent with GNU General Public License v3.0 | 5 votes |
def test_convertStyle(self): appl = service.Application("lala") for instyle in 'xml source pickle'.split(): if instyle == 'xml' and not gotMicrodom: continue for outstyle in 'xml source pickle'.split(): if outstyle == 'xml' and not gotMicrodom: continue sob.IPersistable(appl).setStyle(instyle) sob.IPersistable(appl).save(filename="converttest") app.convertStyle("converttest", instyle, None, "converttest.out", outstyle, 0) appl2 = service.loadApplication("converttest.out", outstyle) self.assertEqual(service.IService(appl2).name, "lala")
Example #20
Source File: twistd.py From BitTorrent with GNU General Public License v3.0 | 5 votes |
def startApplication(config, application): process = service.IProcess(application, None) if not config['originalname']: launchWithName(process.processName) setupEnvironment(config) service.IService(application).privilegedStartService() uid, gid = mktap.getid(config['uid'], config['gid']) if uid is None: uid = process.uid if gid is None: gid = process.gid shedPrivileges(config['euid'], uid, gid) app.startApplication(application, not config['no_save'])
Example #21
Source File: test_application.py From BitTorrent with GNU General Public License v3.0 | 5 votes |
def test_startApplication(self): appl = service.Application("lala") app.startApplication(appl, 0) self.assert_(service.IService(appl).running)
Example #22
Source File: app.py From BitTorrent with GNU General Public License v3.0 | 5 votes |
def startApplication(application, save): from twisted.internet import reactor service.IService(application).startService() if save: p = sob.IPersistable(application) reactor.addSystemEventTrigger('after', 'shutdown', p.save, 'shutdown') reactor.addSystemEventTrigger('before', 'shutdown', service.IService(application).stopService)
Example #23
Source File: test_application.py From python-for-android with Apache License 2.0 | 5 votes |
def test_convertStyle(self): appl = service.Application("lala") for instyle in 'source pickle'.split(): for outstyle in 'source pickle'.split(): sob.IPersistable(appl).setStyle(instyle) sob.IPersistable(appl).save(filename="converttest") app.convertStyle("converttest", instyle, None, "converttest.out", outstyle, 0) appl2 = service.loadApplication("converttest.out", outstyle) self.assertEqual(service.IService(appl2).name, "lala")
Example #24
Source File: test_application.py From python-for-android with Apache License 2.0 | 5 votes |
def testServiceComponent(self): a = service.Application("hello") self.assert_(service.IService(a) is service.IServiceCollection(a)) self.assertEqual(service.IService(a).name, "hello") self.assertEqual(service.IService(a).parent, None)
Example #25
Source File: test_application.py From python-for-android with Apache License 2.0 | 5 votes |
def testMultiService(self): self.assert_(service.IService.providedBy(service.MultiService())) self.assert_(service.IServiceCollection.providedBy(service.MultiService()))
Example #26
Source File: test_application.py From python-for-android with Apache License 2.0 | 5 votes |
def testService(self): self.assert_(service.IService.providedBy(service.Service()))
Example #27
Source File: app.py From python-for-android with Apache License 2.0 | 5 votes |
def startApplication(application, save): from twisted.internet import reactor service.IService(application).startService() if save: p = sob.IPersistable(application) reactor.addSystemEventTrigger('after', 'shutdown', p.save, 'shutdown') reactor.addSystemEventTrigger('before', 'shutdown', service.IService(application).stopService)
Example #28
Source File: test_logwriter.py From eliot with Apache License 2.0 | 5 votes |
def test_stopServiceRunning(self): """ L{ThreadedWriter.stopService} stops the service as required by the L{IService} interface. """ writer = ThreadedWriter(FileDestination(file=BytesIO()), reactor) writer.startService() d = writer.stopService() d.addCallback(lambda _: self.assertFalse(writer.running)) return d
Example #29
Source File: test_logwriter.py From eliot with Apache License 2.0 | 5 votes |
def test_startServiceRunning(self): """ L{ThreadedWriter.startService} starts the service as required by the L{IService} interface. """ writer = ThreadedWriter(FileDestination(file=BytesIO()), reactor) self.assertFalse(writer.running) writer.startService() self.addCleanup(writer.stopService) self.assertTrue(writer.running)
Example #30
Source File: test_logwriter.py From eliot with Apache License 2.0 | 5 votes |
def test_interface(self): """ L{ThreadedWriter} provides L{IService}. """ verifyClass(IService, ThreadedWriter)