python类ExitNow()的实例源码

async.py 文件源码 项目:RPKI-toolkit 作者: pavel-odintsov 项目源码 文件源码 阅读 40 收藏 0 点赞 0 评论 0
def __init__(self, iterable, item_callback, done_callback, unwind_stack = True, pop_list = False):
    assert not pop_list or isinstance(iterable, list), "iterable must be a list when using pop_list"
    self.item_callback = item_callback
    self.done_callback = done_callback if done_callback is not None else lambda: None
    self.caller_file, self.caller_line, self.caller_function = traceback.extract_stack(limit = 2)[0][0:3]
    self.unwind_stack = unwind_stack
    self.pop_list = pop_list
    try:
      if self.pop_list:
        self.iterator = iterable
      else:
        self.iterator = iter(iterable)
    except (ExitNow, SystemExit):
      raise
    except Exception:
      logger.debug("Problem constructing iterator for %s", repr(iterable))
      raise
    self.doit()
async.py 文件源码 项目:RPKI-toolkit 作者: pavel-odintsov 项目源码 文件源码 阅读 24 收藏 0 点赞 0 评论 0
def __call__(self, *args, **kwargs):

    def thunk():
      try:
        self.func(self.cb, self.eb, *args, **kwargs)
      except ExitNow:
        raise
      except Exception, e:
        self.eb(e)

    event_defer(thunk)
    if self.disable_signal_handlers:
      event_loop(catch_signals = ())
    else:
      event_loop()
    if not self.fin:
      logger.warning("%r event_loop terminated without callback or errback", self)
    if self.err is None:
      return self.res
    elif isinstance(self.err, tuple):
      raise self.err[0], self.err[1], self.err[2]
    else:
      raise self.err
async.py 文件源码 项目:RPKI-toolkit 作者: pavel-odintsov 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def __init__(self, iterable, item_callback, done_callback, unwind_stack = True, pop_list = False):
    assert not pop_list or isinstance(iterable, list), "iterable must be a list when using pop_list"
    self.item_callback = item_callback
    self.done_callback = done_callback if done_callback is not None else lambda: None
    self.caller_file, self.caller_line, self.caller_function = traceback.extract_stack(limit = 2)[0][0:3]
    self.unwind_stack = unwind_stack
    self.pop_list = pop_list
    try:
      if self.pop_list:
        self.iterator = iterable
      else:
        self.iterator = iter(iterable)
    except (ExitNow, SystemExit):
      raise
    except Exception:
      logger.debug("Problem constructing iterator for %s", repr(iterable))
      raise
    self.doit()
async.py 文件源码 项目:RPKI-toolkit 作者: pavel-odintsov 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def __call__(self, *args, **kwargs):

    def thunk():
      try:
        self.func(self.cb, self.eb, *args, **kwargs)
      except ExitNow:
        raise
      except Exception, e:
        self.eb(e)

    event_defer(thunk)
    if self.disable_signal_handlers:
      event_loop(catch_signals = ())
    else:
      event_loop()
    if not self.fin:
      logger.warning("%r event_loop terminated without callback or errback", self)
    if self.err is None:
      return self.res
    elif isinstance(self.err, tuple):
      raise self.err[0], self.err[1], self.err[2]
    else:
      raise self.err
async.py 文件源码 项目:RPKI-toolkit 作者: pavel-odintsov 项目源码 文件源码 阅读 35 收藏 0 点赞 0 评论 0
def __init__(self, iterable, item_callback, done_callback, unwind_stack = True, pop_list = False):
    assert not pop_list or isinstance(iterable, list), "iterable must be a list when using pop_list"
    self.item_callback = item_callback
    self.done_callback = done_callback if done_callback is not None else lambda: None
    self.caller_file, self.caller_line, self.caller_function = traceback.extract_stack(limit = 2)[0][0:3]
    self.unwind_stack = unwind_stack
    self.pop_list = pop_list
    try:
      if self.pop_list:
        self.iterator = iterable
      else:
        self.iterator = iter(iterable)
    except (ExitNow, SystemExit):
      raise
    except Exception:
      logger.debug("Problem constructing iterator for %s", repr(iterable))
      raise
    self.doit()
async.py 文件源码 项目:RPKI-toolkit 作者: pavel-odintsov 项目源码 文件源码 阅读 26 收藏 0 点赞 0 评论 0
def __init__(self, iterable, item_callback, done_callback, unwind_stack = True, pop_list = False):
    assert not pop_list or isinstance(iterable, list), "iterable must be a list when using pop_list"
    self.item_callback = item_callback
    self.done_callback = done_callback if done_callback is not None else lambda: None
    self.caller_file, self.caller_line, self.caller_function = traceback.extract_stack(limit = 2)[0][0:3]
    self.unwind_stack = unwind_stack
    self.pop_list = pop_list
    try:
      if self.pop_list:
        self.iterator = iterable
      else:
        self.iterator = iter(iterable)
    except (ExitNow, SystemExit):
      raise
    except Exception:
      logger.debug("Problem constructing iterator for %s", repr(iterable))
      raise
    self.doit()
async.py 文件源码 项目:RPKI-toolkit 作者: pavel-odintsov 项目源码 文件源码 阅读 31 收藏 0 点赞 0 评论 0
def __call__(self, *args, **kwargs):

    def thunk():
      try:
        self.func(self.cb, self.eb, *args, **kwargs)
      except ExitNow:
        raise
      except Exception, e:
        self.eb(e)

    event_defer(thunk)
    if self.disable_signal_handlers:
      event_loop(catch_signals = ())
    else:
      event_loop()
    if not self.fin:
      logger.warning("%r event_loop terminated without callback or errback", self)
    if self.err is None:
      return self.res
    elif isinstance(self.err, tuple):
      raise self.err[0], self.err[1], self.err[2]
    else:
      raise self.err
async.py 文件源码 项目:RPKI-toolkit 作者: pavel-odintsov 项目源码 文件源码 阅读 35 收藏 0 点赞 0 评论 0
def __init__(self, iterable, item_callback, done_callback, unwind_stack = True, pop_list = False):
    assert not pop_list or isinstance(iterable, list), "iterable must be a list when using pop_list"
    self.item_callback = item_callback
    self.done_callback = done_callback if done_callback is not None else lambda: None
    self.caller_file, self.caller_line, self.caller_function = traceback.extract_stack(limit = 2)[0][0:3]
    self.unwind_stack = unwind_stack
    self.pop_list = pop_list
    try:
      if self.pop_list:
        self.iterator = iterable
      else:
        self.iterator = iter(iterable)
    except (ExitNow, SystemExit):
      raise
    except Exception:
      logger.debug("Problem constructing iterator for %s", repr(iterable))
      raise
    self.doit()
async.py 文件源码 项目:RPKI-toolkit 作者: pavel-odintsov 项目源码 文件源码 阅读 29 收藏 0 点赞 0 评论 0
def __call__(self, *args, **kwargs):

    def thunk():
      try:
        self.func(self.cb, self.eb, *args, **kwargs)
      except ExitNow:
        raise
      except Exception, e:
        self.eb(e)

    event_defer(thunk)
    if self.disable_signal_handlers:
      event_loop(catch_signals = ())
    else:
      event_loop()
    if not self.fin:
      logger.warning("%r event_loop terminated without callback or errback", self)
    if self.err is None:
      return self.res
    elif isinstance(self.err, tuple):
      raise self.err[0], self.err[1], self.err[2]
    else:
      raise self.err
async.py 文件源码 项目:RPKI-toolkit 作者: pavel-odintsov 项目源码 文件源码 阅读 29 收藏 0 点赞 0 评论 0
def __init__(self, iterable, item_callback, done_callback, unwind_stack = True, pop_list = False):
    assert not pop_list or isinstance(iterable, list), "iterable must be a list when using pop_list"
    self.item_callback = item_callback
    self.done_callback = done_callback if done_callback is not None else lambda: None
    self.caller_file, self.caller_line, self.caller_function = traceback.extract_stack(limit = 2)[0][0:3]
    self.unwind_stack = unwind_stack
    self.pop_list = pop_list
    try:
      if self.pop_list:
        self.iterator = iterable
      else:
        self.iterator = iter(iterable)
    except (ExitNow, SystemExit):
      raise
    except Exception:
      logger.debug("Problem constructing iterator for %s", repr(iterable))
      raise
    self.doit()
async.py 文件源码 项目:RPKI-toolkit 作者: pavel-odintsov 项目源码 文件源码 阅读 27 收藏 0 点赞 0 评论 0
def __init__(self, iterable, item_callback, done_callback, unwind_stack = True, pop_list = False):
    assert not pop_list or isinstance(iterable, list), "iterable must be a list when using pop_list"
    self.item_callback = item_callback
    self.done_callback = done_callback if done_callback is not None else lambda: None
    self.caller_file, self.caller_line, self.caller_function = traceback.extract_stack(limit = 2)[0][0:3]
    self.unwind_stack = unwind_stack
    self.pop_list = pop_list
    try:
      if self.pop_list:
        self.iterator = iterable
      else:
        self.iterator = iter(iterable)
    except (ExitNow, SystemExit):
      raise
    except Exception:
      logger.debug("Problem constructing iterator for %s", repr(iterable))
      raise
    self.doit()
async.py 文件源码 项目:RPKI-toolkit 作者: pavel-odintsov 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def __call__(self, *args, **kwargs):

    def thunk():
      try:
        self.func(self.cb, self.eb, *args, **kwargs)
      except ExitNow:
        raise
      except Exception, e:
        self.eb(e)

    event_defer(thunk)
    if self.disable_signal_handlers:
      event_loop(catch_signals = ())
    else:
      event_loop()
    if not self.fin:
      logger.warning("%r event_loop terminated without callback or errback", self)
    if self.err is None:
      return self.res
    elif isinstance(self.err, tuple):
      raise self.err[0], self.err[1], self.err[2]
    else:
      raise self.err
test_asyncore.py 文件源码 项目:zippy 作者: securesystemslab 项目源码 文件源码 阅读 26 收藏 0 点赞 0 评论 0
def handle_read_event(self):
        raise asyncore.ExitNow()
test_asyncore.py 文件源码 项目:zippy 作者: securesystemslab 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def test_readwriteexc(self):
        # Check exception handling behavior of read, write and _exception

        # check that ExitNow exceptions in the object handler method
        # bubbles all the way up through asyncore read/write/_exception calls
        tr1 = exitingdummy()
        self.assertRaises(asyncore.ExitNow, asyncore.read, tr1)
        self.assertRaises(asyncore.ExitNow, asyncore.write, tr1)
        self.assertRaises(asyncore.ExitNow, asyncore._exception, tr1)

        # check that an exception other than ExitNow in the object handler
        # method causes the handle_error method to get called
        tr2 = crashingdummy()
        asyncore.read(tr2)
        self.assertEqual(tr2.error_handled, True)

        tr2 = crashingdummy()
        asyncore.write(tr2)
        self.assertEqual(tr2.error_handled, True)

        tr2 = crashingdummy()
        asyncore._exception(tr2)
        self.assertEqual(tr2.error_handled, True)

    # asyncore.readwrite uses constants in the select module that
    # are not present in Windows systems (see this thread:
    # http://mail.python.org/pipermail/python-list/2001-October/109973.html)
    # These constants should be present as long as poll is available
test_asyncore.py 文件源码 项目:oil 作者: oilshell 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def handle_read_event(self):
        raise asyncore.ExitNow()
test_asyncore.py 文件源码 项目:oil 作者: oilshell 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def test_readwriteexc(self):
        # Check exception handling behavior of read, write and _exception

        # check that ExitNow exceptions in the object handler method
        # bubbles all the way up through asyncore read/write/_exception calls
        tr1 = exitingdummy()
        self.assertRaises(asyncore.ExitNow, asyncore.read, tr1)
        self.assertRaises(asyncore.ExitNow, asyncore.write, tr1)
        self.assertRaises(asyncore.ExitNow, asyncore._exception, tr1)

        # check that an exception other than ExitNow in the object handler
        # method causes the handle_error method to get called
        tr2 = crashingdummy()
        asyncore.read(tr2)
        self.assertEqual(tr2.error_handled, True)

        tr2 = crashingdummy()
        asyncore.write(tr2)
        self.assertEqual(tr2.error_handled, True)

        tr2 = crashingdummy()
        asyncore._exception(tr2)
        self.assertEqual(tr2.error_handled, True)

    # asyncore.readwrite uses constants in the select module that
    # are not present in Windows systems (see this thread:
    # http://mail.python.org/pipermail/python-list/2001-October/109973.html)
    # These constants should be present as long as poll is available
test_asyncore.py 文件源码 项目:python2-tracer 作者: extremecoders-re 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def handle_read_event(self):
        raise asyncore.ExitNow()
test_asyncore.py 文件源码 项目:python2-tracer 作者: extremecoders-re 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def test_readwriteexc(self):
        # Check exception handling behavior of read, write and _exception

        # check that ExitNow exceptions in the object handler method
        # bubbles all the way up through asyncore read/write/_exception calls
        tr1 = exitingdummy()
        self.assertRaises(asyncore.ExitNow, asyncore.read, tr1)
        self.assertRaises(asyncore.ExitNow, asyncore.write, tr1)
        self.assertRaises(asyncore.ExitNow, asyncore._exception, tr1)

        # check that an exception other than ExitNow in the object handler
        # method causes the handle_error method to get called
        tr2 = crashingdummy()
        asyncore.read(tr2)
        self.assertEqual(tr2.error_handled, True)

        tr2 = crashingdummy()
        asyncore.write(tr2)
        self.assertEqual(tr2.error_handled, True)

        tr2 = crashingdummy()
        asyncore._exception(tr2)
        self.assertEqual(tr2.error_handled, True)

    # asyncore.readwrite uses constants in the select module that
    # are not present in Windows systems (see this thread:
    # http://mail.python.org/pipermail/python-list/2001-October/109973.html)
    # These constants should be present as long as poll is available
ddpciao.py 文件源码 项目:arduino-ciao-meteor-ddp-connector 作者: andrea689 项目源码 文件源码 阅读 17 收藏 0 点赞 0 评论 0
def writable(self):
        if not self.shd["loop"]:
            raise asyncore.ExitNow('Connector is quitting!')
        if not self.ciao_queue.empty() and not self.write_pending:
            return True
        return False
test_asyncore.py 文件源码 项目:web_ctp 作者: molebot 项目源码 文件源码 阅读 25 收藏 0 点赞 0 评论 0
def handle_read_event(self):
        raise asyncore.ExitNow()
test_asyncore.py 文件源码 项目:web_ctp 作者: molebot 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def test_readwriteexc(self):
        # Check exception handling behavior of read, write and _exception

        # check that ExitNow exceptions in the object handler method
        # bubbles all the way up through asyncore read/write/_exception calls
        tr1 = exitingdummy()
        self.assertRaises(asyncore.ExitNow, asyncore.read, tr1)
        self.assertRaises(asyncore.ExitNow, asyncore.write, tr1)
        self.assertRaises(asyncore.ExitNow, asyncore._exception, tr1)

        # check that an exception other than ExitNow in the object handler
        # method causes the handle_error method to get called
        tr2 = crashingdummy()
        asyncore.read(tr2)
        self.assertEqual(tr2.error_handled, True)

        tr2 = crashingdummy()
        asyncore.write(tr2)
        self.assertEqual(tr2.error_handled, True)

        tr2 = crashingdummy()
        asyncore._exception(tr2)
        self.assertEqual(tr2.error_handled, True)

    # asyncore.readwrite uses constants in the select module that
    # are not present in Windows systems (see this thread:
    # http://mail.python.org/pipermail/python-list/2001-October/109973.html)
    # These constants should be present as long as poll is available
test_asyncore.py 文件源码 项目:pefile.pypy 作者: cloudtracer 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def handle_read_event(self):
        raise asyncore.ExitNow()
test_asyncore.py 文件源码 项目:pefile.pypy 作者: cloudtracer 项目源码 文件源码 阅读 22 收藏 0 点赞 0 评论 0
def test_readwriteexc(self):
        # Check exception handling behavior of read, write and _exception

        # check that ExitNow exceptions in the object handler method
        # bubbles all the way up through asyncore read/write/_exception calls
        tr1 = exitingdummy()
        self.assertRaises(asyncore.ExitNow, asyncore.read, tr1)
        self.assertRaises(asyncore.ExitNow, asyncore.write, tr1)
        self.assertRaises(asyncore.ExitNow, asyncore._exception, tr1)

        # check that an exception other than ExitNow in the object handler
        # method causes the handle_error method to get called
        tr2 = crashingdummy()
        asyncore.read(tr2)
        self.assertEqual(tr2.error_handled, True)

        tr2 = crashingdummy()
        asyncore.write(tr2)
        self.assertEqual(tr2.error_handled, True)

        tr2 = crashingdummy()
        asyncore._exception(tr2)
        self.assertEqual(tr2.error_handled, True)

    # asyncore.readwrite uses constants in the select module that
    # are not present in Windows systems (see this thread:
    # http://mail.python.org/pipermail/python-list/2001-October/109973.html)
    # These constants should be present as long as poll is available
test_asyncore.py 文件源码 项目:ouroboros 作者: pybee 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def handle_read_event(self):
        raise asyncore.ExitNow()
test_asyncore.py 文件源码 项目:ouroboros 作者: pybee 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def test_readwriteexc(self):
        # Check exception handling behavior of read, write and _exception

        # check that ExitNow exceptions in the object handler method
        # bubbles all the way up through asyncore read/write/_exception calls
        tr1 = exitingdummy()
        self.assertRaises(asyncore.ExitNow, asyncore.read, tr1)
        self.assertRaises(asyncore.ExitNow, asyncore.write, tr1)
        self.assertRaises(asyncore.ExitNow, asyncore._exception, tr1)

        # check that an exception other than ExitNow in the object handler
        # method causes the handle_error method to get called
        tr2 = crashingdummy()
        asyncore.read(tr2)
        self.assertEqual(tr2.error_handled, True)

        tr2 = crashingdummy()
        asyncore.write(tr2)
        self.assertEqual(tr2.error_handled, True)

        tr2 = crashingdummy()
        asyncore._exception(tr2)
        self.assertEqual(tr2.error_handled, True)

    # asyncore.readwrite uses constants in the select module that
    # are not present in Windows systems (see this thread:
    # http://mail.python.org/pipermail/python-list/2001-October/109973.html)
    # These constants should be present as long as poll is available
test_asyncore.py 文件源码 项目:ndk-python 作者: gittor 项目源码 文件源码 阅读 21 收藏 0 点赞 0 评论 0
def handle_read_event(self):
        raise asyncore.ExitNow()
test_asyncore.py 文件源码 项目:ndk-python 作者: gittor 项目源码 文件源码 阅读 20 收藏 0 点赞 0 评论 0
def test_readwriteexc(self):
        # Check exception handling behavior of read, write and _exception

        # check that ExitNow exceptions in the object handler method
        # bubbles all the way up through asyncore read/write/_exception calls
        tr1 = exitingdummy()
        self.assertRaises(asyncore.ExitNow, asyncore.read, tr1)
        self.assertRaises(asyncore.ExitNow, asyncore.write, tr1)
        self.assertRaises(asyncore.ExitNow, asyncore._exception, tr1)

        # check that an exception other than ExitNow in the object handler
        # method causes the handle_error method to get called
        tr2 = crashingdummy()
        asyncore.read(tr2)
        self.assertEqual(tr2.error_handled, True)

        tr2 = crashingdummy()
        asyncore.write(tr2)
        self.assertEqual(tr2.error_handled, True)

        tr2 = crashingdummy()
        asyncore._exception(tr2)
        self.assertEqual(tr2.error_handled, True)

    # asyncore.readwrite uses constants in the select module that
    # are not present in Windows systems (see this thread:
    # http://mail.python.org/pipermail/python-list/2001-October/109973.html)
    # These constants should be present as long as poll is available
async.py 文件源码 项目:RPKI-toolkit 作者: pavel-odintsov 项目源码 文件源码 阅读 19 收藏 0 点赞 0 评论 0
def runq(cls):
    """
    Run the timer queue: for each timer whose call time has passed,
    pull the timer off the queue and call its handler() method.

    Comparisions are made against time at which this function was
    called, so that even if new events keep getting scheduled, we'll
    return to the I/O loop reasonably quickly.
    """
    now = rpki.sundial.now()
    while timer_queue and now >= timer_queue[0].when:
      t = timer_queue.pop(0)
      if cls.run_debug:
        logger.debug("Running %r", t)
      try:
        if t.handler is not None:
          t.handler()
        else:
          logger.warning("Timer %r expired with no handler set", t)
      except (ExitNow, SystemExit):
        raise
      except Exception, e:
        if t.errback is not None:
          t.errback(e)
        else:
          logger.exception("Unhandled exception from timer %r", t)
async.py 文件源码 项目:RPKI-toolkit 作者: pavel-odintsov 项目源码 文件源码 阅读 32 收藏 0 点赞 0 评论 0
def runq(cls):
    """
    Run the timer queue: for each timer whose call time has passed,
    pull the timer off the queue and call its handler() method.

    Comparisions are made against time at which this function was
    called, so that even if new events keep getting scheduled, we'll
    return to the I/O loop reasonably quickly.
    """
    now = rpki.sundial.now()
    while timer_queue and now >= timer_queue[0].when:
      t = timer_queue.pop(0)
      if cls.run_debug:
        logger.debug("Running %r", t)
      try:
        if t.handler is not None:
          t.handler()
        else:
          logger.warning("Timer %r expired with no handler set", t)
      except (ExitNow, SystemExit):
        raise
      except Exception, e:
        if t.errback is not None:
          t.errback(e)
        else:
          logger.exception("Unhandled exception from timer %r", t)
async.py 文件源码 项目:RPKI-toolkit 作者: pavel-odintsov 项目源码 文件源码 阅读 23 收藏 0 点赞 0 评论 0
def runq(cls):
    """
    Run the timer queue: for each timer whose call time has passed,
    pull the timer off the queue and call its handler() method.

    Comparisions are made against time at which this function was
    called, so that even if new events keep getting scheduled, we'll
    return to the I/O loop reasonably quickly.
    """
    now = rpki.sundial.now()
    while timer_queue and now >= timer_queue[0].when:
      t = timer_queue.pop(0)
      if cls.run_debug:
        logger.debug("Running %r", t)
      try:
        if t.handler is not None:
          t.handler()
        else:
          logger.warning("Timer %r expired with no handler set", t)
      except (ExitNow, SystemExit):
        raise
      except Exception, e:
        if t.errback is not None:
          t.errback(e)
        else:
          logger.exception("Unhandled exception from timer %r", t)


问题


面经


文章

微信
公众号

扫码关注公众号