'Blocking call to retrieve n events'

def __call__(self, n=1, timeout=30):

    if (not isinstance(n, int)):
        raise ValueError(u'Requires    an    integer    argument')
    self.n = n
    self.events = []
    self.callbacks = []
    if hasattr(self.fig, u'manager'):
        self.fig.show()
    for n in self.eventslist:
        self.callbacks.append(self.fig.canvas.mpl_connect(n, self.on_event))
    try:
        self.fig.canvas.start_event_loop(timeout=timeout)
    finally:
        self.cleanup()
    return self.events
