Merge pull request #1932 from lamemakes/main

Added optional filename logging for individual file downloads
This commit is contained in:
mig5 2025-02-08 16:54:20 +11:00 committed by GitHub
commit 6e05ee4426
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
4 changed files with 37 additions and 8 deletions

View File

@ -119,6 +119,13 @@ def main(cwd=None):
default=False,
help="Share files: Continue sharing after files have been sent (default is to stop sharing)",
)
parser.add_argument(
"--log-filenames",
action="store_true",
dest="log_filenames",
default=False,
help="Log file download activity to stdout"
)
parser.add_argument(
"--qr",
action="store_true",
@ -204,6 +211,7 @@ def main(cwd=None):
disable_files = args.disable_files
disable_csp = bool(args.disable_csp)
custom_csp = args.custom_csp
log_filenames = bool(args.log_filenames)
verbose = bool(args.verbose)
# Verbose mode?
@ -242,6 +250,7 @@ def main(cwd=None):
mode_settings.set("persistent", "mode", mode)
if mode == "share":
mode_settings.set("share", "autostop_sharing", autostop_sharing)
mode_settings.set("share", "log_filenames", log_filenames)
if mode == "receive":
if data_dir:
mode_settings.set("receive", "data_dir", data_dir)
@ -259,6 +268,7 @@ def main(cwd=None):
if custom_csp:
mode_settings.set("website", "custom_csp", custom_csp)
mode_settings.set("website", "disable_csp", False)
mode_settings.set("website", "log_filenames", log_filenames)
else:
# See what the persistent mode was
mode = mode_settings.get("persistent", "mode")

View File

@ -48,14 +48,23 @@ class ModeSettings:
"autostop_timer": False,
"service_id": None,
},
"share": {"autostop_sharing": True, "filenames": []},
"share": {
"autostop_sharing": True,
"filenames": [],
"log_filenames": False,
},
"receive": {
"data_dir": self.build_default_receive_data_dir(),
"webhook_url": None,
"disable_text": False,
"disable_files": False,
},
"website": {"disable_csp": False, "custom_csp": None, "filenames": []},
"website": {
"disable_csp": False,
"custom_csp": None,
"log_filenames": False,
"filenames": []
},
"chat": {},
}
self._settings = {}

View File

@ -245,8 +245,14 @@ class SendBaseModeWeb:
or self.common.platform == "Linux"
or self.common.platform == "BSD"
):
if self.web.settings.get(self.web.mode, "log_filenames"):
filename_str = f"{path} - "
else:
filename_str = ""
sys.stdout.write(
"\r{0:s}, {1:.2f}% ".format(
"\r{0}{1:s}, {2:.2f}% ".format(
filename_str,
self.common.human_readable_filesize(
downloaded_bytes
),
@ -278,8 +284,7 @@ class SendBaseModeWeb:
fp.close()
if self.common.platform != "Darwin":
sys.stdout.write("\n")
sys.stdout.write("\n")
basename = os.path.basename(filesystem_path)

View File

@ -346,8 +346,14 @@ class ShareModeWeb(SendBaseModeWeb):
or self.common.platform == "Linux"
or self.common.platform == "BSD"
):
if self.web.settings.get("share", "log_filenames"):
filename_str = f"{path} - "
else:
filename_str = ""
sys.stdout.write(
"\r{0:s}, {1:.2f}% ".format(
"\r{0}{1:s}, {2:.2f}% ".format(
filename_str,
self.common.human_readable_filesize(downloaded_bytes),
percent,
)
@ -376,8 +382,7 @@ class ShareModeWeb(SendBaseModeWeb):
fp.close()
if self.common.platform != "Darwin":
sys.stdout.write("\n")
sys.stdout.write("\n")
# Download is finished
if self.web.settings.get("share", "autostop_sharing"):