def test_debug_false(self, set_debug_true): common.set_debug(False) assert common.debug is False
def main(): """ The main() function implements all of the logic that the GUI version of onionshare uses. """ strings.load_strings(common) print(strings._('version_string').format(common.get_version())) # Start the Qt app global qtapp qtapp = Application() # Parse arguments parser = argparse.ArgumentParser() parser.add_argument('--local-only', action='store_true', dest='local_only', help=strings._("help_local_only")) parser.add_argument('--stay-open', action='store_true', dest='stay_open', help=strings._("help_stay_open")) parser.add_argument('--debug', action='store_true', dest='debug', help=strings._("help_debug")) parser.add_argument('--filenames', metavar='filenames', nargs='+', help=strings._('help_filename')) parser.add_argument('--config', metavar='config', default=False, help=strings._('help_config')) args = parser.parse_args() filenames = args.filenames if filenames: for i in range(len(filenames)): filenames[i] = os.path.abspath(filenames[i]) config = args.config local_only = bool(args.local_only) stay_open = bool(args.stay_open) debug = bool(args.debug) # Debug mode? if debug: common.set_debug(debug) web.debug_mode() # Validation if filenames: valid = True for filename in filenames: if not os.path.exists(filename): Alert(strings._("not_a_file", True).format(filename)) valid = False if not os.access(filename, os.R_OK): Alert(strings._("not_a_readable_file", True).format(filename)) valid = False if not valid: sys.exit() # Start the Onion onion = Onion() # Start the OnionShare app web.set_stay_open(stay_open) app = OnionShare(onion, local_only, stay_open) # Launch the gui gui = OnionShareGui(onion, qtapp, app, filenames, config) # Clean up when app quits def shutdown(): onion.cleanup() app.cleanup() qtapp.aboutToQuit.connect(shutdown) # All done sys.exit(qtapp.exec_())