lpcmanager

Fixed xEye export
revamp
2018-02-13, Edouard Tisserant
d1c8a008e121
Parents 5748975e2d44
Children 14b468ab23c2
Fixed xEye export
--- a/LPCProjectController.py Tue Feb 13 14:03:25 2018 +0100
+++ b/LPCProjectController.py Tue Feb 13 14:54:22 2018 +0100
@@ -36,25 +36,27 @@
"""
return self.Project.getname()
- def ToZIPFile(self):
+ def xEyeExport(self):
"""
Zip project files for use in xEye
"""
- # TODO : use os.path.join and os.path.split, and <80 columns, please
- try:
- path_export_file = self.BuildPath[:-5] + "\\" + self._builder.exe[:-3] + ".xEye"
- zf = zipfile.ZipFile(path_export_file, mode='w', compression=zipfile.ZIP_DEFLATED)
- for extrafilespath in [self._getExtraFilesPath(),
- self._getProjectFilesPath()]:
- dir = extrafilespath.split("\\")[-1]
- for name in os.listdir(extrafilespath):
- zf.write(extrafilespath + '\\' + str(name), dir + '\\' + str(name), zipfile.ZIP_DEFLATED)
- zf.write(self._builder.exe_path, self._builder.exe)
- zf.write(self.BuildPath + '\\lastbuildPLC.md5', 'lastbuildPLC.md5')
- zf.close()
- self.logger.write(_("Export file is successfully created on location: %s\n") % path_export_file)
- except Exception, e:
- self.logger.write(_("Export file is not created because eror: %s\n") % e)
+ opj = os.path.join
+ ops = os.path.split
+ output_file_path = opj(ops(self._getBuildPath())[0],
+ self.GetProjectName() + ".xEye")
+
+ zf = zipfile.ZipFile(output_file_path, mode='w',
+ compression=zipfile.ZIP_DEFLATED)
+
+ for extrafilespath in [self._getExtraFilesPath(),
+ self._getProjectFilesPath()]:
+ dirname = ops(extrafilespath)[-1]
+ for name in os.listdir(extrafilespath):
+ zf.write(opj(extrafilespath, str(name)), opj(dirname, str(name)), zipfile.ZIP_DEFLATED)
+ zf.write(self._builder.exe_path, self._builder.exe)
+ zf.write(opj(self._getBuildPath(), 'lastbuildPLC.md5'), 'lastbuildPLC.md5')
+ zf.close()
+ self.logger.write(_("xEye export file created at: %s\n") % output_file_path)
def _Build(self):
"""
@@ -67,7 +69,7 @@
result = ProjectController._Build(self)
if result:
- self.ToZIPFile()
+ self.xEyeExport()
return result
def SetProjectName(self, name):