mirror of
https://github.com/onionshare/onionshare.git
synced 2024-10-01 01:35:40 -04:00
Added debug logging to OnionShareGui, SettingsDialog, TorConnectionDialog, and Alert objects
This commit is contained in:
parent
9c166a07d2
commit
f90d49fa4b
@ -27,6 +27,8 @@ class Alert(QtWidgets.QMessageBox):
|
|||||||
"""
|
"""
|
||||||
def __init__(self, message, icon=QtWidgets.QMessageBox.NoIcon, buttons=QtWidgets.QMessageBox.Ok, autostart=True):
|
def __init__(self, message, icon=QtWidgets.QMessageBox.NoIcon, buttons=QtWidgets.QMessageBox.Ok, autostart=True):
|
||||||
super(Alert, self).__init__(None)
|
super(Alert, self).__init__(None)
|
||||||
|
common.log('Alert', '__init__')
|
||||||
|
|
||||||
self.setWindowTitle("OnionShare")
|
self.setWindowTitle("OnionShare")
|
||||||
self.setWindowIcon(QtGui.QIcon(common.get_resource_path('images/logo.png')))
|
self.setWindowIcon(QtGui.QIcon(common.get_resource_path('images/logo.png')))
|
||||||
self.setText(message)
|
self.setText(message)
|
||||||
|
@ -46,6 +46,9 @@ class OnionShareGui(QtWidgets.QMainWindow):
|
|||||||
|
|
||||||
def __init__(self, onion, qtapp, app, filenames):
|
def __init__(self, onion, qtapp, app, filenames):
|
||||||
super(OnionShareGui, self).__init__()
|
super(OnionShareGui, self).__init__()
|
||||||
|
|
||||||
|
common.log('OnionShareGui', '__init__')
|
||||||
|
|
||||||
self.onion = onion
|
self.onion = onion
|
||||||
self.qtapp = qtapp
|
self.qtapp = qtapp
|
||||||
self.app = app
|
self.app = app
|
||||||
@ -146,6 +149,8 @@ class OnionShareGui(QtWidgets.QMainWindow):
|
|||||||
If the user cancels before Tor finishes connecting, ask if they want to
|
If the user cancels before Tor finishes connecting, ask if they want to
|
||||||
quit, or open settings.
|
quit, or open settings.
|
||||||
"""
|
"""
|
||||||
|
common.log('OnionShareGui', '_tor_connection_canceled')
|
||||||
|
|
||||||
def quit_settings_dialog():
|
def quit_settings_dialog():
|
||||||
a = Alert("Would you like to open OnionShare settings to troubleshoot connecting to Tor?", QtWidgets.QMessageBox.Question, buttons=QtWidgets.QMessageBox.NoButton, autostart=False)
|
a = Alert("Would you like to open OnionShare settings to troubleshoot connecting to Tor?", QtWidgets.QMessageBox.Question, buttons=QtWidgets.QMessageBox.NoButton, autostart=False)
|
||||||
settings_button = QtWidgets.QPushButton("Open Settings")
|
settings_button = QtWidgets.QPushButton("Open Settings")
|
||||||
@ -167,6 +172,8 @@ class OnionShareGui(QtWidgets.QMainWindow):
|
|||||||
"""
|
"""
|
||||||
The TorConnectionDialog wants to open the Settings dialog
|
The TorConnectionDialog wants to open the Settings dialog
|
||||||
"""
|
"""
|
||||||
|
common.log('OnionShareGui', '_tor_connection_open_settings')
|
||||||
|
|
||||||
def open_settings():
|
def open_settings():
|
||||||
SettingsDialog(self.onion, self.qtapp)
|
SettingsDialog(self.onion, self.qtapp)
|
||||||
|
|
||||||
@ -178,6 +185,8 @@ class OnionShareGui(QtWidgets.QMainWindow):
|
|||||||
Start the onionshare server. This uses multiple threads to start the Tor onion
|
Start the onionshare server. This uses multiple threads to start the Tor onion
|
||||||
server and the web app.
|
server and the web app.
|
||||||
"""
|
"""
|
||||||
|
common.log('OnionShareGui', 'start_server')
|
||||||
|
|
||||||
# First, load settings and configure
|
# First, load settings and configure
|
||||||
settings = Settings()
|
settings = Settings()
|
||||||
settings.load()
|
settings.load()
|
||||||
@ -214,6 +223,8 @@ class OnionShareGui(QtWidgets.QMainWindow):
|
|||||||
"""
|
"""
|
||||||
Step 2 in starting the onionshare server. Zipping up files.
|
Step 2 in starting the onionshare server. Zipping up files.
|
||||||
"""
|
"""
|
||||||
|
common.log('OnionShareGui', 'start_server_step2')
|
||||||
|
|
||||||
# add progress bar to the status bar, indicating the crunching of files.
|
# add progress bar to the status bar, indicating the crunching of files.
|
||||||
self._zip_progress_bar = ZipProgressBar(0)
|
self._zip_progress_bar = ZipProgressBar(0)
|
||||||
self._zip_progress_bar.total_files_size = OnionShareGui._compute_total_size(
|
self._zip_progress_bar.total_files_size = OnionShareGui._compute_total_size(
|
||||||
@ -244,6 +255,8 @@ class OnionShareGui(QtWidgets.QMainWindow):
|
|||||||
Step 3 in starting the onionshare server. This displays the large filesize
|
Step 3 in starting the onionshare server. This displays the large filesize
|
||||||
warning, if applicable.
|
warning, if applicable.
|
||||||
"""
|
"""
|
||||||
|
common.log('OnionShareGui', 'start_server_step3')
|
||||||
|
|
||||||
# Remove zip progress bar
|
# Remove zip progress bar
|
||||||
if self._zip_progress_bar is not None:
|
if self._zip_progress_bar is not None:
|
||||||
self.status_bar.removeWidget(self._zip_progress_bar)
|
self.status_bar.removeWidget(self._zip_progress_bar)
|
||||||
@ -258,6 +271,8 @@ class OnionShareGui(QtWidgets.QMainWindow):
|
|||||||
"""
|
"""
|
||||||
If there's an error when trying to start the onion service
|
If there's an error when trying to start the onion service
|
||||||
"""
|
"""
|
||||||
|
common.log('OnionShareGui', 'start_server_error')
|
||||||
|
|
||||||
Alert(error, QtWidgets.QMessageBox.Warning)
|
Alert(error, QtWidgets.QMessageBox.Warning)
|
||||||
self.server_status.stop_server()
|
self.server_status.stop_server()
|
||||||
self.status_bar.clearMessage()
|
self.status_bar.clearMessage()
|
||||||
@ -266,6 +281,8 @@ class OnionShareGui(QtWidgets.QMainWindow):
|
|||||||
"""
|
"""
|
||||||
Stop the onionshare server.
|
Stop the onionshare server.
|
||||||
"""
|
"""
|
||||||
|
common.log('OnionShareGui', 'stop_server')
|
||||||
|
|
||||||
if self.server_status.status != self.server_status.STATUS_STOPPED:
|
if self.server_status.status != self.server_status.STATUS_STOPPED:
|
||||||
web.stop(self.app.port)
|
web.stop(self.app.port)
|
||||||
self.app.cleanup()
|
self.app.cleanup()
|
||||||
@ -338,12 +355,14 @@ class OnionShareGui(QtWidgets.QMainWindow):
|
|||||||
"""
|
"""
|
||||||
When the URL gets copied to the clipboard, display this in the status bar.
|
When the URL gets copied to the clipboard, display this in the status bar.
|
||||||
"""
|
"""
|
||||||
|
common.log('OnionShareGui', 'copy_url')
|
||||||
self.status_bar.showMessage(strings._('gui_copied_url', True), 2000)
|
self.status_bar.showMessage(strings._('gui_copied_url', True), 2000)
|
||||||
|
|
||||||
def copy_hidservauth(self):
|
def copy_hidservauth(self):
|
||||||
"""
|
"""
|
||||||
When the stealth onion service HidServAuth gets copied to the clipboard, display this in the status bar.
|
When the stealth onion service HidServAuth gets copied to the clipboard, display this in the status bar.
|
||||||
"""
|
"""
|
||||||
|
common.log('OnionShareGui', 'copy_hidservauth')
|
||||||
self.status_bar.showMessage(strings._('gui_copied_hidservauth', True), 2000)
|
self.status_bar.showMessage(strings._('gui_copied_hidservauth', True), 2000)
|
||||||
|
|
||||||
def clear_message(self):
|
def clear_message(self):
|
||||||
@ -353,6 +372,7 @@ class OnionShareGui(QtWidgets.QMainWindow):
|
|||||||
self.status_bar.clearMessage()
|
self.status_bar.clearMessage()
|
||||||
|
|
||||||
def closeEvent(self, e):
|
def closeEvent(self, e):
|
||||||
|
common.log('OnionShareGui', 'closeEvent')
|
||||||
try:
|
try:
|
||||||
if self.server_status.status != self.server_status.STATUS_STOPPED:
|
if self.server_status.status != self.server_status.STATUS_STOPPED:
|
||||||
dialog = QtWidgets.QMessageBox()
|
dialog = QtWidgets.QMessageBox()
|
||||||
|
@ -33,6 +33,8 @@ class SettingsDialog(QtWidgets.QDialog):
|
|||||||
"""
|
"""
|
||||||
def __init__(self, onion, qtapp):
|
def __init__(self, onion, qtapp):
|
||||||
super(SettingsDialog, self).__init__()
|
super(SettingsDialog, self).__init__()
|
||||||
|
common.log('SettingsDialog', '__init__')
|
||||||
|
|
||||||
self.onion = onion
|
self.onion = onion
|
||||||
self.qtapp = qtapp
|
self.qtapp = qtapp
|
||||||
|
|
||||||
@ -283,6 +285,7 @@ class SettingsDialog(QtWidgets.QDialog):
|
|||||||
"""
|
"""
|
||||||
Connection type bundled was toggled. If checked, hide authentication fields.
|
Connection type bundled was toggled. If checked, hide authentication fields.
|
||||||
"""
|
"""
|
||||||
|
common.log('SettingsDialog', 'connection_type_bundled_toggled')
|
||||||
if checked:
|
if checked:
|
||||||
self.authenticate_group.hide()
|
self.authenticate_group.hide()
|
||||||
self.connection_type_socks.hide()
|
self.connection_type_socks.hide()
|
||||||
@ -291,6 +294,7 @@ class SettingsDialog(QtWidgets.QDialog):
|
|||||||
"""
|
"""
|
||||||
Connection type automatic was toggled. If checked, hide authentication fields.
|
Connection type automatic was toggled. If checked, hide authentication fields.
|
||||||
"""
|
"""
|
||||||
|
common.log('SettingsDialog', 'connection_type_automatic_toggled')
|
||||||
if checked:
|
if checked:
|
||||||
self.authenticate_group.hide()
|
self.authenticate_group.hide()
|
||||||
self.connection_type_socks.hide()
|
self.connection_type_socks.hide()
|
||||||
@ -300,6 +304,7 @@ class SettingsDialog(QtWidgets.QDialog):
|
|||||||
Connection type control port was toggled. If checked, show extra fields
|
Connection type control port was toggled. If checked, show extra fields
|
||||||
for Tor control address and port. If unchecked, hide those extra fields.
|
for Tor control address and port. If unchecked, hide those extra fields.
|
||||||
"""
|
"""
|
||||||
|
common.log('SettingsDialog', 'connection_type_control_port_toggled')
|
||||||
if checked:
|
if checked:
|
||||||
self.authenticate_group.show()
|
self.authenticate_group.show()
|
||||||
self.connection_type_control_port_extras.show()
|
self.connection_type_control_port_extras.show()
|
||||||
@ -313,6 +318,7 @@ class SettingsDialog(QtWidgets.QDialog):
|
|||||||
Connection type socket file was toggled. If checked, show extra fields
|
Connection type socket file was toggled. If checked, show extra fields
|
||||||
for socket file. If unchecked, hide those extra fields.
|
for socket file. If unchecked, hide those extra fields.
|
||||||
"""
|
"""
|
||||||
|
common.log('SettingsDialog', 'connection_type_socket_file_toggled')
|
||||||
if checked:
|
if checked:
|
||||||
self.authenticate_group.show()
|
self.authenticate_group.show()
|
||||||
self.connection_type_socket_file_extras.show()
|
self.connection_type_socket_file_extras.show()
|
||||||
@ -324,13 +330,14 @@ class SettingsDialog(QtWidgets.QDialog):
|
|||||||
"""
|
"""
|
||||||
Authentication option no authentication was toggled.
|
Authentication option no authentication was toggled.
|
||||||
"""
|
"""
|
||||||
pass
|
common.log('SettingsDialog', 'authenticate_no_auth_toggled')
|
||||||
|
|
||||||
def authenticate_password_toggled(self, checked):
|
def authenticate_password_toggled(self, checked):
|
||||||
"""
|
"""
|
||||||
Authentication option password was toggled. If checked, show extra fields
|
Authentication option password was toggled. If checked, show extra fields
|
||||||
for password auth. If unchecked, hide those extra fields.
|
for password auth. If unchecked, hide those extra fields.
|
||||||
"""
|
"""
|
||||||
|
common.log('SettingsDialog', 'authenticate_password_toggled')
|
||||||
if checked:
|
if checked:
|
||||||
self.authenticate_password_extras.show()
|
self.authenticate_password_extras.show()
|
||||||
else:
|
else:
|
||||||
@ -341,6 +348,7 @@ class SettingsDialog(QtWidgets.QDialog):
|
|||||||
Test Tor Settings button clicked. With the given settings, see if we can
|
Test Tor Settings button clicked. With the given settings, see if we can
|
||||||
successfully connect and authenticate to Tor.
|
successfully connect and authenticate to Tor.
|
||||||
"""
|
"""
|
||||||
|
common.log('SettingsDialog', 'test_tor_clicked')
|
||||||
settings = self.settings_from_fields()
|
settings = self.settings_from_fields()
|
||||||
|
|
||||||
try:
|
try:
|
||||||
@ -374,6 +382,7 @@ class SettingsDialog(QtWidgets.QDialog):
|
|||||||
"""
|
"""
|
||||||
Check for Updates button clicked. Manually force an update check.
|
Check for Updates button clicked. Manually force an update check.
|
||||||
"""
|
"""
|
||||||
|
common.log('SettingsDialog', 'check_for_updates')
|
||||||
# Disable buttons
|
# Disable buttons
|
||||||
self._disable_buttons()
|
self._disable_buttons()
|
||||||
self.qtapp.processEvents()
|
self.qtapp.processEvents()
|
||||||
@ -408,6 +417,8 @@ class SettingsDialog(QtWidgets.QDialog):
|
|||||||
"""
|
"""
|
||||||
Save button clicked. Save current settings to disk.
|
Save button clicked. Save current settings to disk.
|
||||||
"""
|
"""
|
||||||
|
common.log('SettingsDialog', 'save_clicked')
|
||||||
|
|
||||||
settings = self.settings_from_fields()
|
settings = self.settings_from_fields()
|
||||||
settings.save()
|
settings.save()
|
||||||
self.close()
|
self.close()
|
||||||
@ -416,12 +427,14 @@ class SettingsDialog(QtWidgets.QDialog):
|
|||||||
"""
|
"""
|
||||||
Cancel button clicked.
|
Cancel button clicked.
|
||||||
"""
|
"""
|
||||||
|
common.log('SettingsDialog', 'cancel_clicked')
|
||||||
self.close()
|
self.close()
|
||||||
|
|
||||||
def settings_from_fields(self):
|
def settings_from_fields(self):
|
||||||
"""
|
"""
|
||||||
Return a Settings object that's full of values from the settings dialog.
|
Return a Settings object that's full of values from the settings dialog.
|
||||||
"""
|
"""
|
||||||
|
common.log('SettingsDialog', 'settings_from_fields')
|
||||||
settings = Settings()
|
settings = Settings()
|
||||||
settings.load() # To get the last update timestamp
|
settings.load() # To get the last update timestamp
|
||||||
|
|
||||||
@ -454,6 +467,8 @@ class SettingsDialog(QtWidgets.QDialog):
|
|||||||
return settings
|
return settings
|
||||||
|
|
||||||
def _update_autoupdate_timestamp(self, autoupdate_timestamp):
|
def _update_autoupdate_timestamp(self, autoupdate_timestamp):
|
||||||
|
common.log('SettingsDialog', '_update_autoupdate_timestamp')
|
||||||
|
|
||||||
if autoupdate_timestamp:
|
if autoupdate_timestamp:
|
||||||
dt = datetime.datetime.fromtimestamp(autoupdate_timestamp)
|
dt = datetime.datetime.fromtimestamp(autoupdate_timestamp)
|
||||||
last_checked = dt.strftime('%B %d, %Y %H:%M')
|
last_checked = dt.strftime('%B %d, %Y %H:%M')
|
||||||
@ -469,12 +484,16 @@ class SettingsDialog(QtWidgets.QDialog):
|
|||||||
self._enable_buttons()
|
self._enable_buttons()
|
||||||
|
|
||||||
def _disable_buttons(self):
|
def _disable_buttons(self):
|
||||||
|
common.log('SettingsDialog', '_disable_buttons')
|
||||||
|
|
||||||
self.check_for_updates_button.setEnabled(False)
|
self.check_for_updates_button.setEnabled(False)
|
||||||
self.connection_type_test_button.setEnabled(False)
|
self.connection_type_test_button.setEnabled(False)
|
||||||
self.save_button.setEnabled(False)
|
self.save_button.setEnabled(False)
|
||||||
self.cancel_button.setEnabled(False)
|
self.cancel_button.setEnabled(False)
|
||||||
|
|
||||||
def _enable_buttons(self):
|
def _enable_buttons(self):
|
||||||
|
common.log('SettingsDialog', '_enable_buttons')
|
||||||
|
|
||||||
self.check_for_updates_button.setEnabled(True)
|
self.check_for_updates_button.setEnabled(True)
|
||||||
self.connection_type_test_button.setEnabled(True)
|
self.connection_type_test_button.setEnabled(True)
|
||||||
self.save_button.setEnabled(True)
|
self.save_button.setEnabled(True)
|
||||||
|
@ -32,6 +32,8 @@ class TorConnectionDialog(QtWidgets.QProgressDialog):
|
|||||||
|
|
||||||
def __init__(self, settings, onion):
|
def __init__(self, settings, onion):
|
||||||
super(TorConnectionDialog, self).__init__(None)
|
super(TorConnectionDialog, self).__init__(None)
|
||||||
|
common.log('TorConnectionDialog', '__init__')
|
||||||
|
|
||||||
self.settings = settings
|
self.settings = settings
|
||||||
self.onion = onion
|
self.onion = onion
|
||||||
|
|
||||||
@ -49,6 +51,8 @@ class TorConnectionDialog(QtWidgets.QProgressDialog):
|
|||||||
self.setMinimumDuration(100)
|
self.setMinimumDuration(100)
|
||||||
|
|
||||||
def start(self):
|
def start(self):
|
||||||
|
common.log('TorConnectionDialog', 'start')
|
||||||
|
|
||||||
# If bundled tor, prepare to display Tor connection status
|
# If bundled tor, prepare to display Tor connection status
|
||||||
if self.settings.get('connection_type') == 'bundled':
|
if self.settings.get('connection_type') == 'bundled':
|
||||||
tor_status_update = self.tor_status_update
|
tor_status_update = self.tor_status_update
|
||||||
|
Loading…
Reference in New Issue
Block a user