Ejemplo n.º 1
0
    def __init__(self, *args, **kwargs):
        super().__init__(*args, **kwargs)

        # widget -> message or None
        self.widget_message_dict = {}
        # message -> widget
        self.message_widget_dict = {}
        self.status_bar = None
        self.prompt_bar = None

        # lock when managing notifications:
        #  * when accessing self.notification_*
        #  * when accessing widgets
        # and most importantly, remember, locking is voodoo
        self.notifications_lock = threading.RLock()

        # populated when loop and UI are instantiated
        self.loop = None
        self.commander = None

        self.buffers = []
        self.buffer_movement_history = OrderedSet()

        self.main_list_buffer = None  # singleton

        self.current_buffer = None
Ejemplo n.º 2
0
def test_ordered_set():
    s = OrderedSet()
    s.append(1)
    assert s == [1]
    s.append(2)
    assert s == [1, 2]
    s.append(1)
    assert s == [2, 1]