mirror of
https://github.com/onionshare/onionshare.git
synced 2025-07-29 09:28:57 -04:00
Merge pull request #1932 from lamemakes/main
Added optional filename logging for individual file downloads
This commit is contained in:
commit
6e05ee4426
4 changed files with 37 additions and 8 deletions
|
@ -119,6 +119,13 @@ def main(cwd=None):
|
||||||
default=False,
|
default=False,
|
||||||
help="Share files: Continue sharing after files have been sent (default is to stop sharing)",
|
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(
|
parser.add_argument(
|
||||||
"--qr",
|
"--qr",
|
||||||
action="store_true",
|
action="store_true",
|
||||||
|
@ -204,6 +211,7 @@ def main(cwd=None):
|
||||||
disable_files = args.disable_files
|
disable_files = args.disable_files
|
||||||
disable_csp = bool(args.disable_csp)
|
disable_csp = bool(args.disable_csp)
|
||||||
custom_csp = args.custom_csp
|
custom_csp = args.custom_csp
|
||||||
|
log_filenames = bool(args.log_filenames)
|
||||||
verbose = bool(args.verbose)
|
verbose = bool(args.verbose)
|
||||||
|
|
||||||
# Verbose mode?
|
# Verbose mode?
|
||||||
|
@ -242,6 +250,7 @@ def main(cwd=None):
|
||||||
mode_settings.set("persistent", "mode", mode)
|
mode_settings.set("persistent", "mode", mode)
|
||||||
if mode == "share":
|
if mode == "share":
|
||||||
mode_settings.set("share", "autostop_sharing", autostop_sharing)
|
mode_settings.set("share", "autostop_sharing", autostop_sharing)
|
||||||
|
mode_settings.set("share", "log_filenames", log_filenames)
|
||||||
if mode == "receive":
|
if mode == "receive":
|
||||||
if data_dir:
|
if data_dir:
|
||||||
mode_settings.set("receive", "data_dir", data_dir)
|
mode_settings.set("receive", "data_dir", data_dir)
|
||||||
|
@ -259,6 +268,7 @@ def main(cwd=None):
|
||||||
if custom_csp:
|
if custom_csp:
|
||||||
mode_settings.set("website", "custom_csp", custom_csp)
|
mode_settings.set("website", "custom_csp", custom_csp)
|
||||||
mode_settings.set("website", "disable_csp", False)
|
mode_settings.set("website", "disable_csp", False)
|
||||||
|
mode_settings.set("website", "log_filenames", log_filenames)
|
||||||
else:
|
else:
|
||||||
# See what the persistent mode was
|
# See what the persistent mode was
|
||||||
mode = mode_settings.get("persistent", "mode")
|
mode = mode_settings.get("persistent", "mode")
|
||||||
|
|
|
@ -48,14 +48,23 @@ class ModeSettings:
|
||||||
"autostop_timer": False,
|
"autostop_timer": False,
|
||||||
"service_id": None,
|
"service_id": None,
|
||||||
},
|
},
|
||||||
"share": {"autostop_sharing": True, "filenames": []},
|
"share": {
|
||||||
|
"autostop_sharing": True,
|
||||||
|
"filenames": [],
|
||||||
|
"log_filenames": False,
|
||||||
|
},
|
||||||
"receive": {
|
"receive": {
|
||||||
"data_dir": self.build_default_receive_data_dir(),
|
"data_dir": self.build_default_receive_data_dir(),
|
||||||
"webhook_url": None,
|
"webhook_url": None,
|
||||||
"disable_text": False,
|
"disable_text": False,
|
||||||
"disable_files": False,
|
"disable_files": False,
|
||||||
},
|
},
|
||||||
"website": {"disable_csp": False, "custom_csp": None, "filenames": []},
|
"website": {
|
||||||
|
"disable_csp": False,
|
||||||
|
"custom_csp": None,
|
||||||
|
"log_filenames": False,
|
||||||
|
"filenames": []
|
||||||
|
},
|
||||||
"chat": {},
|
"chat": {},
|
||||||
}
|
}
|
||||||
self._settings = {}
|
self._settings = {}
|
||||||
|
|
|
@ -245,8 +245,14 @@ class SendBaseModeWeb:
|
||||||
or self.common.platform == "Linux"
|
or self.common.platform == "Linux"
|
||||||
or self.common.platform == "BSD"
|
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(
|
sys.stdout.write(
|
||||||
"\r{0:s}, {1:.2f}% ".format(
|
"\r{0}{1:s}, {2:.2f}% ".format(
|
||||||
|
filename_str,
|
||||||
self.common.human_readable_filesize(
|
self.common.human_readable_filesize(
|
||||||
downloaded_bytes
|
downloaded_bytes
|
||||||
),
|
),
|
||||||
|
@ -278,7 +284,6 @@ class SendBaseModeWeb:
|
||||||
|
|
||||||
fp.close()
|
fp.close()
|
||||||
|
|
||||||
if self.common.platform != "Darwin":
|
|
||||||
sys.stdout.write("\n")
|
sys.stdout.write("\n")
|
||||||
|
|
||||||
basename = os.path.basename(filesystem_path)
|
basename = os.path.basename(filesystem_path)
|
||||||
|
|
|
@ -346,8 +346,14 @@ class ShareModeWeb(SendBaseModeWeb):
|
||||||
or self.common.platform == "Linux"
|
or self.common.platform == "Linux"
|
||||||
or self.common.platform == "BSD"
|
or self.common.platform == "BSD"
|
||||||
):
|
):
|
||||||
|
if self.web.settings.get("share", "log_filenames"):
|
||||||
|
filename_str = f"{path} - "
|
||||||
|
else:
|
||||||
|
filename_str = ""
|
||||||
|
|
||||||
sys.stdout.write(
|
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),
|
self.common.human_readable_filesize(downloaded_bytes),
|
||||||
percent,
|
percent,
|
||||||
)
|
)
|
||||||
|
@ -376,7 +382,6 @@ class ShareModeWeb(SendBaseModeWeb):
|
||||||
|
|
||||||
fp.close()
|
fp.close()
|
||||||
|
|
||||||
if self.common.platform != "Darwin":
|
|
||||||
sys.stdout.write("\n")
|
sys.stdout.write("\n")
|
||||||
|
|
||||||
# Download is finished
|
# Download is finished
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue