def start(self): logger.debug("client pid:%s" % os.getpid()) import argparse parser = argparse.ArgumentParser() self.add_default_arguments(parser, local_port_required=False) parser.add_argument("--file-token", default="", help="The token needed to download the file.") parser.add_argument("filename", help="The file you want to openport.") args = parser.parse_args() if args.no_gui: args.hide_message = True args.no_clipboard = True self.args = args def show_message_box(share): import wx wx.MessageBox( "You can now download your file(s) from %s\nThis link has been copied to your clipboard." % (share.get_link()), "Info", wx.OK | wx.ICON_INFORMATION, ) def get_restart_command_for_share(share): command = self.get_restart_command(share) if not "--file-token" in command: command.extend(["--file-token", share.token]) return command self.first_time = True def callback(ignore): # global first_time if not self.first_time: return self.first_time = False share.restart_command = get_restart_command_for_share(share) if args.tray_port > 0: self.inform_tray_app_new(share, args.tray_port, start_tray=(not args.no_tray)) share.error_observers.append(self.error_callback) share.success_observers.append(self.success_callback) if not args.no_clipboard: self.copy_share_to_clipboard(share) if args.hide_message: logger.info("Your file can be downloaded from %s" % share.get_link()) else: self.show_message_box(share) share = Share() if args.file_token == "": share.token = crypt_service.get_token() else: share.token = args.file_token share.filePath = os.path.join(os.getcwd(), args.filename) share.server_port = args.request_port share.local_port = args.local_port share.server_session_token = args.request_token self.session = share self.open_port_file(share, callback) while True: sleep(1)
def get_share(self, path): share = Share() share.filePath = path share.token = TOKEN return share