Commit graph

532 commits

Author SHA1 Message Date
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
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
087500c9b7 Fixed inconsistent indent length 2018-10-02 23:09:20 -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
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
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
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
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
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
1d0378dd7b
Training wheels off 2018-08-19 19:23:24 -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
0c3b90eb63
Add clone destination sections
* Hide source device in dest selection menu
2018-07-15 00:04:24 -06:00
cfbd0ec8f2
Add device selection menu 2018-07-14 23:45:08 -06:00
667223b3c2
Check passed source
* If it's an image, setup loopback dev
* If it's a child block dev, prompt with option to use parent block
* Show selected source details
2018-07-14 22:52:18 -06:00
8b1e19fa4b
Initial wk-ddrescue menu 2018-07-14 21:19:08 -06:00
d57b08ec6f
Update hw_diags so it can be used by wk-ddrescue 2018-07-14 21:17:32 -06:00
2Shirt
bbfcc2e3fe Hotfix: Handle size=None in human_readable_size() 2018-05-30 17:26:49 -06:00
2Shirt
24df753a40 Add support for LVM and RAID to mount-all-volumes
* Renamed get_mounted_data to get_mounted_volumes
* Report data is now a dict for better clarity
* Widened report hoping that LVM names will fit (they probably wont)
* This fixes #38
2018-05-21 20:25:12 -06:00
2Shirt
25d34e5ace Copy WinPE.log to new Windows installations 2018-05-21 15:57:24 -06:00
2Shirt
70e4797b7a Refactored windows_image code
* Better names (e.g. 'Letter' instead of 'Source')
* Added 'Local' bool to simplify network-vs-local installs
* Only reassign the source letter if necessary
* Bugfix: Update 'Path' when reassigning a volume letter
* Fixes #33 (again)
2018-05-21 15:43:05 -06:00
2Shirt
e305b3e60f Add warning for missing archive in extract_item() 2018-05-17 20:56:55 -06:00
2Shirt
27953bde5a Update backup/restore code
* Added support for local backups
* Added volume label detection for local backups
* Replace spaces in backup_prefix with underscores
2018-05-17 20:54:45 -06:00
2Shirt
b997a52385 Updated hw-diags section
* Use date_time instead of ticket_number if disabled
2018-05-17 18:17:36 -06:00
2Shirt
db09236b26 Updated user_data_transfer sections 2018-05-17 18:06:26 -06:00
2Shirt
bec947262b Updated WinPE sections 2018-05-17 18:03:53 -06:00
2Shirt
3114b72178 Add ticket toggle var and get_simple_string func
* get_simple_string() will be used for backup prefixes
2018-05-17 17:57:45 -06:00
2Shirt
5ea499d6ff Assign volume letters before finding source image
* Fixes issue #33
2018-05-17 17:09:22 -06:00
2Shirt
1c3520806c Avoid nohup.out creation 2018-05-17 15:17:14 -06:00
2Shirt
0902a7997f Moved SafeMode sections into functions/safemode.py
* Allows for better descriptions of the actions being taken
* Allowd for better error handling
* Fixes issue #34
2018-05-14 12:58:06 -06:00
2Shirt
6868988cec Added antivirus check to the system_checklist
* Fixes issue #31
2018-05-14 12:11:38 -06:00
2Shirt
8ea17268c7 Fixed local sources for user_data_transfer
* Added support for local images and root folders
2018-05-14 09:42:30 -06:00
2Shirt
e751696307 Avoid crash if VCR+ installers are missing 2018-05-14 08:01:09 -06:00
2Shirt
ebffd2a2dd Added more missing file warnings
* Part of the fix for #27
2018-05-14 07:54:33 -06:00
2Shirt
17dc572c4a Added warnings for missing tools 2018-05-13 18:57:27 -06:00
2Shirt
79d2af6e0a Fix issue #27
Several popen_program() calls were not inside try blocks causing full crashes
2018-05-13 18:20:42 -06:00
2Shirt
18c535dcfd Bugfix for OS detection
* Avoids CurrentBuild collision between Win8 and Win8.1
* Fix DisplayName formatting
2018-05-13 16:09:07 -06:00
2Shirt
ee2bcd5aea Refactored OS build detection
* Known build data moved to settings/windows_builds.py
* OS version statically set in windows_builds.py
* Added Insider Previews to recognized builds
  * Shown in red due to their very short support windows
* Windows 8 and Windows 8.1 are now separate versions
* Added codenames to Vista and 7 (for fun!)
* Unrecognized builds have the CurrentBuild number in the DisplayName
2018-05-12 20:13:54 -06:00
2Shirt
04f7ae2f21 Better unit handling during I/O Benchmarks
* All results are in MB/s
2018-04-16 14:17:28 -06:00
2Shirt
e55dbeeb23 Add dd drive I/O Benchmark test
* All tests: runs if SMART=CS/OVERRIDE & BADBLOCKS=CS
* All drive tests: runs if SMART=CS/OVERRIDE & BADBLOCKS=CS
* I/O tests are readonly, blocksize=4M, and limited to 16 Gb
* Fix issue #23
2018-04-16 02:58:34 -06:00
2Shirt
4b0dde6efe Re-add keyboard test to HW diag menu
* Fix issue #25
2018-04-15 10:25:49 -06:00
2Shirt
8e22aa22b0 Fix issue #22 2018-03-15 15:28:54 -06:00
2Shirt
b080200118 Fix issue #21 2018-03-15 14:30:46 -06:00
2Shirt
ac1ee5f695 More HWiNFO updates 2018-03-08 19:09:22 -07:00
2Shirt
d82ad55113 Fix issue #19 2018-02-28 13:15:00 -07:00
2Shirt
a5630c2837 Updated HWiNFO download sections 2018-02-21 18:08:47 -07:00
2Shirt
64f22fbe30
Updated update.py
Support new HWiNFO archives
2018-02-21 14:02:11 -07:00
2Shirt
a0c6569eaf
Fix issue #12
The download no longer gets wrapped in a gzip archive.
2018-02-09 11:50:51 -07:00
2Shirt
e958eedfb6 Fix handing of path separators to prevent crashes 2018-02-07 20:15:31 -07:00
2Shirt
44acb9b755
Update windows_setup.py 2018-01-30 17:28:34 -07:00
2Shirt
96c6997a44 Update function docstrings 2018-01-30 16:50:28 -07:00
2Shirt
89c343943f Replaced remaining show_info calls with show_data 2018-01-30 16:00:59 -07:00
2Shirt
e0db7560e6 Better server share mounting
* Added ability to mount read-only or read-write
  * Allows the same main.py file to be used for all build scripts.
2018-01-30 15:23:46 -07:00
2Shirt
3ac2d8d1d4 Bugfix: Setting Windows time should work again
* Was using the wrong variable name
2018-01-28 18:19:57 -07:00
2Shirt
012da00821 Removed ClientInfo upload code 2018-01-28 17:55:40 -07:00
2Shirt
c24554720f Add option to upload crash details
* Disabled by default, enabled via main.py ENABLE_UPLOAD_DATA
* Upload destination set via main.py CRASH_SERVER variable
2018-01-28 17:48:42 -07:00
2Shirt
d96256fd87 Add reboot/shutdown entries when not in X 2018-01-27 12:45:37 -07:00
2Shirt
30dcd8758e Added a "Yes to all" option to User Data Transfer 2018-01-26 18:35:05 -07:00
2Shirt
a7451f86ba Added choice() function
* Provides a simlilar interface to the Windows choice command.
2018-01-26 18:32:33 -07:00
2Shirt
f0ae207890 Improved source scanning for user data transfers
* Fixes recursion bug when Windows.old folders are present
* Combined logic for file/folder sources and WIM sources
* Code uses proper folder separators for the running OS
  * (e.g. '\' for Windows and '/' for the rest)
2018-01-26 17:52:43 -07:00
2Shirt
f7f3f0d53c
Updated info.py
Should fix #10
2018-01-17 17:22:45 -07:00
2Shirt
0e87bf55a0 Enable HW-Diags for more devices
* Skip all removable WizardKit devices
* Fixes issue #8
2018-01-15 13:45:58 -07:00
2Shirt
c7901d1328 Merge branch 'linux' into dev 2017-12-30 12:30:27 -07:00
2Shirt
43e8746c46 Fixed using local Windows images 2017-12-30 12:04:48 -07:00
2Shirt
698546f823 Switch to single-line disk descriptions 2017-12-27 19:36:22 -07:00
2Shirt
c0cbdc6923 Added pause after audio and network tests 2017-12-27 19:19:29 -07:00
2Shirt
524096165c Forgot to update_progress during badblocks tests 2017-12-27 14:02:04 -07:00
2Shirt
5d70124c39 Updated badblocks section
* Reduced worker pane size
* Save badblocks logs in LogDir
2017-12-27 13:42:10 -07:00
2Shirt
18ce079aa3 Open log after HW diags 2017-12-27 13:11:25 -07:00
2Shirt
6ddf3fca67 Re-added hw-diags quick disk check function 2017-12-27 04:45:59 -07:00
2Shirt
16c20ac6ea Cleanup and fix results screen during abort
* Renamed run_smart to run_nvme_smart to match rest of the code
* Mark NVMe/SMART status as NS earlier in a couple more cases
* Prevent crash when all tests are run and then aborted during Prime95
2017-12-27 04:22:02 -07:00
2Shirt
7fbbde56c6 run_badblocks() working
* Re-added and updated hw-diags-badblocks
2017-12-27 04:01:54 -07:00
2Shirt
0ea523a2cf Show Prime95 final temps in result screen 2017-12-27 02:12:32 -07:00
2Shirt
0bab107e24 Updated results screen formatting 2017-12-27 02:11:28 -07:00
2Shirt
24e72f2f35 SMART section finished
* The script waits for the self-test for polling-time+5min
  * Unless it detects completion after 60 seconds
* Fixed missing linebreaks in progress panes
* BREAKING: TESTS data structure reworked to support per-dev status
2017-12-27 01:42:04 -07:00
2Shirt
579a747878 Started work on results screen 2017-12-26 21:43:23 -07:00
2Shirt
a6917fc129 run_mprime() finished
* Results now determined from log files
2017-12-26 15:57:36 -07:00
2Shirt
8ff33547c4 Save temps just before stopping Prime95 2017-12-26 15:16:15 -07:00
2Shirt
03d7646685 Enabled logging for hw-diags 2017-12-26 14:17:53 -07:00
2Shirt
74ba8fb758 Added hw-diags-prime95 and still removing libtmux 2017-12-24 18:46:02 -07:00
2Shirt
57b1d246c2 Going to drop libtmux and use tmux directly 2017-12-24 17:13:48 -07:00
2Shirt
6f456f5c47 Added show_disk_details() 2017-12-24 15:41:13 -07:00
2Shirt
59a449e7e5 Cleanup
* Renamed 'Health OK' to 'Quick Health OK'
  * Better implies that we're not done testing
* Renamed SMART sections to NVMe/SMART
  * Dropping SMART short-tests for NVMe drives
2017-12-24 13:19:23 -07:00
2Shirt
87c09c4da0 New method for gathering SMART/NVMe data
* Replaced smartmontools with smartmontool-svn
  * Adds JSON exporting which makes parsing the data easier
* Using nvme-cli for NVMe drives instead of smartctl
  * NVMe support in smartctl is still experimental and inconsistent
* New "Health OK" detection
  * This is used to determine if a disk is okay to be tested
    * e.g. an IDE disk w/out any SMART data now requires explicit overriding
  * NVMe disks are set using the "critical_warning" attribute
  * SMART disks are set using the "overall-health" attribute
2017-12-24 00:21:33 -07:00
2Shirt
5d6e138d29 Started hw-diags & hw-diags-inner rewrite 2017-12-23 19:11:50 -07:00
2Shirt
a1b72c0aeb New hw-diags-network script 2017-12-22 00:45:42 -07:00
2Shirt
e96d491285 New mount-backup-shares script 2017-12-21 23:16:50 -07:00
2Shirt
183ef78ea9 mount-all-volumes rewrite complete
* New print layout
* All inxi calls replaced with findmnt and lsblk
  * Added util-linux to packages/live
2017-12-18 03:36:56 -07:00
2Shirt
5ea03da0a4 Converted all python scripts to LF/UNIX 2017-12-18 00:47:47 -07:00
2Shirt
a33a54c5e6 Started python conversion 2017-12-17 21:22:53 -07:00
Alan Mason
6ff8d76b59 Write logs in UTF-8
Fixes #6
2017-12-06 13:23:28 -08:00
Alan Mason
5d7cad37e4 Bugfix: Prevent crash when checking Office/QuickBooks network installers 2017-12-06 12:50:34 -08:00
Alan Mason
a5a4278c3e Expanded browser section
* Support installing adblock for browsers with no profiles detected
* Warn tech about missing browsers if profiles are detected
2017-12-04 12:19:57 -08:00
Alan Mason
1cbd1782f7 User data transfers working.
Bugfix: cleanup_transfer() call was missing dest_path
2017-12-04 08:46:19 -08:00
Alan Mason
26c1a47fec Sorted data transfer sources for menu_select 2017-12-04 08:20:11 -08:00
Alan Mason
b0068e0dce Bugfix: browsers.py
* Profile backup detection fixed
2017-12-04 07:43:53 -08:00
Alan Mason
d78971019f Bugfix: install_firefox_extensions() 2017-12-04 07:35:31 -08:00
Alan Mason
d737a35078 Refactored check_os()
* Safer registry queries
* Only query CurrentBuild, CurrentVersion, and ProductName
* Service Pack / update status determined by the build number
* Set build & version to -1 instead of 'Unknown' if str to int/float fails
  * Might prevent crashes by not mixing str/num types
2017-12-04 07:13:37 -08:00
Alan Mason
9414c04395 Pause during abort() 2017-12-03 18:02:32 -08:00
Alan Mason
09b23c2ffa Prevent double timestamps in show_installed_ram() 2017-12-03 17:36:02 -08:00
Alan Mason
83074f7460 Registry backups saved to Backups instead of Info 2017-12-03 17:35:25 -08:00
Alan Mason
9193c16090 Bugfix: activation.py
Reversed updates from commit b47c214
2017-12-03 14:57:34 -08:00
Alan Mason
3b31b7fd29 Bugfix: update.py 2017-12-03 14:52:51 -08:00
Alan Mason
975a43f1d5 Ask to open logs in WinPE menus
* Instead of automatically opening them
2017-12-03 09:50:30 -08:00
Alan Mason
5c5b13b33c Updated select_minidump_path() 2017-12-03 09:49:42 -08:00
Alan Mason
e892cd3406 Attempt to silence more "No disk" errors 2017-12-03 09:48:59 -08:00
Alan Mason
1848c7dc66 Fix rare crashes caused by damaged disks 2017-12-03 09:28:12 -08:00
Alan Mason
7e4a0259c7 updated partition_uids sections 2017-12-03 09:08:50 -08:00
Alan Mason
075e25462e Properly handle damaged filesystems 2017-12-02 16:58:45 -08:00
Alan Mason
da0dae2083 Trimmed partition descriptions 2017-12-02 16:33:26 -08:00
Alan Mason
750112cfb2 WinPE files moved into place. 2017-12-01 19:43:42 -08:00
Alan Mason
e13b057eac Sync functions\* with WinPE versions 2017-12-01 19:24:09 -08:00
Alan Mason
b47c214133 More misc cleanup 2017-11-30 21:48:25 -08:00
Alan Mason
11cf75d4a6 Added clear_screen() 2017-11-30 14:08:12 -08:00
Alan Mason
5eaefb3e41 Misc cleanup 2017-11-30 13:34:39 -08:00
Alan Mason
c0d80e8727 Updated error message 2017-11-30 09:59:00 -08:00
Alan Mason
d8d105c9ae Set core.autocrlf to false
* This should (hopefully) allow for tagged releases to have the correct line endings.
2017-11-23 15:24:53 -08:00
Alan Mason
964ec1e037 Adjusted free_space formatting 2017-11-23 15:13:33 -08:00
Alan Mason
b02a62a917 Updated BIOS activation sections 2017-11-23 14:35:32 -08:00
Alan Mason
9ba9ece589 Removing Visual C++ 2015 runtimes
* VCRedist 2017 installs as an update for 2015 (http://disq.us/p/1hjcta0)
  * This prevents installing or uninstalling the 2015 versions after installing 2017
  * (Because both 2015 and 2017 use these regkeys: HKEY_LOCAL_MACHINE(Wow6432Node|)\SOFTWARE\Microsoft\DevDiv\VC\Servicing\14.0)
2017-11-23 13:43:49 -08:00
Alan Mason
5dda9ea491 FIx BleachBit sections 2017-11-23 12:20:39 -08:00
Alan Mason
98b95cbcb5 Merge branch 'new-update-script' into develop 2017-11-22 20:58:59 -08:00
Alan Mason
9977ddf365 Made Ninite optional in install_sw_bundle 2017-11-22 20:58:42 -08:00
Alan Mason
6250ee8865 Copy Ninite files to Installers during update 2017-11-22 20:56:26 -08:00
Alan Mason
68aed8ff34 Fixed menus shown by select_disk()
* Also auto-selects the first disk (if it's the only one detected)
2017-11-22 20:11:07 -08:00
Alan Mason
0416f83448 Fixed broken menus 2017-11-22 20:06:08 -08:00
Alan Mason
76a1752454 Merge branch 'develop' into refactor-launch-cmd 2017-11-22 16:48:52 -08:00
Alan Mason
1011fef0ce Missing update to update.py 2017-11-22 16:47:55 -08:00
Alan Mason
c4b768e114 Merged Console and Program sections
* BREAKING: This uses a new L_TYPE: Executable
  * Added new L__CLI variable to run inside ConEmu
2017-11-22 16:45:11 -08:00
Alan Mason
e28492f32f Fixed a few launchers 2017-11-22 13:45:59 -08:00
Alan Mason
ef844d510c Another attempt to fix CRLF/LF issues 2017-11-22 13:45:23 -08:00
Alan Mason
950110ec8a Adjusted launcher naming 2017-11-22 12:01:43 -08:00
Alan Mason
d8214cce14 Attempt to fix CRLF/LF issue
* Generated launchers were using inconsistent endings causing very strange crashes.
  * New plan: strip current endings and let Python handle them instead.
2017-11-21 18:15:38 -08:00
Alan Mason
4bdab51e34 Reduce wait time after removing old launchers 2017-11-21 15:00:49 -08:00
Alan Mason
4701ef77fd Readded network installers
* Only installers for supported years have launchers created
2017-11-21 15:00:20 -08:00
Alan Mason
deac1a6dda Completed generate launchers 2017-11-21 13:26:33 -08:00
Alan Mason
52684ebb4a Bugfix
* TreeSizeFree downloads and extracts correctly again
* Compressing tools will skip 7-Zip archives
2017-11-21 10:34:52 -08:00
Alan Mason
93a7a69c29 Compress .cbin done
* Only mildly dangerous?
2017-11-21 00:07:41 -08:00
Alan Mason
f842cec65b Always more downloads 2017-11-20 23:12:48 -08:00
Alan Mason
3df01a0e05 no message 2017-11-20 23:11:07 -08:00
Alan Mason
ea4036e14d Added ODT downloads 2017-11-20 23:10:42 -08:00
Alan Mason
5c5fba103e Downloads finished
Testing and compression next
2017-11-20 21:23:41 -08:00
Alan Mason
4bf7d000e3 update.py rewrite still in progress
TODO:
* Finish the download sections
* Add section to compress the folders/files in .cbin
2017-11-19 18:51:03 -08:00
Alan Mason
59ecefe839 Added initial cbin downloads
* Need to add rest of the tools and compression sections
2017-11-19 02:51:33 -08:00
Alan Mason
231040526a Updated exit_script()
Keep script open if log can't be opened
2017-11-18 15:42:58 -08:00
Alan Mason
bda6c5d280 Bugifx
Close issue #2
2017-11-18 14:24:13 -08:00
Alan Mason
1fa361ada6 Bugfix
Closes issue #3
2017-11-18 14:00:41 -08:00
Alan Mason
6fc04266d4 2017-11: Retroactive Updates
## MAJOR refactoring done ##

* All .cmd Command scripts
  * Brandind / Settings variables now set via .bin/Scripts/settings/main.py
  * Window titles now set using KIT_FULL_NAME

* All .py Python scripts
  * All ClientDir paths should now use KIT_SHORT_NAME
  * Long lines wrapped to better follow PEP8
  * String formatting now more consistant
  * Updated run_program() and popen_program() calls to use lists
    * (e.g. cmd = ['', '', '']; run_program(cmd))
    ** Should improve clarity IMO
  * Update window titles AFTER init_global_vars() so KIT_FULL_NAME can be used

* Branding / Settings
  * Support tech now configurable
    * (e.g. "Please let {tech} know and they'll look into it")
  * Timezone now configurable
  * Upload info can now be disabled/enabled in .bin/Scripts/settings/main.py

* CHKDSK
  * Combined read-only and fix scripts and added menu

* DISM
  * Combined ScanHealth and RestoreHealth scripts and added menu

* functions/common.py
  * BREAKING: run_program() and popen_program() no longer accept 'args' variable

* Misc
  * Removed Win7 NVMe launcher
    * Never used and Win7 is deprecated
  * Removed "DeviceRemover" and "Display Driver Uninstaller" launchers
    * Both cut too deep and were not useful
  * Removed Nirsoft utilities and Sysinternals Suite launchers
    * Too many tools unused.
    * Added .url links to the websites in case the tools are needed
  * Replaced WinDirStat with TreeSizeFree
  * Replaced Q-Dir launcher with XYplorer launcher
    * Q-Dir was running into issues on Windows 10
  * Removed C.IntRep, ESET, and MBAM launchers from "OSR & VR"
  * Removed JRT
    * Deprecated and discontinued by MBAM
  * Removed unsupported QuickBooks launchers (2014 and older)
  * Removed unsupported Office launchers (2010 and 2013\365)
  * Removed "Revo Uninstaller" launcher
  * Removed infrequently used tools from "Diagnostics"
    * Auslogics DiskDefrag
    * BatteryInfoView
    * BIOSCodes
    * GpuTest
    * HeavyLoad

* Bugfixes
  * major_exception() try-blocks should catch CTL+c again
    * Allows for manual script bailing
2017-11-17 01:02:24 -07:00