Skip to content

Commit

Permalink
Wrapped connect() calls for extended tracebacks
Browse files Browse the repository at this point in the history
  • Loading branch information
qstokkink authored and ichorid committed Dec 9, 2020
1 parent 16d1b03 commit 9d8f961
Show file tree
Hide file tree
Showing 33 changed files with 333 additions and 236 deletions.
8 changes: 5 additions & 3 deletions src/tribler-gui/tribler_gui/code_executor.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,6 +7,8 @@

from PyQt5.QtNetwork import QTcpServer

from tribler_gui.utilities import connect


class CodeExecutor(object):
"""
Expand All @@ -29,15 +31,15 @@ def __init__(self, port, shell_variables={}):
if not self.tcp_server.listen(port=port):
self.logger.error("Unable to start code execution socket! Error: %s", self.tcp_server.errorString())
else:
self.tcp_server.newConnection.connect(self._on_new_connection)
connect(self.tcp_server.newConnection, self._on_new_connection)

self.shell = Console(locals=shell_variables)

def _on_new_connection(self):
while self.tcp_server.hasPendingConnections():
socket = self.tcp_server.nextPendingConnection()
socket.readyRead.connect(self._on_socket_read_ready)
socket.disconnected.connect(lambda dc_socket=socket: self._on_socket_disconnect(dc_socket))
connect(socket.readyRead, self._on_socket_read_ready)
connect(socket.disconnected, lambda dc_socket=socket: self._on_socket_disconnect(dc_socket))
self.sockets.append(socket)

# If Tribler has crashed, notify the other side immediately
Expand Down
10 changes: 5 additions & 5 deletions src/tribler-gui/tribler_gui/core_manager.py
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@

from tribler_gui.event_request_manager import EventRequestManager
from tribler_gui.tribler_request_manager import TriblerNetworkRequest
from tribler_gui.utilities import get_base_path
from tribler_gui.utilities import connect, get_base_path

START_FAKE_API = False

Expand Down Expand Up @@ -89,7 +89,7 @@ def on_request_error(_):
self.start_tribler_core(core_args=core_args, core_env=core_env)

self.events_manager.connect()
self.events_manager.reply.error.connect(on_request_error)
connect(self.events_manager.reply.error, on_request_error)
# This is a hack to determine if we have notify the user to wait for the directory fork to finish
_, _, src_dir, tgt_dir = should_fork_state_directory(get_root_state_directory(), version_id)
if src_dir is not None:
Expand All @@ -112,8 +112,8 @@ def start_tribler_core(self, core_args=None, core_env=None):
self.core_process.setProcessEnvironment(core_env)
self.core_process.setReadChannel(QProcess.StandardOutput)
self.core_process.setProcessChannelMode(QProcess.MergedChannels)
self.core_process.readyRead.connect(self.on_core_read_ready)
self.core_process.finished.connect(self.on_core_finished)
connect(self.core_process.readyRead, self.on_core_read_ready)
connect(self.core_process.finished, self.on_core_finished)
self.core_process.start(sys.executable, core_args)

self.check_core_ready()
Expand All @@ -127,7 +127,7 @@ def on_received_state(self, state):
if not state or 'state' not in state or state['state'] not in ['STARTED', 'EXCEPTION']:
self.check_state_timer = QTimer()
self.check_state_timer.setSingleShot(True)
self.check_state_timer.timeout.connect(self.check_core_ready)
connect(self.check_state_timer.timeout, self.check_core_ready)
self.check_state_timer.start(50)
return

Expand Down
42 changes: 21 additions & 21 deletions src/tribler-gui/tribler_gui/debug_window.py
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@
from tribler_gui.dialogs.confirmationdialog import ConfirmationDialog
from tribler_gui.event_request_manager import received_events as tribler_received_events
from tribler_gui.tribler_request_manager import TriblerNetworkRequest, performed_requests as tribler_performed_requests
from tribler_gui.utilities import format_size, get_ui_file_path
from tribler_gui.utilities import connect, format_size, get_ui_file_path
from tribler_gui.widgets.graphs.timeseriesplot import TimeSeriesPlot
from tribler_gui.widgets.ipv8health import MonitorWidget

Expand Down Expand Up @@ -75,21 +75,21 @@ def __init__(self, settings, tribler_version):
uic.loadUi(get_ui_file_path('debugwindow.ui'), self)
self.setWindowTitle("Tribler debug pane")

self.window().dump_memory_core_button.clicked.connect(lambda: self.on_memory_dump_button_clicked(True))
self.window().dump_memory_gui_button.clicked.connect(lambda: self.on_memory_dump_button_clicked(False))
self.window().toggle_profiler_button.clicked.connect(self.on_toggle_profiler_button_clicked)
connect(self.window().dump_memory_core_button.clicked, lambda: self.on_memory_dump_button_clicked(True))
connect(self.window().dump_memory_gui_button.clicked, lambda: self.on_memory_dump_button_clicked(False))
connect(self.window().toggle_profiler_button.clicked, self.on_toggle_profiler_button_clicked)

self.window().debug_tab_widget.setCurrentIndex(0)
self.window().ipv8_tab_widget.setCurrentIndex(0)
self.window().tunnel_tab_widget.setCurrentIndex(0)
self.window().dht_tab_widget.setCurrentIndex(0)
self.window().system_tab_widget.setCurrentIndex(0)
self.window().debug_tab_widget.currentChanged.connect(self.tab_changed)
self.window().ipv8_tab_widget.currentChanged.connect(self.ipv8_tab_changed)
self.window().tunnel_tab_widget.currentChanged.connect(self.tunnel_tab_changed)
self.window().dht_tab_widget.currentChanged.connect(self.dht_tab_changed)
self.window().events_tree_widget.itemClicked.connect(self.on_event_clicked)
self.window().system_tab_widget.currentChanged.connect(self.system_tab_changed)
connect(self.window().debug_tab_widget.currentChanged, self.tab_changed)
connect(self.window().ipv8_tab_widget.currentChanged, self.ipv8_tab_changed)
connect(self.window().tunnel_tab_widget.currentChanged, self.tunnel_tab_changed)
connect(self.window().dht_tab_widget.currentChanged, self.dht_tab_changed)
connect(self.window().events_tree_widget.itemClicked, self.on_event_clicked)
connect(self.window().system_tab_widget.currentChanged, self.system_tab_changed)
self.load_general_tab()

self.window().open_files_tree_widget.header().setSectionResizeMode(0, QHeaderView.Stretch)
Expand All @@ -101,8 +101,8 @@ def __init__(self, settings, tribler_version):
self.window().system_tab_widget.setTabEnabled(4, settings and settings['resource_monitor']['enabled'])

# Refresh logs
self.window().log_refresh_button.clicked.connect(lambda: self.load_logs_tab())
self.window().log_tab_widget.currentChanged.connect(lambda index: self.load_logs_tab())
connect(self.window().log_refresh_button.clicked, lambda: self.load_logs_tab())
connect(self.window().log_tab_widget.currentChanged, lambda index: self.load_logs_tab())

# IPv8 statistics enabled?
self.ipv8_statistics_enabled = settings['ipv8']['statistics']
Expand Down Expand Up @@ -137,7 +137,7 @@ def run_with_timer(self, call_fn, timeout=DEBUG_PANE_REFRESH_TIMEOUT):
self.stop_timer()
self.refresh_timer = QTimer()
self.refresh_timer.setSingleShot(True)
self.refresh_timer.timeout.connect(
connect(self.refresh_timer.timeout,
lambda _call_fn=call_fn, _timeout=timeout: self.run_with_timer(_call_fn, timeout=_timeout)
)
self.refresh_timer.start(timeout)
Expand All @@ -152,13 +152,13 @@ def stop_timer(self):

def init_libtorrent_tab(self):
self.window().libtorrent_tab_widget.setCurrentIndex(0)
self.window().libtorrent_tab_widget.currentChanged.connect(lambda _: self.load_libtorrent_data(export=False))
connect(self.window().libtorrent_tab_widget.currentChanged, lambda _: self.load_libtorrent_data(export=False))

self.window().lt_zero_hop_btn.clicked.connect(lambda _: self.load_libtorrent_data(export=False))
self.window().lt_one_hop_btn.clicked.connect(lambda _: self.load_libtorrent_data(export=False))
self.window().lt_two_hop_btn.clicked.connect(lambda _: self.load_libtorrent_data(export=False))
self.window().lt_three_hop_btn.clicked.connect(lambda _: self.load_libtorrent_data(export=False))
self.window().lt_export_btn.clicked.connect(lambda _: self.load_libtorrent_data(export=True))
connect(self.window().lt_zero_hop_btn.clicked, lambda _: self.load_libtorrent_data(export=False))
connect(self.window().lt_one_hop_btn.clicked, lambda _: self.load_libtorrent_data(export=False))
connect(self.window().lt_two_hop_btn.clicked, lambda _: self.load_libtorrent_data(export=False))
connect(self.window().lt_three_hop_btn.clicked, lambda _: self.load_libtorrent_data(export=False))
connect(self.window().lt_export_btn.clicked, lambda _: self.load_libtorrent_data(export=True))

self.window().lt_zero_hop_btn.setChecked(True)

Expand Down Expand Up @@ -655,7 +655,7 @@ def load_cpu_tab(self):

# Start timer
self.cpu_plot_timer = QTimer()
self.cpu_plot_timer.timeout.connect(self.load_cpu_tab)
connect(self.cpu_plot_timer.timeout, self.load_cpu_tab)
self.cpu_plot_timer.start(5000)

def refresh_cpu_plot(self):
Expand All @@ -681,7 +681,7 @@ def load_memory_tab(self):

# Start timer
self.memory_plot_timer = QTimer()
self.memory_plot_timer.timeout.connect(self.load_memory_tab)
connect(self.memory_plot_timer.timeout, self.load_memory_tab)
self.memory_plot_timer.start(5000)

def load_profiler_tab(self):
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
from tribler_gui.dialogs.dialogcontainer import DialogContainer
from tribler_gui.dialogs.new_channel_dialog import NewChannelDialog
from tribler_gui.tribler_request_manager import TriblerNetworkRequest
from tribler_gui.utilities import get_ui_file_path
from tribler_gui.utilities import connect, get_ui_file_path


class DownloadFileTreeWidgetItem(QTreeWidgetItem):
Expand All @@ -29,18 +29,18 @@ class AddToChannelDialog(DialogContainer):
def __init__(self, parent):
DialogContainer.__init__(self, parent)
uic.loadUi(get_ui_file_path('addtochanneldialog.ui'), self.dialog_widget)
self.dialog_widget.btn_cancel.clicked.connect(self.close_dialog)
self.dialog_widget.btn_confirm.clicked.connect(self.on_confirm_clicked)
self.dialog_widget.btn_new_channel.clicked.connect(self.on_create_new_channel_clicked)
self.dialog_widget.btn_new_folder.clicked.connect(self.on_create_new_folder_clicked)
connect(self.dialog_widget.btn_cancel.clicked, self.close_dialog)
connect(self.dialog_widget.btn_confirm.clicked, self.on_confirm_clicked)
connect(self.dialog_widget.btn_new_channel.clicked, self.on_create_new_channel_clicked)
connect(self.dialog_widget.btn_new_folder.clicked, self.on_create_new_folder_clicked)

self.confirm_clicked_callback = None

self.root_requests_list = []

self.channels_tree = {}
self.id2wt_mapping = {0: self.dialog_widget.channels_tree_wt}
self.dialog_widget.channels_tree_wt.itemExpanded.connect(self.on_item_expanded)
connect(self.dialog_widget.channels_tree_wt.itemExpanded, self.on_item_expanded)

self.dialog_widget.channels_tree_wt.setHeaderLabels(['Name'])
self.on_main_window_resize()
Expand Down
12 changes: 6 additions & 6 deletions src/tribler-gui/tribler_gui/dialogs/confirmationdialog.py
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@

from tribler_gui.defs import BUTTON_TYPE_NORMAL
from tribler_gui.dialogs.dialogcontainer import DialogContainer
from tribler_gui.utilities import get_ui_file_path
from tribler_gui.utilities import connect, get_ui_file_path
from tribler_gui.widgets.ellipsebutton import EllipseButton


Expand All @@ -28,7 +28,7 @@ def __init__(self, parent, title, main_text, buttons, show_input=False, checkbox
if not show_input:
self.dialog_widget.dialog_input.setHidden(True)
else:
self.dialog_widget.dialog_input.returnPressed.connect(lambda: self.button_clicked.emit(0))
connect(self.dialog_widget.dialog_input.returnPressed, lambda: self.button_clicked.emit(0))

if not checkbox_text:
self.dialog_widget.checkbox.setHidden(True)
Expand All @@ -45,7 +45,7 @@ def __init__(self, parent, title, main_text, buttons, show_input=False, checkbox
hspacer_right = QSpacerItem(1, 1, QSizePolicy.Expanding, QSizePolicy.Fixed)
self.dialog_widget.dialog_button_container.layout().addSpacerItem(hspacer_right)

self.window().escape_pressed.connect(self.close_dialog)
connect(self.window().escape_pressed, self.close_dialog)
self.on_main_window_resize()

@classmethod
Expand All @@ -55,7 +55,7 @@ def show_error(cls, window, title, error_text):
def on_close():
error_dialog.close_dialog()

error_dialog.button_clicked.connect(on_close)
connect(error_dialog.button_clicked, on_close)
error_dialog.show()
return error_dialog

Expand All @@ -66,7 +66,7 @@ def show_message(cls, window, title, message_text, button_text):
def on_close():
error_dialog.close_dialog()

error_dialog.button_clicked.connect(on_close)
connect(error_dialog.button_clicked, on_close)
error_dialog.show()
return error_dialog

Expand Down Expand Up @@ -95,4 +95,4 @@ def create_button(self, index, button_text, _):
)

self.dialog_widget.dialog_button_container.layout().addWidget(button)
button.clicked.connect(lambda: self.button_clicked.emit(index))
connect(button.clicked, lambda: self.button_clicked.emit(index))
18 changes: 9 additions & 9 deletions src/tribler-gui/tribler_gui/dialogs/createtorrentdialog.py
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@
from tribler_gui.dialogs.dialogcontainer import DialogContainer
from tribler_gui.tribler_action_menu import TriblerActionMenu
from tribler_gui.tribler_request_manager import TriblerNetworkRequest
from tribler_gui.utilities import get_ui_file_path, is_dir_writable
from tribler_gui.utilities import connect, get_ui_file_path, is_dir_writable


class DownloadFileTreeWidgetItem(QTreeWidgetItem):
Expand All @@ -29,13 +29,13 @@ def __init__(self, parent):
uic.loadUi(get_ui_file_path('createtorrentdialog.ui'), self.dialog_widget)

self.dialog_widget.setSizePolicy(QSizePolicy.Fixed, QSizePolicy.Expanding)
self.dialog_widget.btn_cancel.clicked.connect(self.close_dialog)
self.dialog_widget.create_torrent_choose_files_button.clicked.connect(self.on_choose_files_clicked)
self.dialog_widget.create_torrent_choose_dir_button.clicked.connect(self.on_choose_dir_clicked)
self.dialog_widget.btn_create.clicked.connect(self.on_create_clicked)
self.dialog_widget.create_torrent_files_list.customContextMenuRequested.connect(self.on_right_click_file_item)
connect(self.dialog_widget.btn_cancel.clicked, self.close_dialog)
connect(self.dialog_widget.create_torrent_choose_files_button.clicked, self.on_choose_files_clicked)
connect(self.dialog_widget.create_torrent_choose_dir_button.clicked, self.on_choose_dir_clicked)
connect(self.dialog_widget.btn_create.clicked, self.on_create_clicked)
connect(self.dialog_widget.create_torrent_files_list.customContextMenuRequested, self.on_right_click_file_item)
self.dialog_widget.create_torrent_files_list.clear()
self.dialog_widget.save_directory_chooser.clicked.connect(self.on_select_save_directory)
connect(self.dialog_widget.save_directory_chooser.clicked, self.on_select_save_directory)
self.dialog_widget.edit_channel_create_torrent_progress_label.setText("")
self.dialog_widget.file_export_dir.setText(os.path.expanduser("~"))
self.dialog_widget.adjustSize()
Expand Down Expand Up @@ -86,7 +86,7 @@ def on_create_clicked(self):
[('CLOSE', BUTTON_TYPE_NORMAL)],
)

dialog.button_clicked.connect(dialog.close_dialog)
connect(dialog.button_clicked, dialog.close_dialog)
dialog.show()
return

Expand Down Expand Up @@ -165,7 +165,7 @@ def on_right_click_file_item(self, pos):
selected_item_index = self.dialog_widget.create_torrent_files_list.row(item_clicked)

remove_action = QAction('Remove file', self)
remove_action.triggered.connect(lambda index=selected_item_index: self.on_remove_entry(index))
connect(remove_action.triggered, lambda index=selected_item_index: self.on_remove_entry(index))

menu = TriblerActionMenu(self)
menu.addAction(remove_action)
Expand Down
4 changes: 3 additions & 1 deletion src/tribler-gui/tribler_gui/dialogs/dialogcontainer.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,8 @@
from PyQt5.QtGui import QPainter
from PyQt5.QtWidgets import QStyle, QStyleOption, QWidget

from tribler_gui.utilities import connect


class DialogContainer(QWidget):
def __init__(self, parent):
Expand All @@ -11,7 +13,7 @@ def __init__(self, parent):

self.dialog_widget = QWidget(self)

self.window().resize_event.connect(self.on_main_window_resize)
connect(self.window().resize_event, self.on_main_window_resize)

def paintEvent(self, _):
opt = QStyleOption()
Expand Down
10 changes: 5 additions & 5 deletions src/tribler-gui/tribler_gui/dialogs/feedbackdialog.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@
performed_requests as tribler_performed_requests,
tribler_urlencode,
)
from tribler_gui.utilities import get_ui_file_path
from tribler_gui.utilities import connect, get_ui_file_path


class FeedbackDialog(QDialog):
Expand All @@ -42,8 +42,8 @@ def add_item_to_info_widget(key, value):

self.error_text_edit.setPlainText(exception_text.rstrip())

self.cancel_button.clicked.connect(self.on_cancel_clicked)
self.send_report_button.clicked.connect(self.on_send_clicked)
connect(self.cancel_button.clicked, self.on_cancel_clicked)
connect(self.send_report_button.clicked, self.on_send_clicked)

# Add machine information to the tree widget
add_item_to_info_widget('os.getcwd', '%s' % os.getcwd())
Expand Down Expand Up @@ -83,7 +83,7 @@ def add_item_to_info_widget(key, value):
events_ind += 1

# Users can remove specific lines in the report
self.env_variables_list.customContextMenuRequested.connect(self.on_right_click_item)
connect(self.env_variables_list.customContextMenuRequested, self.on_right_click_item)

def on_remove_entry(self):
self.env_variables_list.takeTopLevelItem(self.selected_item_index)
Expand All @@ -98,7 +98,7 @@ def on_right_click_item(self, pos):
menu = TriblerActionMenu(self)

remove_action = QAction('Remove entry', self)
remove_action.triggered.connect(self.on_remove_entry)
connect(remove_action.triggered, self.on_remove_entry)
menu.addAction(remove_action)
menu.exec_(self.env_variables_list.mapToGlobal(pos))

Expand Down
3 changes: 2 additions & 1 deletion src/tribler-gui/tribler_gui/dialogs/new_channel_dialog.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,6 @@
from tribler_gui.defs import BUTTON_TYPE_CONFIRM, BUTTON_TYPE_NORMAL
from tribler_gui.dialogs.confirmationdialog import ConfirmationDialog
from tribler_gui.utilities import connect


class NewChannelDialog(ConfirmationDialog):
Expand All @@ -19,7 +20,7 @@ def __init__(self, parent, create_channel_callback):
self.create_channel_callback = create_channel_callback
self.dialog_widget.dialog_input.setPlaceholderText('Channel name')
self.dialog_widget.dialog_input.setFocus()
self.button_clicked.connect(self.on_channel_name_dialog_done)
connect(self.button_clicked, self.on_channel_name_dialog_done)
self.show()

def on_channel_name_dialog_done(self, action):
Expand Down
Loading

0 comments on commit 9d8f961

Please sign in to comment.