Added removal of readonly files via chmod.
This commit is contained in:
parent
b6dcfc67e1
commit
a011fad001
1 changed files with 13 additions and 21 deletions
|
|
@ -659,24 +659,12 @@ class CommandBase(object):
|
||||||
|
|
||||||
output_dir = utils.path_join(self.output_dir(), self.project_name())
|
output_dir = utils.path_join(self.output_dir(), self.project_name())
|
||||||
if os.path.exists(output_dir):
|
if os.path.exists(output_dir):
|
||||||
try:
|
utils.rmtree(output_dir, onerror=self.remove_readonly)
|
||||||
utils.rmtree(output_dir)
|
|
||||||
except OSError as e:
|
|
||||||
error = u'Failed to remove output directory: {}.'.format(output_dir)
|
|
||||||
error += '\nError recieved: {}'.format(e)
|
|
||||||
self.logger.error(error)
|
|
||||||
self.output_err += error
|
|
||||||
|
|
||||||
temp_dir = utils.path_join(TEMP_DIR, 'webexectemp')
|
temp_dir = utils.path_join(TEMP_DIR, 'webexectemp')
|
||||||
|
|
||||||
if os.path.exists(temp_dir):
|
if os.path.exists(temp_dir):
|
||||||
try:
|
utils.rmtree(temp_dir, onerror=self.remove_readonly)
|
||||||
utils.rmtree(temp_dir)
|
|
||||||
except OSError as e:
|
|
||||||
error = u'Failed to remove temporary directory: {}.'.format(temp_dir)
|
|
||||||
error += '\nError recieved: {}'.format(e)
|
|
||||||
self.logger.error(error)
|
|
||||||
self.output_err += error
|
|
||||||
|
|
||||||
self.progress_text = 'Making new directories...\n'
|
self.progress_text = 'Making new directories...\n'
|
||||||
|
|
||||||
|
|
@ -817,13 +805,7 @@ class CommandBase(object):
|
||||||
self.logger.error(error)
|
self.logger.error(error)
|
||||||
self.output_err += error
|
self.output_err += error
|
||||||
finally:
|
finally:
|
||||||
try:
|
utils.rmtree(temp_dir, onerror=self.remove_readonly)
|
||||||
utils.rmtree(temp_dir)
|
|
||||||
except OSError as e:
|
|
||||||
error = u'Failed to remove temporary directory: {}.'.format(temp_dir)
|
|
||||||
error += '\nError recieved: {}'.format(e)
|
|
||||||
self.logger.error(error)
|
|
||||||
self.output_err += error
|
|
||||||
|
|
||||||
def make_desktop_file(self, nw_path, export_dest):
|
def make_desktop_file(self, nw_path, export_dest):
|
||||||
icon_set = self.get_setting('icon')
|
icon_set = self.get_setting('icon')
|
||||||
|
|
@ -902,6 +884,16 @@ class CommandBase(object):
|
||||||
time.sleep(2)
|
time.sleep(2)
|
||||||
output, err = proc.communicate()
|
output, err = proc.communicate()
|
||||||
|
|
||||||
|
def remove_readonly(self, action, name, exc):
|
||||||
|
try:
|
||||||
|
os.chmod(name, stat.S_IWRITE)
|
||||||
|
os.remove(name)
|
||||||
|
except Exception as e:
|
||||||
|
error = u'Failed to remove file: {}.'.format(name)
|
||||||
|
error += '\nError recieved: {}'.format(e)
|
||||||
|
self.logger.error(error)
|
||||||
|
self.output_err += error
|
||||||
|
|
||||||
def copy_files_to_project_folder(self):
|
def copy_files_to_project_folder(self):
|
||||||
old_dir = CWD
|
old_dir = CWD
|
||||||
os.chdir(self.project_dir())
|
os.chdir(self.project_dir())
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue