equal
deleted
inserted
replaced
38 import tempfile |
38 import tempfile |
39 from threading import Timer |
39 from threading import Timer |
40 from datetime import datetime |
40 from datetime import datetime |
41 from weakref import WeakKeyDictionary |
41 from weakref import WeakKeyDictionary |
42 from functools import reduce |
42 from functools import reduce |
|
43 from distutils.dir_util import copy_tree |
43 from six.moves import xrange |
44 from six.moves import xrange |
44 |
45 |
45 import wx |
46 import wx |
46 |
47 |
47 import features |
48 import features |
572 if self.CheckProjectPathPerm(False): |
573 if self.CheckProjectPathPerm(False): |
573 if from_project_path is not None: |
574 if from_project_path is not None: |
574 old_projectfiles_path = self._getProjectFilesPath( |
575 old_projectfiles_path = self._getProjectFilesPath( |
575 from_project_path) |
576 from_project_path) |
576 if os.path.isdir(old_projectfiles_path): |
577 if os.path.isdir(old_projectfiles_path): |
577 shutil.copytree(old_projectfiles_path, |
578 copy_tree(old_projectfiles_path, |
578 self._getProjectFilesPath(self.ProjectPath)) |
579 self._getProjectFilesPath(self.ProjectPath)) |
579 self.SaveXMLFile(os.path.join(self.ProjectPath, 'plc.xml')) |
580 self.SaveXMLFile(os.path.join(self.ProjectPath, 'plc.xml')) |
580 result = self.CTNRequestSave(from_project_path) |
581 result = self.CTNRequestSave(from_project_path) |
581 if result: |
582 if result: |
582 self.logger.write_error(result) |
583 self.logger.write_error(result) |
583 |
584 |