Example #1
0
class MainWindow(GtkBuilderWindow):

    builder_file = resources.get_file('glade', 'mainwindow.glade')

    def __init__(self, ip, port, tracker_url, streaming_port):
        super(MainWindow, self).__init__()
        self._create_peer_service(ip, port, tracker_url, streaming_port)
        self._configure_gui()

    def _create_peer_service(self, ip, port, tracker_url, streaming_port):
        self.peer_service = PeerService(ip, port, tracker_url, streaming_port)
        self.peer_service.on_peers_update.add_handler(self._update_peers)
        self.peer_service.listen()
        self.peer_service.connect_to_tracker()

    def _configure_gui(self):
        self.id_label.set_text(self.peer_service.peer_id)
        self.port_label.set_text(str(self.peer_service.port))

    def _update_peers(self, peers):
        for child in self.in_peers_box.get_children():
            self.in_peers_box.remove(child)

        for peer_id in self.peer_service.incoming_peers:
            label = gtk.Label(peer_id)
            self.in_peers_box.pack_start(label)

        self.in_peers_box.show_all()

        for child in self.out_peers_box.get_children():
            self.out_peers_box.remove(child)

        for peer_id in self.peer_service.outgoing_peers:
            label = gtk.Label(peer_id)
            self.out_peers_box.pack_start(label)

        self.out_peers_box.show_all()
Example #2
0
 def _create_peer_service(self, ip, port, tracker_url, streaming_port):
     self.peer_service = PeerService(ip, port, tracker_url, streaming_port)
     self.peer_service.on_peers_update.add_handler(self._update_peers)
     self.peer_service.listen()
     self.peer_service.connect_to_tracker()