Commit graph

586 commits

Author SHA1 Message Date
2eccc236a9
Added generate_report()
* Also merged save_max_temp() with update_sensor_data()
  * Max doesn't need resetting so just calc max everytime
2018-12-05 20:40:25 -07:00
7140f38ba4
Added average, clear, and max temps sections 2018-12-05 20:11:10 -07:00
cb67f7e3c3
Added new sensors.py and dropped borrowed sensors 2018-12-05 19:59:41 -07:00
5dd8fa8416
Get CPU details from lscpu 2018-12-05 17:48:30 -07:00
163f64dda7
Reduced timeout for major exceptions 2018-12-05 04:10:20 -07:00
372f80bf38
Skip optical drives 2018-12-05 04:08:59 -07:00
7c163a8110
Added update progress sections 2018-12-05 03:52:24 -07:00
d025b8dc9e
Adjusted how devices are added to the state obj
* The change allows for devices to be (dis)connected while the script is running
  * Devices are scanned and added during run_hw_diags()
* Fixes bug that prevented any devices from being added as well
2018-12-05 03:49:25 -07:00
2d69d93154
Added watch option for tmux_split_window() 2018-12-05 03:41:27 -07:00
43b9645c69
Update tmux panes via respawn-pane
Instead of send-keys
* Avoids flooding zsh history
* Less flickering
2018-12-04 23:39:15 -07:00
4bb1402ac5
Added tmux functions
* Going to try and replace the send-keys sections next
2018-12-04 20:50:47 -07:00
8fb1620c94
Added placeholder functions for HW tests 2018-12-04 19:23:35 -07:00
597a236089
Don't clear screen twice at startup
* Combined init_global_vars and add_devs output
2018-12-04 18:44:52 -07:00
1489ad4237
Added safety check for devices 2018-12-04 18:43:50 -07:00
62c9d82fd2
Adjusted placeholders 2018-12-04 17:05:53 -07:00
5701b53026
Added --quick argument to skip menu 2018-12-04 16:55:17 -07:00
6014a8fb70
Don't add WK or loopback devices 2018-12-04 16:18:45 -07:00
70a742e69c
Add device details from lsblk
* Also ensure sane types for some attributes
2018-12-04 16:10:58 -07:00
2df4d48bb3
Show selected tests on run 2018-12-03 20:15:56 -07:00
560929e2fa
Removed extra line break in menu_select 2018-12-03 19:54:06 -07:00
18fc97293e
Renamed Drive to Disk to align options in menu 2018-12-03 19:50:55 -07:00
3fdd8c629c
Rewrote main menu
* First options are presets followed by individual tests
* Selecting presets will toggle the selections
* Screensavers are hidden but still present
2018-12-03 19:47:44 -07:00
10f2fca2bf
Added classes DevObj and State 2018-12-03 17:52:07 -07:00
c42c764789
Updated hw_diags.py 2018-11-26 18:35:33 -07:00
f802ea860d
Updated ddrescue.py 2018-11-26 18:15:41 -07:00
bb23d49833
Adjusted mounting shares/volumes 2018-11-26 18:14:06 -07:00
b3b821a868
Allow mounting all volumes per device 2018-11-26 18:12:24 -07:00
5da9d4e36b
Updated update.py and update_kit.py 2018-11-23 18:21:33 -07:00
7e960df2d6
Updated setup.py 2018-11-23 18:18:00 -07:00
832ef993e6
Updated repairs.py 2018-11-23 18:13:11 -07:00
1cac083916
Updated info.py 2018-11-23 18:12:36 -07:00
7f37bc8802
Updated diags.py 2018-11-23 18:10:50 -07:00
1839edf84d
Updated cleanup.py 2018-11-23 18:09:31 -07:00
7f7c220073
Updated browsers.py 2018-11-23 18:08:41 -07:00
18b13cf506
Updated common.py 2018-11-23 18:06:57 -07:00
8064fc4a17
Removed whitespace from empty lines 2018-11-23 18:01:03 -07:00
2Shirt
598dc8020d Fix crash when aborting all tests
* Fixes issue #26
2018-10-15 12:26:18 -06:00
2Shirt
5798d48342 Added ESET Online Scanner to update sections 2018-10-14 23:53:45 -06:00
2Shirt
cc0c9a1795 Adjusted SMART thresholds 2018-10-14 18:08:13 -06:00
2Shirt
742a944ace Renamed privacy sections 2018-10-13 18:31:15 -06:00
2Shirt
26e8c93282 Adjusted RegBack sections
* Labeled more accurately in system checklists
* Isolated into a separate enable_regback() function
2018-10-12 16:41:51 -06:00
2Shirt
05a9245a4c Allow special characters in network passwords 2018-10-12 15:49:45 -06:00
2Shirt
f0179ec962 Show volume usage for all devices
* Don't CoreStorage scans for failed devices
* Fixes issue #25
2018-10-11 14:56:01 -06:00
527049cdb2
Merge remote-tracking branch 'upstream/dev' into dev 2018-10-10 16:45:43 -06:00
2Shirt
93e4bd5c0f Fix cleanup_d7ii() 2018-10-08 21:47:11 -06:00
2Shirt
fb9731539f Added set_log_file() 2018-10-08 21:44:38 -06:00
95c8de0a21
Merge branch 'dev' of github.com:2Shirt/WizardKit into dev 2018-10-08 15:48:45 -06:00
6a67052d83
Show SMART for parent dev if child dev selected 2018-10-08 15:47:40 -06:00
2Shirt
bff141ff8d Restore default UAC settings in post_d7.py 2018-10-07 22:03:30 -06:00
2Shirt
a8a2fce662 Added delete_empty_folders()
* Deletes folders only if they're empty and does so from the bottom up
  * (i.e. "Some\Path" will be removed before "Some")
2018-10-07 21:23:10 -06:00
2Shirt
ceae05817d Delete ESET installer after setup 2018-10-07 21:10:28 -06:00
2Shirt
f9ab36fc7c Reorganized ClientDir
* "ClientDir\Info" renamed to "ClientDir\Logs"
  * Logs are sorted into subdirs based on the source:
  * KIT_NAME_FULL: WizardKit logs
  * d7II: d7II logs
  * Tools: Logs from tools called by WizardKit or d7II
  * (no subdir): System information
* "ClientDir\Backups"
  * Switched to "Backups\Source\{Date}" from "Backups\{Date}\Source"
2018-10-07 21:04:41 -06:00
2Shirt
8189d412eb Enabled ERUNT registry backup in d7 diagnostics 2018-10-07 19:05:39 -06:00
2Shirt
85653593df Add Linux Reader 2018-10-07 14:39:17 -06:00
2Shirt
0546ac3e84 Fixed updating WinAIO Repair 2018-10-07 14:36:20 -06:00
2Shirt
56a74798e5 Fixed unmute command 2018-10-07 14:32:14 -06:00
2Shirt
8e95eb5010 Disabled Caffeine 2018-10-07 14:31:32 -06:00
2Shirt
f1b3ffb483 Updated d7II cleanup for Windows 7 2018-10-07 14:31:01 -06:00
2Shirt
3c950e3c56 Adjusted System Diagnostic formatting 2018-10-07 14:28:37 -06:00
2Shirt
63086dcb1e Added 1201 Root CA
* Allows uploaded crash reports under Windows
2018-10-06 22:27:33 -06:00
2Shirt
b1f495dada Updated ESET installation sections
* Apply user config before installation
  * Disables splash screen and desktop notifications
* Call update_eset_config() in update_kit.py
* Fixed install_eset_nod32_av()
* Moved ESET launcher to Installers
2018-10-06 21:41:20 -06:00
2Shirt
f5caaf09c2 Fixed updateshutup10() 2018-10-06 19:20:29 -06:00
2Shirt
f097b98c85 Fixed update_furmark() and add FurMark Launcher 2018-10-06 19:19:14 -06:00
2Shirt
e642bfd2d3 Fix WK device detection to omit from HW-Diags 2018-10-04 13:56:16 -06:00
2Shirt
ba302f0c5b Add SMART short test results to osTicket report 2018-10-03 23:52:23 -06:00
2Shirt
5ad18a7fee Show warning if there were issue(s) posting 2018-10-03 23:30:55 -06:00
2Shirt
e56647ed48 Fix drive report for aborted tests 2018-10-03 23:30:21 -06:00
2Shirt
117a47e94c Refactored DB connection sections
* Connect for each post instead of once per session
* Restart the SSH tunnel if it was closed
* Avoid issue where the connection(s) were broken by aborting Prime95
2018-10-03 23:25:15 -06:00
2Shirt
00b3c405d0 Show more precice amount recovered 2018-10-03 20:10:43 -06:00
2Shirt
2a1cc81e46 Added O&O ShutUp10 2018-10-03 20:06:41 -06:00
2Shirt
1b5e05b81a Use different thresholds for HDDs and SSDs
* Fixes issue #22
2018-10-03 19:43:53 -06:00
2Shirt
e4410b1258 Expanded Post-D7II Cleanup
* Fixes issue #4
2018-10-03 16:19:42 -06:00
2Shirt
6bd29e402c Add Furmark
* Fixes issue #10
2018-10-03 14:32:29 -06:00
2Shirt
e2c07d5710 Add Macs Fan Control
* Fixes issue #7
2018-10-03 14:07:42 -06:00
2Shirt
7b57329dee Post drive details for skipped devices 2018-10-03 13:55:30 -06:00
2Shirt
08768424f0 Post Prime95 results for aborted tests 2018-10-03 13:54:58 -06:00
2Shirt
904b41dbae Disable PeopleBar and Tips and Tricks 2018-10-03 13:48:46 -06:00
2Shirt
41b4a258f6 Added System Checklist (HW)
* Only applies a minimal amount of changes to the system
* Fixes issue #13
2018-10-02 23:53:46 -06:00
2Shirt
80e903577e Enable RegBack during system checklist
* Fixes issue #18
2018-10-02 23:40:51 -06:00
2Shirt
171eb0722f Enable System Restore during system checklist
* Fixes issue #14
2018-10-02 23:35:15 -06:00
2Shirt
a643b38bbe Also show alert box for Secure Boot issues 2018-10-02 23:12:11 -06:00
2Shirt
588fa8d51a Merge remote-tracking branch 'upstream/dev' into dev 2018-10-02 23:10:26 -06:00
2Shirt
087500c9b7 Fixed inconsistent indent length 2018-10-02 23:09:20 -06:00
b669b221f9
Merge remote-tracking branch 'upstream/dev' into dev 2018-10-02 22:25:02 -06:00
2Shirt
85e7813539 Check Secure Boot status during system checklist
* Fixes issue #60
2018-10-02 22:11:18 -06:00
2Shirt
7e17a93d42 Unmute audio before opening XMPlay with NirCmd
* Fixes issue #56
2018-10-02 15:59:21 -06:00
b7dc524096
Include ticket number in log 2018-10-01 19:46:08 -06:00
83984cd6ee
Adjust used space report for osTicket
* Include volume total, used, and free space
* Space using dots for improved readability
* Adjust total size notation to match other sizes
2018-10-01 19:43:02 -06:00
6854d5bad7
Adjust NVMe test status logic
* If the quick check is ok then the normal check is also ok
  * (Because there's no NVMe short test as there is in SMART)
2018-10-01 19:40:21 -06:00
6c37c344ce
Prevent crash in hw_diags when testing NVMe drives 2018-10-01 19:36:19 -06:00
7e78eb5dca
Respect ENABLE_OPEN_LOGS global variable 2018-10-01 19:35:46 -06:00
0d35d81b97
Include used space in disk reports for osTicket
* Used space info is not included if the drive failed the test(s)
2018-10-01 13:00:21 -06:00
30141916b4
Typo 2018-09-29 14:36:31 -06:00
162712871e
Add option to mount all volumes for a specific dev 2018-09-29 14:31:16 -06:00
0fae4128ed
Adjusted Prime95 osTicket report
* Post report regardless of result
2018-09-29 13:25:10 -06:00
f35869b2b0
Fix crash when running the quick drive test 2018-09-28 14:03:55 -06:00
aa1fda8ac4
Show test results in osTicket report
* Fixes issue #19
2018-09-28 13:43:18 -06:00
dc8f48a6b4
Update post_drive_results() to use new I/O Status 2018-09-28 13:32:48 -06:00
91b7149f93
Merge remote-tracking branch 'upstream/dev' into dev 2018-09-28 13:29:58 -06:00
c43ba34cbf
Differentiate between not-run and unknown results 2018-09-27 21:00:00 -06:00
26eadebf21
ddrescue-tui: Support devices with '/' in the name 2018-09-27 13:13:42 -06:00
a17c83e5f3
Merge remote-tracking branch 'upstream/dev' into dev 2018-09-25 21:24:16 -06:00
5658b19cac
Merge branch 'dev' into 1201 2018-09-25 14:51:32 -06:00
5e73583e00
Mark declined overrides as "Skipped"
* NS should be reserved for known failures not unknown/questionable states
2018-09-25 12:33:11 -06:00
4b16ec6095
Adjusted Prime95 countdown 2018-09-25 12:24:47 -06:00
d4f24eafb6
Fix issue #55 2018-09-25 12:17:38 -06:00
6c4381c3a5
Include percent with rates in "raw" I/O log 2018-09-25 12:15:28 -06:00
4979fbe927
Taller I/O horizontal graph
* Inceases fidelity to 32 steps
2018-09-25 11:52:24 -06:00
9689f5aa15
Adjusted I/O chunk size and graph scale 2018-09-25 11:51:22 -06:00
a4d559f406
Removed more VCR 2008 references 2018-09-25 11:46:15 -06:00
e9d65fe29b
Enable direct I/O for I/O Benchmark
* Really this should've been enabled earlier
* Also increased chunk size
2018-09-24 17:49:20 -06:00
7506cd017b
PNG graph export and uploads working 2018-09-24 17:47:52 -06:00
4206afe0c3
Disabled osticket_needs_attention()
* The flag has been repurposed in osTicket
2018-09-24 15:45:52 -06:00
aec3e8208c
New osTicket report layout
* Block character graph has been reduced to one line
* A PNG graph is exported using gnuplot
* The graph is uploaded to imgur and a link is included in the report
* The graph is also uploaded to the BENCHMARK_SERVER for redundancy
2018-09-24 02:27:02 -06:00
ba06b7d635
Increased height of horizontal I/O graph
* Allows for 32 steps of accuracy
* Adjusted curve to max out around 750 Mb/s
2018-09-20 15:57:53 -06:00
d46ae18045
Establish SSH tunnel before connecting to SQL DB
* Also added disconnect_from_db() function.
2018-09-20 14:53:17 -06:00
462a87b1ce
Adjusted ticket selection confirmation 2018-09-20 12:50:13 -06:00
146244d3fd
Adjusted osTicket post formatting 2018-09-20 12:02:08 -06:00
aae7c1d543
Allow diabling osTicket integration per run 2018-09-20 00:58:21 -06:00
dd13f7bd24
Adjusted osTicket drive report formatting 2018-09-20 00:50:32 -06:00
9698cfbf6d
Initial osTicket drive report section
* Formatting is off, need to remove ASCII color escapes
2018-09-20 00:35:05 -06:00
580d1de915
Finished Prime95 osTicket reply section
* NOTE: A reply is not posted for Aborted tests or Unknown results
2018-09-18 21:48:15 -06:00
1d88c57be8
Adjust Prime95 countown message 2018-09-18 20:43:09 -06:00
5edde45f0e
Get osTicket number and verify with name in ticket 2018-09-18 20:33:33 -06:00
58dead2382
Added osTicket DB functions
* osticket_needs_attention()
* osticket_reply()
* osticket_set_drive_result()
2018-09-18 19:55:36 -06:00
555a661e92
Added connet_to_db() function to hw-diags.py
* Uses new main.py variables
* Only runs if non-quick drive test(s) are selected
2018-09-18 16:14:46 -06:00
5bb3f48d4e
Merge branch 'dev' into 1201 2018-09-17 20:40:07 -06:00
b34187b86a
Use new Firefox 62 method to install uBlock Origin 2018-09-17 20:04:47 -06:00
e3aaa887c5
Countdown the minutes remaining during Prime95
* Fixes issue #54
2018-09-17 14:15:19 -06:00
9c02626937
Updated update_adwcleaner() 2018-09-16 21:03:49 -06:00
902a6398ca
Bugfix update_samsung_magician() 2018-09-16 20:58:25 -06:00
1e6eb26c77
Removed Office 2013 sections 2018-09-16 20:02:15 -06:00
d502f769ea
Updated update_samsung_magician() 2018-09-16 19:58:36 -06:00
bc57230418
Replaced TreeSizeFree with WizTree 2018-09-16 19:44:41 -06:00
4e9cd1f114
Update FastCopy using new installer 2018-09-16 19:21:36 -06:00
a213ba5d32
Bugfix for mount-all-volumes 2018-09-15 21:20:52 -06:00
35fd50771c
Update hw_diags.py systemctl command syntax
* Now it matches the wk-power-command style
2018-09-15 17:50:54 -06:00
da92cee338
Fix issue #51
* The curly braces were being interpreted incorrectly by print_standard()
2018-09-15 16:00:24 -06:00
9a093ace9c
Moved 'Scanning disks...' message in hw_diags.py
* (Re)fixes issue #46
2018-09-15 15:47:47 -06:00
d31991a67f
Always load broadcom before tg3
* Hopefully won't cause any problems.
2018-09-15 15:24:59 -06:00
879927c37c
Add CoreStorage support to mount-all-volumes
* Checks for any CoreStorage partitions
* If found scans partition with testdisk to find inner volume(s)
* If found mapper devices are added with dmsetup
* Then the device list is built in mount_volumes()
2018-09-14 17:53:35 -06:00
56e354f124
Avoid crash described in issue #39 2018-09-12 16:15:15 -06:00
83064d7c90
Fix issue #46 2018-09-12 15:54:36 -06:00
9f12f2c856
Added SMART 199/C7 warning/override to HW-Diags 2018-09-12 15:39:28 -06:00
8fec6fc5b9
Save raw I/O read rates in log 2018-09-12 14:46:04 -06:00
793581ac22
Rewrote I/O benchmark sections
* Displays graph during test and in summary
* Reduce test area to speedup the benchmark
* Addresses issues #48 & #49
2018-09-09 19:41:46 -06:00
5ef7c9b16e
Updated functions/network.py 2018-09-04 22:35:39 -06:00
92822a1458
Merge branch 'dev' into 1201 2018-09-03 23:14:49 -06:00
0d0defb8de
Merge branch 'datarec' into dev 2018-09-03 23:13:47 -06:00
240c55f407
Remove more whitespace from image/map names 2018-09-03 23:13:17 -06:00
4837f266a9
Merge branch 'dev' into 1201 2018-09-03 23:10:19 -06:00
78c6024b95
Merge datarec updates 2018-09-03 23:00:13 -06:00
d35dba7539
Prevent crash when retrying recovery
* IMO ddrescue was exiting too quickly to load the map data so I'll assume 0b
2018-09-03 22:58:20 -06:00
bd47f08996
Removed (Whole) label when imaging
* If only one partition was selected it would be incorrectly labeled "Whole"
  * Easier to remove the label than rework the data structures
2018-09-03 21:45:46 -06:00
9dbfce94d4
Fix auto continue logic 2018-09-03 21:44:28 -06:00
86fc23aed8
Fix pass number in status pane
* It was using the internal 0-2 instead of the display 1-3
2018-09-03 21:42:37 -06:00
dbf4559e14
Adjusted image/map filenames
* Partition filenames should include '_pX_' instead of just '_X_'
* Trailing whitespace should be removed
2018-09-03 21:39:32 -06:00
7cfdddcfbd
Fix using image file for clone source 2018-09-03 21:34:14 -06:00
84d7207d90
(Re)Add SMART values 196 and 199
* Value is only displayed, no additional aborts
2018-08-31 15:32:01 -06:00
7d1850a480
Allow BleachBit to be run more than once per day 2018-08-30 11:27:47 -07:00
02a1593203
Merge 'upstream/dev' into 1201 2018-08-20 02:36:48 -07:00
1d0378dd7b
Training wheels off 2018-08-19 19:23:24 -07:00
33d1f42002
Add WinAIO Repair 2018-08-19 18:09:39 -07:00
2301c89b8c
Add ESET NOD32 AV install sections
* Installs with custom config
2018-08-19 17:32:55 -07:00
6f3a1ee55f
Run BleachBit cleaners directly and allow cleaning
* Using the cleaner names to ensure desired cleanup
  * Using the --preset option could lead to unintended deletions
* Cleaning is automatic in D7_MODE
2018-08-19 15:18:29 -07:00
9c1c8b90be
Added d7II Cleanup sections
* Renamed d7_firefox_fix.py to post_d7.py
  * This will include all items that need to be run outside d7II
2018-08-19 14:10:37 -07:00
edb82df4d3
Move AdwCleaner/Desktop to LogDir during cleanup
* Instead of ProgBackupDir
2018-08-19 13:24:39 -07:00
42c5e918b6
Added Registry backups to system_checklist cleanup 2018-08-19 13:12:03 -07:00
4f2f696d60
Adjust backup paths for cleanup functions 2018-08-19 12:55:55 -07:00
251c232a6e
Added Emsisoft a2cmd to system_checklist cleanup 2018-08-19 12:50:36 -07:00
298222c9fc
Password protect browser backups 2018-08-18 18:46:17 -07:00
ceba2e5ff2
Add d7/Firefox workaround
* When Firefox is run from d7ii all tabs crash thus preventing installing uBO
* Added d7_forefix_fix.py to install uBO just for mozilla-type browsers
2018-08-18 17:53:50 -07:00
241f5cb897
Always open the uBlock store page for FF
* If d7 defaults are run then uBO may still need installed
2018-08-18 17:15:10 -07:00
90a9751883
More bugfixes for reset_browser split 2018-08-18 17:09:55 -07:00
ed3323fffb
Updated system checklist/diags and user checklits
* Added D7_MODE to limit functions run during d7II
* Added new archive_all_users() function to be run in system_diagnostics
2018-08-18 13:30:07 -07:00
91b5dbfe88
Added ENABLED_OPEN_LOGS toggle var 2018-08-18 13:22:23 -07:00
ee4cea3b01
Added systemd journal pane 2018-08-16 01:58:22 -07:00
0c8de47893
Reworked auto mode and pass status sections 2018-08-16 01:49:06 -07:00
2272d133f9
Fixed update_progress & update_sidepane 2018-08-16 01:18:06 -07:00
afaee53077
Fixed current_pass updates/progression 2018-08-16 00:43:09 -07:00
7d30a735fc
Fix retry option and settings sections 2018-08-16 00:18:25 -07:00
8461e581ea
Updated menu_settings() to use RecoveryState 2018-08-15 23:24:01 -07:00
5948d1a62f
Fixed menu_main() arguments 2018-08-15 22:50:47 -07:00
5ac05c943e
Removed unused function show_device_details() 2018-08-15 22:50:05 -07:00
ca78da4dd4
Updated show_selection_details() 2018-08-15 22:49:43 -07:00
bb270715c1
Updated run_ddrescue() to use new objects 2018-08-15 22:38:54 -07:00
53a899f967
Updated menu_main() to use RecoveryState obj
* Also fixed rescued size calculations (again)
2018-08-15 21:53:22 -07:00
e0a695a673
Enable help flags for aliases 2018-08-15 20:35:09 -07:00
1a983344c2
Updated update_progress() 2018-08-02 00:42:14 -07:00
d474c8b5d4
Updated build_outer_panes() *BROKEN*
* Script broken until update_progress() is fixed
2018-08-01 23:56:25 -07:00
c568668fd0
Re-added 'Create ticket folder?' section
* Only asked if imaging and mounting a local device for the destination.
2018-08-01 23:39:19 -07:00
177bf10e2d
Added select_parts() function
* This replaced menu_select_children()
* Removed menu_select_children()
2018-08-01 23:32:39 -07:00
459b78dcc3
Updated select_dest_path(), now select_path()
* Moved menu_select_path() code into select_path()
* Removed menu_select_path()
* Fixed formatting in get_dir_report()
2018-08-01 23:04:44 -07:00
ccf7f0686e
Updated select_device() to use DevObj()
* Also fixed child/parent check(s)
* Removed menu_select_device() since code was moved into select_device()
2018-08-01 22:25:01 -07:00
03bdb4b4b7
Reordered classes and removed old menu functions 2018-08-01 21:12:05 -07:00
7ac91fd312
Adjust pass 1 threshold 2018-08-01 20:33:35 -07:00
1e195f70fc
Fixed names and started updating build_outer_panes 2018-07-26 20:49:27 -06:00
53f0b93a5f
Misc bugfixes 2018-07-26 20:24:34 -06:00
30b703e025
Updated get_formatted_status() 2018-07-26 20:09:48 -06:00
6cdc4015e7
Updated menu_ddrescue() and related sections
* RecoveryState is updated before confirmation(s)
* New confirmation prompt that supports both cloning and imaging modes
* Refactored show_selection_details() to use new objects
  * Allows resumed state to be detected and prompt switched to "Resume?"
* Renamed function show_safety_check() to double_confirm_clone() for clarity
2018-07-26 19:34:51 -06:00
4047b956f5
Even better exception handling 2018-07-26 18:54:31 -06:00
127c3b810d
Fixed image prefixes and removed unsused functions 2018-07-26 18:07:12 -06:00
d1eefd05ab
Major update to refactor for object-centricity
* Dest/map paths are now set in two steps:
  * The filename prefix is set when creating the DevObj()
  * The full paths are set when creating the BlockPair()
* Merged dest safety checks into RecoveryState.add_block_pair()
  * Mostly check_dest_paths() and dest_safety_check()
* Moved dir RWX checks to is_writable_dir()
* Moved mount RW check to is_writable_filesystem()
* Started merging menu_clone() and menu_image() into menu_ddrescue()
2018-07-26 17:31:39 -06:00
6aeba34bdb
Include path in dir report 2018-07-25 23:57:50 -06:00
66c7563335
Set details for Dev/Dir/Image objects
* Colored report data is generated during obj instantiation
  * Code has been moved into its own function
  * Entire colored string is now stored for each Obj
  * (Should make show_selection, etc more mode/Obj agnostic)
* loopback_dev vs image_path is now better separated
  * losetup is called in ImageObj.set_details()
  * loopback -D is still called during program cleanup/wrapup
* get_device_size_in_bytes() has been renamed get_size_in_bytes()
2018-07-25 23:31:04 -06:00
180eb0f9ef
Added base, dev, dir, and image objects 2018-07-25 21:44:40 -06:00
98b05c93bf
Moved menu_ddrescue() to ddrescue-tui-menu file
* Let's parse the sys.argv earlier in the process
2018-07-24 00:54:58 -06:00
fa3b3b11b0
Added methods: load_map and self_check(s)
* load_map() is called on BlockPair() instantiation
  * This partially replaces resume_from_map()
* Also fixed improper method declarations lacking the self argument
2018-07-24 00:39:22 -06:00
f5ff65bfe0
Started rewriting ddrescue.py
Added two classes:
* BlockPair()
  * Track source/dest pair specific data
  * update_progress() method for its own data
* RecoveryState()
  * Track BlockPair objects and overall state
  * update_progress() method for overall data

Reasons:
* Code readability
* Better status updates, code currently split between:
  * get_recovery_scope_size()
  * resume_from_map()
  * update_progress()
* Functions that should probably be merged into other functions:
  * get_recovery_scope_size()
  * set_dest_image_paths()
  * check_dest_paths()
* Logic that needs to be cleaned up:
  * Calculating overall recovery size
  * Pass "Done"ness and status strings need separated
  * Pass "Done"ness at the device and overall levels
  * Updating output for side pane status display
2018-07-23 23:25:12 -06:00
2430ba5e00
Resume session via map file(s)
* Read map file(s) and set progress, status, and current pass
2018-07-23 00:43:22 -06:00
f5994d851b
Allow more characters in get_simple_string() 2018-07-22 21:56:52 -06:00
cd955fe1fc
Add overall recovery status to side-pane
* --test-mode disabled by default
* Fixed bug that prevented escaping auto_run via Ctrl-c
* Fixed no-trim / no-scrape flag handling
* Only proceed device(s) have been selected in menu_select_children
2018-07-22 21:56:39 -06:00
1f63f91144
PEP8 Cleanup 2018-07-22 16:27:34 -06:00
9e48c1d1a6
Read data from MAP files (Big update)
* Added read_map_file() which uses ddrescuelog to create dict of current state
* Added --test-mode= option to expert menu
* Add size (in bytes) to all devs
  * Allows to calculate real total percent recovered
* Detect 100% completion via ddrescuelog -D
* Moved mark_complete / mark_incomplete code to update_progress()
* Update progress every 30s during ddrescue passes
* Fixed auto_run logic
2018-07-22 02:03:04 -06:00
6b28444c36
Fix function order 2018-07-21 20:31:39 -06:00
d7dfb34b02
Resume function working for imaging cases 2018-07-20 18:06:59 -06:00
281607f3e4
Adjusted confirm/show details order 2018-07-20 13:57:55 -06:00
6582293370
Initial resume code -- Needs testing 2018-07-19 01:34:14 -06:00
5f4598814a
Clear screen before printing abort warning
* Otherwise the "Abort" string is in the middle of the ddrescue output
* Also added secondary return code to be treated as a user abort
2018-07-19 00:45:04 -06:00
016f87b76c
Don't hide source dev when selecting dest dev
* Disable the entry instead
* It's more clear what's being done
2018-07-19 00:43:41 -06:00
7597394d61
Build real ddrescue cmd for Cloning or Imaging
* --force is only used for cloning
2018-07-18 23:53:05 -06:00
d09664bb7d
Misc cleanup 2018-07-18 23:37:02 -06:00
e640caee74
Add dest image/map path sections 2018-07-18 23:19:42 -06:00
646e1a3764
Show list of authorized fstypes with error 2018-07-18 22:17:32 -06:00
19dcc87950
Pause when showing usage 2018-07-18 22:09:47 -06:00
e5ce254e8b
Verify destination FS is mounted read-write 2018-07-18 22:02:17 -06:00
f2c557f77c
Added safety checks for the destination
* Dev size / avail space checks
* Permission checks
  * No mount option checks (yet?)
2018-07-18 20:54:51 -06:00
88c28a3f25
Added auto-continue code
* Enabled by default
* Based on static thresholds per pass.
  * Pass 1: 85%
  * Pass 2: 98%
* If using child devices, all must be above the threshold to continue
2018-07-18 18:26:03 -06:00
9d91a28d7a
Add children pass, status, and update sections
* Updating device / child device status/progress done in mark_*() functions
* Add current pass description to main menu
* Current pass (overall) only updated if all children have passed
* Fix Pass 4 crash
2018-07-17 23:22:08 -06:00
c705ba6afc
Add pass completion detection sections
* Retry option now sets recovery back to pass 1
2018-07-17 22:10:37 -06:00
a12a591279
Moved SMART sections to a separate script
* Refresh rate is now handled by 'watch --interval'
* Allows for much simpler ddrescue execution / tracking
* Removed all 'SMART Report' sections from functions/ddrescue.py
* functions/hw_diags.py has been further extended
  * Supports full device paths (only for displaying attributes ATM)
  * Adds a timestamp when only displaying attributes
2018-07-17 21:05:37 -06:00
358191539c
Added run_ddrescue() and update_smart_report()
* Working "wait" loop while ddrescue is running.
2018-07-17 19:19:38 -06:00
d1d3e1592e
Added get_process() 2018-07-17 18:11:23 -06:00
7d851d2222
Add settings menu 2018-07-17 16:59:45 -06:00
310a2eb63a
Initial Main Menu code
* Required refactoring pass status code
* Need to add settings menu next
2018-07-17 16:01:29 -06:00
fd8ac7cf1a
Add child device selection menu for Image mode
* Can select either whole device or child dev(s), not both
2018-07-17 14:16:38 -06:00
de8f3bbd2b
Use image file instead of loopback device
* Still setup loopback for image details but use image directly in ddrescue
* Adjusted outer/side panes to use image path instead of loopback dev
2018-07-17 13:21:12 -06:00
29266f1611
Added initial Imaging source child dev support 2018-07-17 01:11:43 -06:00
1e4a3b6c0e
Fix provided_path for Imaging and adjust top panes
* Moved select_path menu sections to menu_select_path()
2018-07-17 00:49:41 -06:00
007d2ef692
Added select_path() for Image mode
* Can select the current path, a local device's volume, or enter manually
* Optionally add a ticket folder to path before imaging
2018-07-17 00:15:28 -06:00
c37dab58af
Updated mount_all_volumes(), now mount_volumes()
* Now allows mounting R/W
* Can restrict to a specific device's volume(s)
* Added more data to the returned report
2018-07-17 00:06:43 -06:00
6eb486c770
Extend get_simple_string() to support underscores 2018-07-17 00:05:47 -06:00
9a27afebf7
Moved selection details into its own function
* Will allow for better duplication in Image mode
2018-07-16 22:19:39 -06:00
6643cf5d25
Moved outer pane section to its own function
* Will allow better duplication with Image mode
2018-07-16 22:08:00 -06:00
552868c26e
Moved safety check into its own function
* Will allow better duplication with Image mode
2018-07-16 22:04:09 -06:00
69909fa34c
Added safety check 2018-07-16 21:02:53 -06:00
855884ec93
Added initial update_progress() sections
* TODO: expand to support Image mode
2018-07-16 21:01:10 -06:00
ae4f2ac680
Added outer panes 2018-07-16 19:40:29 -06:00
b5d8a55031
Reordered functions 2018-07-16 18:07:12 -06:00
e56296d8b0
Consolidated device selection code
* Common code moved to select_device()
* Existing select_device() renamed menu_select_device()
* Fixed skip_device code
* Refactored source/dest vars into dicts
* Added confirmation after source/dest are selected
2018-07-16 18:01:06 -06:00