72cc33cb7e
Only show destination device, not all devices
2019-04-14 18:48:54 -07:00
3310e3d253
Moved most logic to functions.ufd
2019-04-14 18:43:08 -07:00
6734460d42
Added option to skip pause in abort()
...
* Also use exit_script(1)
2019-04-14 17:01:53 -07:00
c4755124a0
Remove more connect-to-network sections
2019-04-11 20:59:42 -07:00
d33f78960d
Reduced imports
2019-04-11 20:50:21 -07:00
415f56863d
Finished recursive_copy()
2019-04-08 20:26:41 -07:00
4d9ab2215b
Ensure SMART values are shown for some disks
...
* smartctl can return non-zero if there are errors in the SMART logs
2019-04-08 18:57:38 -07:00
b43309be75
Avoid rare crash when scanning CoreStorage volumes
2019-04-08 15:55:52 -07:00
8cdb834499
Initial, incomplete version of recursive_copy()
2019-04-08 02:59:03 -07:00
4c33c110b7
Fixed source validation
2019-04-08 00:35:53 -07:00
b166172d10
Only perform case-insensitive search if needed
2019-04-07 23:45:08 -07:00
e420074c83
Use correct errors in find_path()
...
* FileNotFoundError is accurate since we're just looking for a path
2019-04-07 23:35:00 -07:00
50cb765108
Merged find_source_item() and get_full_path()
...
* Also fixed regex match (it wasn't matching the whole string)
2019-04-07 23:26:22 -07:00
b6c6fc9aa9
Find paths case-insensitively
2019-04-07 22:44:15 -07:00
cd0a9456cb
Use pathlib.Path to resolve paths
...
* is_block_device() is no longer needed
* (pathlib.Path provides that functionality)
2019-04-07 22:41:41 -07:00
c4d00a2073
Fix typos
2019-04-07 22:35:09 -07:00
575126eaa2
Split build-ufd file to match other scripts
2019-04-07 20:51:54 -07:00
639a338cca
Initial Python layout
...
* Going to use docopt for argument handling
* Script will be run as user using sudo where needed
* Tentatively dropping tmux usage
2019-04-07 19:03:56 -07:00
e089dd99a3
Avoid crash when no disks are connected
...
* It was attempting to recheck the NVMe/SMART data for the fake N/A lines
2019-04-02 16:29:09 -07:00
c022d3f9c6
Set ddrescue-tui EToC refresh rate in settings
2019-03-20 15:48:01 -06:00
28cea9697e
Moved ddrescue-tui EToC code to its own function
...
* Limited refresh rate to every 5 seconds
2019-03-20 15:45:27 -06:00
fa05c93bf8
Added EToC line to ddrescue-tui side-pane
...
* Is not shown in main menu
2019-03-20 15:21:19 -06:00
c96ffc5f59
Added overall status line to ddrescue-tui
2019-03-20 13:16:09 -06:00
95338f1df7
Add encoding to run_program and popen_program
2019-03-20 12:57:56 -06:00
723f1ad4ad
Fixed WizTree extraction
2019-03-19 14:16:39 -06:00
4cb14c6429
Restart Explorer after configuring
...
* Allows changes to be seen without restarting manually
2019-03-17 20:23:25 -06:00
b84d4eb6b8
Bugfix: typo
2019-03-17 20:22:50 -06:00
2e679dbf5e
Download stand alone Windows update installers
...
* Fixes issue #91 (again)
2019-03-17 18:11:36 -06:00
c5b4446133
Configure Windows Updates during checklist/setup
...
* Sets readiness branch to non-targeted semi-annual
* Defers feature upgrades for 60 days
* Fixes issue #93
2019-03-16 18:11:19 -06:00
86f81f2720
Prevent updating OVERRIDE to CS
2019-03-16 15:11:42 -06:00
70b8d2536a
Missed a functions/json.py import
2019-03-13 20:39:47 -06:00
34ef0bfae6
Fail test on SMART self-test timeout
2019-03-13 20:22:28 -06:00
75df9777b3
Removed extraneous whitespace
2019-03-12 22:49:25 -06:00
122bbfb157
Added debug mode for HW Diagnostics
...
* Uses alternative major exception
* Saves State, CpuObj, and DiskObj data after traceback
* Uploads the whole LogDir folder (compressed) instead of just the main log
2019-03-12 21:24:06 -06:00
7381547b27
Added functions.json
...
* Uses safer method to get JSON data from a command
* Replaced nearly all uses of json.loads with new get_json_from_command()
* Fixes issue #100
2019-03-12 16:08:21 -06:00
480222c1f2
Adjusted variable name usage for consistency
2019-03-12 15:13:16 -06:00
1d10503b91
Support disks over 4TB in badblocks test
...
* Set read block size to 4KB if disk is 4Kn or 3TB+
* Fixes issue #99
2019-03-11 21:00:26 -06:00
e7d31c21c3
Get disk size in bytes during object creation
...
* Also moved dd calc section into docstring
2019-03-11 20:55:24 -06:00
7f6509d235
Return to HW-Diags menu from safety_check()
2019-03-11 13:26:11 -06:00
7701418e55
Recheck disk attributes after all tests
...
* Should catch errors exposed by badblocks
* Addresses issue #96
2019-03-11 13:25:12 -06:00
7078efe9e7
Adjusted SMART self-test running message
2019-03-11 13:23:56 -06:00
a3d2de92bc
Show CS/NS in quick mode if self-test is running
...
* It still shows the slightly ambiguous message "all tests disabled"
* Addresses issue #96
2019-03-11 12:37:01 -06:00
607d4b1e57
Skip SMART self-test in quick mode
...
* Addresses issue #96
2019-03-11 12:36:33 -06:00
6edfcc9766
Moved SMART self-test code to its own function
...
* Allows for a simpler run_nvme_smart_tests()
* Self-test is now done before the attribute check
* Addresses issue #96
2019-03-11 11:57:29 -06:00
40f269aabd
More cleanup for generate_attribute_report()
2019-03-11 10:52:11 -06:00
a5852d1caa
Major overhaul of NVMe/SMART reporting/testing
...
* Moved all errors/warnings to new nvme_smart_notes var
* Allows the notes to be appended to the attribute report much easier
* Allows the attribute report to be updated without losing notes
* NVMe/SMART should only contains the SMART short self-test results
* If available and requested
* Updated safety_check to fix erroneous requests
* Disable tests logic reworked
* Updated generate_disk_report() to include notes
* Addresses issue #96
2019-03-09 21:42:28 -07:00
95aa063a69
Adjusted disk safety checks
...
* check_attributes() is now always silent
* Returns a PASS/FAIL bool
* override_disabled is now at the Disk() scope
* Moved self-test checks to check_smart_self_test()
* Returns a PASS/FAIL bool
* Addressed issue #96
2019-03-09 18:07:04 -07:00
858c2e1bd5
Avoid crash on some Macs
...
* Partially addresses issue #88
* HW damage should be avoided by using the THERMAL_LIMIT setting
2019-03-09 14:15:42 -07:00
b0e2b01e00
Added beep function
...
* Fixes issue #89
2019-03-09 14:11:53 -07:00
d5dc453ffa
Added maximum threshold for NVMe/SMART attributes
...
* Fixes issue #95
2019-03-05 19:36:43 -07:00
62f2ec8a4d
Moved SW-Diags settings to separate file
2019-03-05 19:36:42 -07:00
4197fc9e0b
Moved WinPE settings to separate file
2019-03-05 19:36:42 -07:00
8d8399c9aa
Moved windows setup settings to separate file
2019-03-05 19:36:42 -07:00
af5281626b
Moved setup settings to separate file
2019-03-05 19:36:42 -07:00
8add6f634c
Moved sensor settings to separate file
2019-03-05 19:36:41 -07:00
058a52961d
Moved info settings to separate file
2019-03-05 19:36:41 -07:00
d03772666d
Moved ddrescue-tui settings to separate file
2019-03-05 19:36:41 -07:00
974e20df05
Moved data settings to separate file
2019-03-05 19:36:41 -07:00
34f4bca97d
Moved browser settings to separate file
2019-03-05 19:36:41 -07:00
e2c83aad6e
Moves HW-Diags settings to separate file
2019-03-05 19:36:41 -07:00
0398ea7e51
Disable Tips & Tricks (more)
2019-02-27 23:57:13 -07:00
017c0e3385
Avoid marking aborted badblocks test as failed
2019-02-05 21:49:00 -07:00
7132d971f6
Add temp limit to report
2019-02-05 21:26:27 -07:00
dc6de9cab0
Use consistent labels
2019-02-05 21:25:28 -07:00
a28a754be1
Added thermal limit logic to Prime95 test
2019-02-05 21:08:06 -07:00
3c35a75c92
Raise exception when temps >= limit
2019-02-05 21:06:40 -07:00
f8404f3c16
Raise exception if temps above given threshold
2019-02-05 20:31:16 -07:00
7c7d8e41e2
Prevent crash when testing some NVMe disks
2019-01-15 18:56:29 -07:00
fd8358a899
Fix ODT path
2019-01-11 14:17:41 -07:00
cb072366e0
Bugfix Office sections
...
* Addresses issue #86
2019-01-11 13:25:33 -07:00
4a96736592
Removed network installers
2019-01-11 13:17:25 -07:00
ad1d7d71f2
Fixed ODT sections
...
* Fixes issue #86
2019-01-11 12:59:12 -07:00
6246393894
Fixed update_fastcopy()
2019-01-11 12:31:08 -07:00
969011f3f5
Added new_system_setup()
2019-01-09 20:55:48 -07:00
6488101cdc
Dumb workaround for Dell sensors
2019-01-09 16:29:18 -07:00
f2bd2a6e75
Adjusted global_vars report
2019-01-08 20:33:23 -07:00
6ea4791dc9
Added generate_global_vars_report()
...
* Makes crash reports more readable
2019-01-08 20:24:43 -07:00
63f9c1c193
Fixed set_log_file() under Linux
2019-01-08 20:24:14 -07:00
ed70d1ab18
Simplified tmux repair thread handling
...
* Just start once and let run until script is exited
* Pretty sure this fixed the 100%+ CPU usage after returning to the menu
2019-01-08 19:18:00 -07:00
4bd0cd1598
Avoid crash when no sensor data available
...
* This was broken when fixing issue #85
2019-01-07 15:29:33 -07:00
50da682d76
Fix issue #85
2019-01-06 22:12:01 -07:00
7a9474a6a8
Try enabling SMART before checking attributes
...
* Fixes issue #84
2019-01-06 21:51:45 -07:00
68bbee66d5
Replaced hw-diags-badblocks with threaded section
...
* Should fix issue #83
2019-01-06 21:45:01 -07:00
e40b0b98e4
Moved fix_tmux_panes() into a background thread
2019-01-06 20:57:06 -07:00
4a04e92caf
Added threading.py
...
* Will be used by hw_diags.py and ddrescue.py for
* Better control over badblocks
* Background the tmux pane fixes
2019-01-05 15:54:05 -07:00
141fe422db
Fix NVMe attribute handling
...
* Addresses issue #78
2019-01-02 17:55:56 -07:00
3122a75f64
Skip fan RPMs
...
* Avoids reporting fan RPMs as 6000+ *C
2019-01-02 17:31:19 -07:00
6340bceb11
Added warning if no disks detected.
2019-01-02 17:05:08 -07:00
a9c5c1c274
Fixed issue #80
2018-12-28 17:46:02 -07:00
575fa17425
Only use Unicode checkmark if in X
2018-12-28 15:44:14 -07:00
91649f5ee7
Removed args from run_program
...
* It's been deprecated for ages
* Fixes issue #79
2018-12-27 23:43:35 -07:00
3e733e65e9
Updated network.py
2018-12-27 22:17:23 -07:00
922d632afb
Removed trailing whitespace
2018-12-27 21:44:46 -07:00
c96e2f252c
Cleaned up imports
2018-12-27 21:38:25 -07:00
d0c49240d8
Added extra line break after classes/functions/etc
...
* Also reordered some class/regex/static sections
2018-12-27 21:33:37 -07:00
c501c8b23f
Updated docstrings longer than 72 characters
2018-12-27 20:51:56 -07:00
c3ca58879c
Updated winpe_menus.py
2018-12-27 20:15:02 -07:00
ec0341027e
Updated windows_setup.py
2018-12-27 20:14:29 -07:00
fa424a4576
Updated update.py
2018-12-27 20:13:32 -07:00
a47707447c
Updated setup.py
2018-12-27 20:10:49 -07:00