Commit graph

380 commits

Author SHA1 Message Date
25c532881e
Allow custom temp file suffixes 2020-01-23 18:56:11 -07:00
1b643f3918
Updated wk.kit.ufd
* Don't continue if a step fails, instead re-raise the exception
* Made the private functions public
2020-01-23 14:09:13 -07:00
019cbb6c1a
Updated TryAndPrint
* catch_all can now be set for a TryAndPrint instance
  * As opposed to defining for every TryAndPrint.run() call
2020-01-23 14:06:52 -07:00
ea3240772e
Create mount_point before mounting source 2020-01-22 23:15:12 -07:00
b71d3479be
Updated wk.kit.ufd
* Moved TryAndPrint run_program calls to private functions
  * Only need PASS/FAIL and to hide the cmd output
* Avoid crash when searching for boot config files
* Misc Bugfixes
2020-01-22 23:11:24 -07:00
78e28bb6d2
Log wk.exe.run_program result in debug mode 2020-01-22 23:07:03 -07:00
5cbb86abd8
Clear screen before starting diags 2020-01-22 15:37:26 -07:00
bfc17942cd
Added header to SMART self-test output
* Matches badblocks header
* Also added Initializing message
2020-01-22 11:22:47 -07:00
e92ceb070c
Adjusted I/O Benchmark screen layout 2020-01-22 11:21:49 -07:00
79abbcfaf8
Avoid crash when getting NVMe attributes 2020-01-22 11:20:39 -07:00
710fcc29dc
Catch non-blocking SMART errors between tests
* This doesn't block further tests, just ensures Disk Attributes fails
2020-01-20 18:31:29 -07:00
1b473b1ab0
Fix pipes when run from hw-diags 2020-01-19 15:14:03 -07:00
a01f3d04b6
Updated mount-all-volumes
* Added gui argument to open Thunar after mounting
2020-01-16 19:18:12 -07:00
c161ebac2a
Save ddrescue results to log at exit
* Instead of printing them since it should be run in tmux
  * And as such the results would be obscured from the user anyway
2020-01-13 22:11:07 -07:00
e9b1fe7819
Adjusted clone settings filename
* Use source path if the model wasn't detected
  * Avoids names like "Clone_.json"
2020-01-13 21:59:40 -07:00
28d9085231
Fixed getting filesystem UUID 2020-01-13 17:48:22 -07:00
16dbffd91c
Enable SAT usage for USBs to expand SMART support
* Only enabled for USB devices
* Only enabled if attributes weren't found using --device=auto
* Addresses issue #109
2020-01-13 17:12:58 -07:00
e355fb1316
Use UUIDs instead of labels in build-ufd
* Addresses issue #138
2020-01-13 16:48:00 -07:00
d8617df871
Adjusted self-test results formatting 2020-01-13 15:45:07 -07:00
ea9a9f9a46
Pass Disk Attribute test for devices lacking SMART
* Since these can't fail I think passing them makes sense
2020-01-11 19:51:57 -07:00
76a9d90ecb
Adjusted ddrescue TUI results report 2020-01-08 20:35:32 -07:00
6e3f02961c
Made load_settings() and save_settings() private
* Clears a pylint issue and makes sense to me
2020-01-08 19:50:04 -07:00
43cf4e2727
Added generate_report() to wk.hw.ddrescue.State() 2020-01-08 19:46:40 -07:00
9171ed6685
Revert SMART config used for testing 2020-01-08 19:09:55 -07:00
0a2976d9ce
Set pass/fail attributes in disk_attribute_check() 2020-01-08 19:02:09 -07:00
7702cdcf0a
Finished converting UFD sections, testing next 2020-01-07 23:53:55 -07:00
8b9672313a
Added ufd settings 2020-01-07 23:21:18 -07:00
142ad75744
Added remaining UFD functions 2020-01-07 21:58:04 -07:00
b0b0b612a1
Added Linux mount and unmount functions
* If not running with root priviledges then udevil is used.
2020-01-06 20:58:46 -07:00
c135d686df
Added Linux functions for building UFDs 2020-01-06 20:27:59 -07:00
8f31e5bd67
Added I/O functions for building UFDs 2020-01-06 20:26:57 -07:00
7bf03749ec
Added CoreStorage scanning logic
* Still needs tested
2020-01-04 21:35:42 -07:00
b75326aeee
Added indent option to wk.std.print_report() 2020-01-04 21:04:24 -07:00
945ae941fa
Added mount-all-volumes sections
* Still need to add the CoreStorage logic
2020-01-04 21:01:41 -07:00
fdad48f613
Fixed wk.std.color_string() 2020-01-04 21:00:36 -07:00
72787d5c24
Fix destination checks when imaging 2020-01-04 18:42:55 -07:00
b79deefdd6
Fix map name when using loopback devices 2020-01-04 18:28:43 -07:00
383b7c331a
Safety wheels are off 2020-01-04 18:07:28 -07:00
64645cdf1f
Expanded logging (slightly) 2020-01-04 18:06:57 -07:00
5926c3170d
Reworked retry sections
* Edit the map file directly instead of using --retrim and --try-again
  * Allows for more accurate pass status reporting
  * Allows for simpler pass break/continue logic
* Create the map file before running ddrescue
  * Allows file to be edited by the current user instead of just root/ddrescue
* Added check for empty map files
  * Avoids incorrectly marking a pass as complete
2020-01-04 18:01:39 -07:00
470524dfff
Added pause after "No actions performed" message 2020-01-04 16:54:28 -07:00
4acdab8c0f
Mark passes Skipped as appropriate 2020-01-04 16:53:56 -07:00
c71e30e4fb
Adjusted debug reports 2020-01-04 15:58:43 -07:00
a68e52322c
Fixed aborting when multiple parts selected 2020-01-04 15:41:15 -07:00
e6e51498dd
Clear ddrescue pane every minute 2020-01-03 18:36:53 -07:00
30a5df8a00
Fix timezone in SMART pane 2020-01-03 18:36:40 -07:00
4a2b18e4f7
Added confirmation to Quit if recovery < 100% 2020-01-03 17:55:23 -07:00
848ccc3ef1
Made several State() functions "private" 2020-01-03 17:54:55 -07:00
097360ca0a
Always ask GPT/MBR/Source when formatting a disk
* This fixes cloning partitions when not creating a boot partiton
2020-01-03 17:32:51 -07:00
6eaf5c2bc2
Get accurate size from ddrescuelog
* Reported size is off by one sector in some cases
2020-01-03 17:25:12 -07:00
eb702577ae
Mark clones as started to allow resuming 2020-01-03 16:45:47 -07:00
276e2e0dda
Made mode a State() variable 2020-01-03 16:38:48 -07:00
a4b5e81ef1
Made working_dir a State() variable 2020-01-03 16:08:38 -07:00
4f2b31c705
Avoid crash while stopping ddrescue
* Killall is needed because of sudo
2020-01-03 01:14:06 -07:00
2b18da7244
Added real ddrescue command logic
* Still needs testing!!
* Set all dry_run keywords to default to True
2020-01-03 00:47:33 -07:00
c22c3da493
Expanded safety checks
* Added destination NVMe/SMART checks
2020-01-02 23:33:21 -07:00
2983eb9bd3
Updated run_ddrescue()
* Added SMART pane logic
2020-01-02 23:24:23 -07:00
299b075eef
Fixed BlockPair().safety_check() 2020-01-02 22:32:18 -07:00
48eb4c13d7
Better handle non-iterables in color_string() 2020-01-02 21:57:40 -07:00
9ae8810282
Added real disk format section
* --dry-run=True safety wheels still engaged
2020-01-02 21:22:47 -07:00
ac04a3ddc5
Added another safety check for block pairs
* Needed one more check since clone pairs were assumed to be okay
2020-01-02 21:14:25 -07:00
5d0ed475a6
Added option to match source partition table type 2020-01-02 20:07:46 -07:00
9702d7665f
Added limited support for converting MBR/GPT types 2020-01-02 19:54:18 -07:00
6dc887b04e
Added initial disk formatting sections 2020-01-02 15:50:26 -07:00
764d35836b
Force running all passes if retry selected 2020-01-01 15:06:16 -07:00
1dacdd4637
Abort if an invalid image destination selected 2020-01-01 15:02:23 -07:00
f45a10395f
Added --force-local-map option 2020-01-01 15:02:11 -07:00
df6f3ba8e1
Added initial ddrescue pass logic 2019-12-30 20:21:37 -07:00
e88e4ab3eb
Added ddrescue settings sections 2019-12-30 19:29:32 -07:00
bcd46d4017
Added SMART/Journal panes 2019-12-30 19:25:46 -07:00
d9561a0159
pylint cleanup 2019-12-30 18:47:35 -07:00
e7fbc21721
Added EToC logic 2019-12-30 17:43:15 -07:00
0ddafe8a42
Updated side pane sections 2019-12-30 16:40:28 -07:00
631449e40a
Added format_status_string() 2019-12-30 16:40:03 -07:00
89de1d52bb
Updated BlockPair __init__() and pass_complete() 2019-12-30 16:37:49 -07:00
6ad68c37d4
Added update_progress_pane()
* Still a WIP
2019-12-29 19:29:09 -07:00
fa39801523
Adjusted block pair report 2019-12-26 20:18:17 -07:00
7d7dc70630
Added map data loading sections 2019-12-26 20:16:35 -07:00
fc0a37999b
Added size safety check to ddrescue TUI 2019-12-26 19:27:08 -07:00
bd3601e0c8
Ask for ticket ID and use in working_dir 2019-12-26 17:35:58 -07:00
20787da275
Optionally disallow empty responses to input_text 2019-12-26 17:19:26 -07:00
c083a124ad
Adjusted wk.std.input_text() again
* Dropped tcflush usage for simplicity
* Readded the prompt usage from 564745f03b
2019-12-26 17:00:41 -07:00
20ffa0c6db
Added --start-fresh argument 2019-12-24 18:01:04 -07:00
ef6abce6ab
Skip source partition selection if using JSON data 2019-12-24 17:35:38 -07:00
f542b62f3c
Use source model name in clone settings save file 2019-12-24 16:44:26 -07:00
4c50a1fb8a
Added first run flag to clone settings
* If the loaded settings are for a non-attempted recovery discard settings
2019-12-24 16:43:07 -07:00
67bb9223aa
Moved block pair report to new function 2019-12-24 16:42:18 -07:00
e7e3261b0a
Fixed partition separators 2019-12-24 16:38:42 -07:00
44b6c4eedb
Disable network servers by default 2019-12-22 21:24:55 -07:00
f71cc8ad68
Expanded block pair sections and confirmations 2019-12-22 21:24:02 -07:00
1ed6309971
Include selected source parts in 1st confirmation 2019-12-22 19:05:32 -07:00
6d6380dc6a
Added clone load/save and add block pair sections 2019-12-22 18:49:07 -07:00
0f2007f5dc
Set working directory for ddrescue TUI
* If cloning use backup server share
* If imaging use destination directory
* If a preferred directory and fstype can't be used then warn the user
2019-12-22 16:14:03 -07:00
428d255538
Added selection confirmation sections 2019-12-21 16:53:55 -07:00
0f0c47bbe4
Force selecting at least one partition/device 2019-12-20 12:54:42 -07:00
59ef06f402
Added select_path() 2019-12-19 11:59:34 -07:00
2fb2c3fa6e
Adjusted loopback device descriptions 2019-12-19 11:31:32 -07:00
b20e6cc4ad
Mount passed filepath as raw image
* Also unmount atexit
2019-12-18 20:47:06 -07:00
c3245c92da
Handle passing dir/file paths to ddrescue-tui 2019-12-18 19:28:52 -07:00
3fc9a843fc
Added select_disk_parts()
* Differentiate between all parts selected and whole disk selected
2019-12-13 20:04:15 -07:00