Project/Project.py

changeset 45
9a18f4dbb493
parent 40
c2e5472b112c
child 47
884e62c0b9cb
equal deleted inserted replaced
44:fe5cd20cb0eb 45:9a18f4dbb493
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"),

eric ide

mercurial