当前位置: 首页>>代码示例>>Python>>正文


Python AddrMap.scheduler方法代码示例

本文整理汇总了Python中txtorcon.addrmap.AddrMap.scheduler方法的典型用法代码示例。如果您正苦于以下问题:Python AddrMap.scheduler方法的具体用法?Python AddrMap.scheduler怎么用?Python AddrMap.scheduler使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在txtorcon.addrmap.AddrMap的用法示例。


在下文中一共展示了AddrMap.scheduler方法的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。

示例1: test_expires_with_update

# 需要导入模块: from txtorcon.addrmap import AddrMap [as 别名]
# 或者: from txtorcon.addrmap.AddrMap import scheduler [as 别名]
    def test_expires_with_update(self):
        """
        This test updates the expiry time and checks that we properly
        delay our expiry callback.
        """
        clock = task.Clock()
        am = AddrMap()
        am.scheduler = IReactorTime(clock)

        # now do an actual update to an existing Addr entry.
        now = datetime.datetime.now() + datetime.timedelta(seconds=10)
        nowutc = datetime.datetime.utcnow() + datetime.timedelta(seconds=10)
        line = 'www.example.com 72.30.2.43 "%s" EXPIRES="%s"' % (now.strftime(self.fmt), nowutc.strftime(self.fmt))
        am.update(line)
        self.assertTrue(am.find('www.example.com'))

        # the update
        now = datetime.datetime.now() + datetime.timedelta(seconds=20)
        nowutc = datetime.datetime.utcnow() + datetime.timedelta(seconds=20)
        line = 'www.example.com 72.30.2.43 "%s" EXPIRES="%s"' % (now.strftime(self.fmt), nowutc.strftime(self.fmt))
        am.update(line)
        self.assertTrue('www.example.com' in am.addr)

        # advance time by the old expiry value and we should still
        # find the entry
        clock.advance(10)
        self.assertTrue('www.example.com' in am.addr)

        # ...but advance past the new expiry (another 10 seconds) and
        # it should vanish
        clock.advance(10)
        self.assertTrue('www.example.com' not in am.addr)
开发者ID:coffeemakr,项目名称:txtorcon,代码行数:34,代码来源:test_addrmap.py

示例2: test_8596_cached_3

# 需要导入模块: from txtorcon.addrmap import AddrMap [as 别名]
# 或者: from txtorcon.addrmap.AddrMap import scheduler [as 别名]
    def test_8596_cached_3(self):
        clock = task.Clock()
        am = AddrMap()
        am.scheduler = IReactorTime(clock)

        line = 'example.invalid <error> "2013-04-03 08:28:52" error=yes EXPIRES="2013-04-03 06:28:52" CACHE="NO"'
        am.update(line)

        self.assertTrue('example.invalid' not in am.addr)
        self.assertEqual(len(clock.getDelayedCalls()), 0)
开发者ID:coffeemakr,项目名称:txtorcon,代码行数:12,代码来源:test_addrmap.py

示例3: test_8596_cached_2

# 需要导入模块: from txtorcon.addrmap import AddrMap [as 别名]
# 或者: from txtorcon.addrmap.AddrMap import scheduler [as 别名]
    def test_8596_cached_2(self):
        clock = task.Clock()
        am = AddrMap()
        am.scheduler = IReactorTime(clock)

        line = 'example.com 192.0.43.10 "2013-04-03 22:29:11" EXPIRES="2013-04-03 20:29:11" CACHED="NO"'
        am.update(line)

        self.assertTrue('example.com' in am.addr)
        self.assertEqual(len(clock.getDelayedCalls()), 1)
开发者ID:coffeemakr,项目名称:txtorcon,代码行数:12,代码来源:test_addrmap.py

示例4: test_8596_cached_1

# 需要导入模块: from txtorcon.addrmap import AddrMap [as 别名]
# 或者: from txtorcon.addrmap.AddrMap import scheduler [as 别名]
    def test_8596_cached_1(self):
        clock = task.Clock()
        am = AddrMap()
        am.scheduler = IReactorTime(clock)

        line = 'example.com 192.0.2.1 NEVER CACHED="YES"'
        am.update(line)

        self.assertTrue('example.com' in am.addr)
        self.assertEqual(len(clock.getDelayedCalls()), 0)
开发者ID:coffeemakr,项目名称:txtorcon,代码行数:12,代码来源:test_addrmap.py

示例5: test_expires_never

# 需要导入模块: from txtorcon.addrmap import AddrMap [as 别名]
# 或者: from txtorcon.addrmap.AddrMap import scheduler [as 别名]
    def test_expires_never(self):
        """
        Test a NEVER expires line, as in what we'd get a startup for a
        configured address-mapping.
        """

        clock = task.Clock()
        am = AddrMap()
        am.scheduler = IReactorTime(clock)

        line = 'www.example.com 72.30.2.43 "NEVER"'
        am.update(line)

        self.assertTrue('www.example.com' in am.addr)
        self.assertEqual(len(clock.getDelayedCalls()), 0)
开发者ID:coffeemakr,项目名称:txtorcon,代码行数:17,代码来源:test_addrmap.py

示例6: test_expires_never

# 需要导入模块: from txtorcon.addrmap import AddrMap [as 别名]
# 或者: from txtorcon.addrmap.AddrMap import scheduler [as 别名]
    def test_expires_never(self):
        """
        Test a NEVER expires line, as in what we'd get a startup for a
        configured address-mapping.
        """
        
        clock = task.Clock()
        am = AddrMap()
        am.scheduler = IReactorTime(clock)
        
        now = datetime.datetime.now() + datetime.timedelta(seconds=10)
        nowutc = datetime.datetime.utcnow() + datetime.timedelta(seconds=10)
        line = 'www.example.com 72.30.2.43 "NEVER"'
        
        am.update(line)

        self.assertTrue(am.addr.has_key('www.example.com'))
        self.assertEqual(len(clock.getDelayedCalls()), 0)
开发者ID:hellais,项目名称:txtorcon,代码行数:20,代码来源:test_addrmap.py

示例7: test_expires

# 需要导入模块: from txtorcon.addrmap import AddrMap [as 别名]
# 或者: from txtorcon.addrmap.AddrMap import scheduler [as 别名]
    def test_expires(self):
        """
        Test simply expiry case
        """

        clock = task.Clock()
        am = AddrMap()
        am.scheduler = IReactorTime(clock)

        now = datetime.datetime.now() + datetime.timedelta(seconds=10)
        nowutc = datetime.datetime.utcnow() + datetime.timedelta(seconds=10)
        line = 'www.example.com 72.30.2.43 "%s" EXPIRES="%s"' % (now.strftime(self.fmt), nowutc.strftime(self.fmt))

        am.update(line)

        self.assertTrue('www.example.com' in am.addr)
        # advance time past when the expiry should have occurred
        clock.advance(10)
        self.assertTrue('www.example.com' not in am.addr)
开发者ID:coffeemakr,项目名称:txtorcon,代码行数:21,代码来源:test_addrmap.py

示例8: test_expires_old

# 需要导入模块: from txtorcon.addrmap import AddrMap [as 别名]
# 或者: from txtorcon.addrmap.AddrMap import scheduler [as 别名]
    def test_expires_old(self):
        """
        Test something that expires before "now"
        """

        clock = task.Clock()
        am = AddrMap()
        am.scheduler = IReactorTime(clock)

        now = datetime.datetime.now() + datetime.timedelta(seconds=-10)
        nowutc = datetime.datetime.utcnow() + datetime.timedelta(seconds=-10)
        line = 'www.example.com 72.30.2.43 "%s" EXPIRES="%s"' % (now.strftime(self.fmt), nowutc.strftime(self.fmt))

        am.update(line)
        self.assertTrue('www.example.com' in am.addr)
        # arguably we shouldn't even have put this in the map maybe,
        # but the reactor needs to iterate before our expiry callback
        # gets called (right away) which is simulated by the
        # clock.advance call
        clock.advance(0)
        self.assertTrue('www.example.com' not in am.addr)
开发者ID:coffeemakr,项目名称:txtorcon,代码行数:23,代码来源:test_addrmap.py

示例9: test_listeners

# 需要导入模块: from txtorcon.addrmap import AddrMap [as 别名]
# 或者: from txtorcon.addrmap.AddrMap import scheduler [as 别名]
    def test_listeners(self):
        self.expires = []
        self.addrmap = []

        clock = task.Clock()
        am = AddrMap()
        am.scheduler = IReactorTime(clock)
        am.add_listener(self)

        now = datetime.datetime.now() + datetime.timedelta(seconds=10)
        nowutc = datetime.datetime.utcnow() + datetime.timedelta(seconds=10)
        line = 'www.example.com 72.30.2.43 "%s" EXPIRES="%s"' % (now.strftime(self.fmt), nowutc.strftime(self.fmt))

        am.update(line)

        # see if our listener got an update
        a = am.find('www.example.com')
        self.assertEqual(self.addrmap, [a])

        # advance time past when the expiry should have occurred
        clock.advance(10)

        # check that our listener got an expires event
        self.assertEqual(self.expires, ['www.example.com'])
开发者ID:coffeemakr,项目名称:txtorcon,代码行数:26,代码来源:test_addrmap.py


注:本文中的txtorcon.addrmap.AddrMap.scheduler方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。