From e2db509d58bbc19da21314ffd2773602038b878c Mon Sep 17 00:00:00 2001 From: Bob Kuhn Date: Fri, 25 May 2018 04:31:18 -0500 Subject: [PATCH] [2.0.x] Update/Fix LPC1768 extra script upload_extra_script.py (#10843) * Use a different method to find the volume info in Windows --- .../HAL/HAL_LPC1768/upload_extra_script.py | 27 ++++++++++++++++--- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/Marlin/src/HAL/HAL_LPC1768/upload_extra_script.py b/Marlin/src/HAL/HAL_LPC1768/upload_extra_script.py index b3585d621..187265239 100644 --- a/Marlin/src/HAL/HAL_LPC1768/upload_extra_script.py +++ b/Marlin/src/HAL/HAL_LPC1768/upload_extra_script.py @@ -8,6 +8,21 @@ target_filename = "FIRMWARE.CUR" target_drive = "REARM" upload_disk = "" +import os +import subprocess + +#env_vars = subprocess.check_output('platformio run -t envdump') +#env_vars = env_vars.split('\n') +#for env in env_vars: +# print env +#exit(0) + +build_type = os.environ.get("BUILD_TYPE", 'Not Set') +if not(build_type == 'upload' or build_type == 'traceback' or build_type == 'Not Set') : + exit(0) + +print '\nSearching for upload disk' + import platform current_OS = platform.system() @@ -37,6 +52,14 @@ if current_OS == 'Windows': upload_disk = 'Disk not found' target_file_found = False target_drive_found = False + + volume_info = subprocess.check_output('powershell -Command volume ') + volume_info = volume_info.split('\n') + for entry in volume_info: + if target_drive in entry and target_drive_found == False: # set upload if not found target file yet + target_drive_found = True + upload_disk = entry[ : entry.find(' ')] + ':' + for drive in drives: final_drive_name = drive.strip().rstrip('\\') # typical result (string): 'C:' # modified version of walklevel() @@ -49,10 +72,6 @@ if current_OS == 'Windows': num_sep_this = root.count(os.path.sep) if num_sep + level <= num_sep_this: del dirs[:] - volume_info = subprocess.check_output('fsutil fsinfo volumeinfo ' + final_drive_name) - if target_drive in volume_info and target_file_found == False: # set upload if not found target file yet - target_drive_found = True - upload_disk = root if target_filename in files: if target_file_found == False: upload_disk = root