556 self.trUtf8("""Compressed project files not supported.""" |
556 self.trUtf8("""Compressed project files not supported.""" |
557 """ The compression library is missing.""")) |
557 """ The compression library is missing.""")) |
558 return False |
558 return False |
559 f = gzip.open(fn, "r") |
559 f = gzip.open(fn, "r") |
560 else: |
560 else: |
561 f = open(fn, "r") |
561 f = open(fn, "r", encoding = "utf-8") |
562 line = f.readline() |
562 line = f.readline() |
563 dtdLine = f.readline() |
563 dtdLine = f.readline() |
564 f.close() |
564 f.close() |
565 except EnvironmentError: |
565 except EnvironmentError: |
566 QApplication.restoreOverrideCursor() |
566 QApplication.restoreOverrideCursor() |
660 self.trUtf8("""Compressed project files not supported.""" |
660 self.trUtf8("""Compressed project files not supported.""" |
661 """ The compression library is missing.""")) |
661 """ The compression library is missing.""")) |
662 return False |
662 return False |
663 f = gzip.open(fn, "r") |
663 f = gzip.open(fn, "r") |
664 else: |
664 else: |
665 f = open(fn, "r") |
665 f = open(fn, "r", encoding = "utf-8") |
666 try: |
666 try: |
667 try: |
667 try: |
668 parser.parse(f) |
668 parser.parse(f) |
669 except UnicodeEncodeError: |
669 except UnicodeEncodeError: |
670 f.seek(0) |
670 f.seek(0) |
742 self.trUtf8("""Compressed project files not supported.""" |
742 self.trUtf8("""Compressed project files not supported.""" |
743 """ The compression library is missing.""")) |
743 """ The compression library is missing.""")) |
744 return False |
744 return False |
745 f = gzip.open(fn, "w") |
745 f = gzip.open(fn, "w") |
746 else: |
746 else: |
747 f = open(fn, "w") |
747 f = open(fn, "w", encoding = "utf-8") |
748 |
748 |
749 ProjectWriter(f, os.path.splitext(os.path.basename(fn))[0]).writeXML() |
749 ProjectWriter(f, os.path.splitext(os.path.basename(fn))[0]).writeXML() |
750 |
750 |
751 f.close() |
751 f.close() |
752 |
752 |
769 fn, ext = os.path.splitext(os.path.basename(self.pfile)) |
769 fn, ext = os.path.splitext(os.path.basename(self.pfile)) |
770 |
770 |
771 fn = os.path.join(self.getProjectManagementDir(), '%s.e4q' % fn) |
771 fn = os.path.join(self.getProjectManagementDir(), '%s.e4q' % fn) |
772 if os.path.exists(fn): |
772 if os.path.exists(fn): |
773 try: |
773 try: |
774 f = open(fn, "r") |
774 f = open(fn, "r", encoding = "utf-8") |
775 |
775 |
776 parser = make_parser(True) |
776 parser = make_parser(True) |
777 handler = UserProjectHandler(self) |
777 handler = UserProjectHandler(self) |
778 er = XMLEntityResolver() |
778 er = XMLEntityResolver() |
779 eh = XMLErrorHandler() |
779 eh = XMLErrorHandler() |
812 fn, ext = os.path.splitext(os.path.basename(self.pfile)) |
812 fn, ext = os.path.splitext(os.path.basename(self.pfile)) |
813 |
813 |
814 fn = os.path.join(self.getProjectManagementDir(), '%s.e4q' % fn) |
814 fn = os.path.join(self.getProjectManagementDir(), '%s.e4q' % fn) |
815 |
815 |
816 try: |
816 try: |
817 f = open(fn, "w") |
817 f = open(fn, "w", encoding = "utf-8") |
818 |
818 |
819 UserProjectWriter(f, os.path.splitext(os.path.basename(fn))[0]).writeXML() |
819 UserProjectWriter(f, os.path.splitext(os.path.basename(fn))[0]).writeXML() |
820 |
820 |
821 f.close() |
821 f.close() |
822 except IOError: |
822 except IOError: |
857 return |
857 return |
858 f = gzip.open(fn, "r") |
858 f = gzip.open(fn, "r") |
859 else: |
859 else: |
860 fn = os.path.join(self.getProjectManagementDir(), |
860 fn = os.path.join(self.getProjectManagementDir(), |
861 '%s%s.e4s' % (fn, indicator)) |
861 '%s%s.e4s' % (fn, indicator)) |
862 f = open(fn, "r") |
862 f = open(fn, "r", encoding = "utf-8") |
863 line = f.readline() |
863 line = f.readline() |
864 dtdLine = f.readline() |
864 dtdLine = f.readline() |
865 f.close() |
865 f.close() |
866 except EnvironmentError: |
866 except EnvironmentError: |
867 if not quiet: |
867 if not quiet: |
928 self.trUtf8("<p>The project session <b>{0}</b> could not" |
928 self.trUtf8("<p>The project session <b>{0}</b> could not" |
929 " be read.</p>").format(fn)) |
929 " be read.</p>").format(fn)) |
930 return |
930 return |
931 f = gzip.open(fn, "r") |
931 f = gzip.open(fn, "r") |
932 else: |
932 else: |
933 f = open(fn, "r") |
933 f = open(fn, "r", encoding = "utf-8") |
934 try: |
934 try: |
935 try: |
935 try: |
936 parser.parse(f) |
936 parser.parse(f) |
937 except UnicodeEncodeError: |
937 except UnicodeEncodeError: |
938 f.seek(0) |
938 f.seek(0) |
997 return |
997 return |
998 f = gzip.open(fn, "w") |
998 f = gzip.open(fn, "w") |
999 else: |
999 else: |
1000 fn = os.path.join(self.getProjectManagementDir(), |
1000 fn = os.path.join(self.getProjectManagementDir(), |
1001 '%s%s.e4s' % (fn, indicator)) |
1001 '%s%s.e4s' % (fn, indicator)) |
1002 f = open(fn, "w") |
1002 f = open(fn, "w", encoding = "utf-8") |
1003 |
1003 |
1004 SessionWriter(f, os.path.splitext(os.path.basename(fn))[0]).writeXML() |
1004 SessionWriter(f, os.path.splitext(os.path.basename(fn))[0]).writeXML() |
1005 |
1005 |
1006 f.close() |
1006 f.close() |
1007 |
1007 |
1064 f = gzip.open(fn, "r") |
1064 f = gzip.open(fn, "r") |
1065 else: |
1065 else: |
1066 fn = os.path.join(self.getProjectManagementDir(), '%s.e4t' % fn) |
1066 fn = os.path.join(self.getProjectManagementDir(), '%s.e4t' % fn) |
1067 if not os.path.exists(fn): |
1067 if not os.path.exists(fn): |
1068 return |
1068 return |
1069 f = open(fn, "r") |
1069 f = open(fn, "r", encoding = "utf-8") |
1070 line = f.readline() |
1070 line = f.readline() |
1071 dtdLine = f.readline() |
1071 dtdLine = f.readline() |
1072 f.close() |
1072 f.close() |
1073 except EnvironmentError: |
1073 except EnvironmentError: |
1074 QMessageBox.critical(None, |
1074 QMessageBox.critical(None, |
1118 self.trUtf8("""Compressed tasks files not supported.""" |
1118 self.trUtf8("""Compressed tasks files not supported.""" |
1119 """ The compression library is missing.""")) |
1119 """ The compression library is missing.""")) |
1120 return |
1120 return |
1121 f = gzip.open(fn, "r") |
1121 f = gzip.open(fn, "r") |
1122 else: |
1122 else: |
1123 f = open(fn, "r") |
1123 f = open(fn, "r", encoding = "utf-8") |
1124 try: |
1124 try: |
1125 try: |
1125 try: |
1126 parser.parse(f) |
1126 parser.parse(f) |
1127 except UnicodeEncodeError: |
1127 except UnicodeEncodeError: |
1128 f.seek(0) |
1128 f.seek(0) |
1162 """ The compression library is missing.""")) |
1162 """ The compression library is missing.""")) |
1163 return |
1163 return |
1164 f = gzip.open(fn, "w") |
1164 f = gzip.open(fn, "w") |
1165 else: |
1165 else: |
1166 fn = os.path.join(self.getProjectManagementDir(), '%s.e4t' % fn) |
1166 fn = os.path.join(self.getProjectManagementDir(), '%s.e4t' % fn) |
1167 f = open(fn, "w") |
1167 f = open(fn, "w", encoding = "utf-8") |
1168 |
1168 |
1169 TasksWriter(f, True, os.path.splitext(os.path.basename(fn))[0]).writeXML() |
1169 TasksWriter(f, True, os.path.splitext(os.path.basename(fn))[0]).writeXML() |
1170 |
1170 |
1171 f.close() |
1171 f.close() |
1172 |
1172 |
1206 """ missing.""")) |
1206 """ missing.""")) |
1207 return |
1207 return |
1208 f = gzip.open(fn, "r") |
1208 f = gzip.open(fn, "r") |
1209 else: |
1209 else: |
1210 fn = os.path.join(self.getProjectManagementDir(), '%s.e4d' % fn) |
1210 fn = os.path.join(self.getProjectManagementDir(), '%s.e4d' % fn) |
1211 f = open(fn, "r") |
1211 f = open(fn, "r", encoding = "utf-8") |
1212 line = f.readline() |
1212 line = f.readline() |
1213 dtdLine = f.readline() |
1213 dtdLine = f.readline() |
1214 f.close() |
1214 f.close() |
1215 except EnvironmentError: |
1215 except EnvironmentError: |
1216 if not quiet: |
1216 if not quiet: |
1265 self.trUtf8("<p>The project debugger properties file" |
1265 self.trUtf8("<p>The project debugger properties file" |
1266 " <b>{0}</b> could not be read.</p>").format(fn)) |
1266 " <b>{0}</b> could not be read.</p>").format(fn)) |
1267 return |
1267 return |
1268 f = gzip.open(fn, "r") |
1268 f = gzip.open(fn, "r") |
1269 else: |
1269 else: |
1270 f = open(fn, "r") |
1270 f = open(fn, "r", encoding = "utf-8") |
1271 try: |
1271 try: |
1272 try: |
1272 try: |
1273 parser.parse(f) |
1273 parser.parse(f) |
1274 except UnicodeEncodeError: |
1274 except UnicodeEncodeError: |
1275 f.seek(0) |
1275 f.seek(0) |
1325 """ missing.""")) |
1325 """ missing.""")) |
1326 return |
1326 return |
1327 f = gzip.open(fn, "w") |
1327 f = gzip.open(fn, "w") |
1328 else: |
1328 else: |
1329 fn = os.path.join(self.getProjectManagementDir(), '%s.e4d' % fn) |
1329 fn = os.path.join(self.getProjectManagementDir(), '%s.e4d' % fn) |
1330 f = open(fn, "w") |
1330 f = open(fn, "w", encoding = "utf-8") |
1331 |
1331 |
1332 DebuggerPropertiesWriter(f, os.path.splitext(os.path.basename(fn))[0])\ |
1332 DebuggerPropertiesWriter(f, os.path.splitext(os.path.basename(fn))[0])\ |
1333 .writeXML() |
1333 .writeXML() |
1334 |
1334 |
1335 f.close() |
1335 f.close() |
2239 return |
2239 return |
2240 # create an empty __init__.py file to make it a Python package |
2240 # create an empty __init__.py file to make it a Python package |
2241 # (only for Python and Python3) |
2241 # (only for Python and Python3) |
2242 if self.pdata["PROGLANGUAGE"][0] in ["Python", "Python3"]: |
2242 if self.pdata["PROGLANGUAGE"][0] in ["Python", "Python3"]: |
2243 fn = os.path.join(self.ppath, "__init__.py") |
2243 fn = os.path.join(self.ppath, "__init__.py") |
2244 f = open(fn, "w") |
2244 f = open(fn, "w", encoding = "utf-8") |
2245 f.close() |
2245 f.close() |
2246 self.appendFile(fn, True) |
2246 self.appendFile(fn, True) |
2247 tpd = os.path.join(self.ppath, self.translationsRoot) |
2247 tpd = os.path.join(self.ppath, self.translationsRoot) |
2248 if not self.translationsRoot.endswith(os.sep): |
2248 if not self.translationsRoot.endswith(os.sep): |
2249 tpd = os.path.dirname(tpd) |
2249 tpd = os.path.dirname(tpd) |
2286 # create an empty __init__.py file to make it a Python package |
2286 # create an empty __init__.py file to make it a Python package |
2287 # if none exists (only for Python and Python3) |
2287 # if none exists (only for Python and Python3) |
2288 if self.pdata["PROGLANGUAGE"][0] in ["Python", "Python3"]: |
2288 if self.pdata["PROGLANGUAGE"][0] in ["Python", "Python3"]: |
2289 fn = os.path.join(self.ppath, "__init__.py") |
2289 fn = os.path.join(self.ppath, "__init__.py") |
2290 if not os.path.exists(fn): |
2290 if not os.path.exists(fn): |
2291 f = open(fn, "w") |
2291 f = open(fn, "w", encoding = "utf-8") |
2292 f.close() |
2292 f.close() |
2293 self.appendFile(fn, True) |
2293 self.appendFile(fn, True) |
2294 self.saveProject() |
2294 self.saveProject() |
2295 |
2295 |
2296 # check, if the existing project directory is already under |
2296 # check, if the existing project directory is already under |
4350 if "PKGLIST" in lst: |
4350 if "PKGLIST" in lst: |
4351 lst.remove("PKGLIST") |
4351 lst.remove("PKGLIST") |
4352 |
4352 |
4353 # write the file |
4353 # write the file |
4354 try: |
4354 try: |
4355 pkglistFile = open(pkglist, "w") |
4355 pkglistFile = open(pkglist, "w", encoding = "utf-8") |
4356 pkglistFile.write("\n".join(lst)) |
4356 pkglistFile.write("\n".join(lst)) |
4357 pkglistFile.close() |
4357 pkglistFile.close() |
4358 except IOError as why: |
4358 except IOError as why: |
4359 QMessageBox.critical(None, |
4359 QMessageBox.critical(None, |
4360 self.trUtf8("Create Package List"), |
4360 self.trUtf8("Create Package List"), |
4392 QMessageBox.StandardButtons(\ |
4392 QMessageBox.StandardButtons(\ |
4393 QMessageBox.Ok)) |
4393 QMessageBox.Ok)) |
4394 return |
4394 return |
4395 |
4395 |
4396 try: |
4396 try: |
4397 pkglistFile = open(pkglist, "r") |
4397 pkglistFile = open(pkglist, "r", encoding = "utf-8") |
4398 names = pkglistFile.read() |
4398 names = pkglistFile.read() |
4399 pkglistFile.close() |
4399 pkglistFile.close() |
4400 names = sorted(names.splitlines()) |
4400 names = sorted(names.splitlines()) |
4401 except IOError as why: |
4401 except IOError as why: |
4402 QMessageBox.critical(None, |
4402 QMessageBox.critical(None, |
4491 |
4491 |
4492 @param filename name of the plugin file to modify (string) |
4492 @param filename name of the plugin file to modify (string) |
4493 @return modified source (string), snapshot version string (string) |
4493 @return modified source (string), snapshot version string (string) |
4494 """ |
4494 """ |
4495 try: |
4495 try: |
4496 f = open(filename, "r") |
4496 f = open(filename, "r", encoding = "utf-8") |
4497 sourcelines = f.readlines() |
4497 sourcelines = f.readlines() |
4498 f.close() |
4498 f.close() |
4499 except IOError as why: |
4499 except IOError as why: |
4500 QMessageBox.critical(None, |
4500 QMessageBox.critical(None, |
4501 self.trUtf8("Create Plugin Archive"), |
4501 self.trUtf8("Create Plugin Archive"), |
4530 @param filename name of the plugin file to modify (string) |
4530 @param filename name of the plugin file to modify (string) |
4531 @return version string (string) |
4531 @return version string (string) |
4532 """ |
4532 """ |
4533 version = "0.0.0" |
4533 version = "0.0.0" |
4534 try: |
4534 try: |
4535 f = open(filename, "r") |
4535 f = open(filename, "r", encoding = "utf-8") |
4536 sourcelines = f.readlines() |
4536 sourcelines = f.readlines() |
4537 f.close() |
4537 f.close() |
4538 except IOError as why: |
4538 except IOError as why: |
4539 QMessageBox.critical(None, |
4539 QMessageBox.critical(None, |
4540 self.trUtf8("Create Plugin Archive"), |
4540 self.trUtf8("Create Plugin Archive"), |