Summary
--folderoutput is honored by the --txt branch (sherlock.py ~825-831) and the --csv branch (~845-851), but the --xlsx branch hardcodes DataFrame.to_excel(f"{username}.xlsx", ...) (~line 927) and never consults args.folderoutput. The spreadsheet always lands in the current working directory.
Steps to reproduce
sherlock --timeout 5 --site GitHub --folderoutput ./dest --txt --csv --xlsx daniel
ls ./dest # daniel.txt and daniel.csv are created as documented
ls daniel.xlsx # WRONG: written to CWD, not ./dest
Observed: daniel.xlsx is written to CWD while txt/csv correctly land in ./dest.
Expected: ./dest/daniel.xlsx — consistent with the other output formats.
Note
Distinct from #2891 (response_time_s cell values) and open PR #3077 (which fixes the response_time_s fallback and sites.py defaults, not the output path). Fix is small: mirror the csv branch's os.makedirs + os.path.join handling in the xlsx branch.
Environment: macOS, Python 3.13, master @ 3760187.
Summary
--folderoutputis honored by the--txtbranch (sherlock.py~825-831) and the--csvbranch (~845-851), but the--xlsxbranch hardcodesDataFrame.to_excel(f"{username}.xlsx", ...)(~line 927) and never consultsargs.folderoutput. The spreadsheet always lands in the current working directory.Steps to reproduce
Observed:
daniel.xlsxis written to CWD while txt/csv correctly land in./dest.Expected:
./dest/daniel.xlsx— consistent with the other output formats.Note
Distinct from #2891 (
response_time_scell values) and open PR #3077 (which fixes theresponse_time_sfallback andsites.pydefaults, not the output path). Fix is small: mirror the csv branch'sos.makedirs+os.path.joinhandling in the xlsx branch.Environment: macOS, Python 3.13,
master@ 3760187.