4255 icon=E5MessageBox.Warning) |
4255 icon=E5MessageBox.Warning) |
4256 if not res: |
4256 if not res: |
4257 return # don't overwrite |
4257 return # don't overwrite |
4258 |
4258 |
4259 # build the list of entries |
4259 # build the list of entries |
4260 lst = [] |
4260 lst_ = [] |
4261 for key in \ |
4261 for key in \ |
4262 ["SOURCES", "FORMS", "RESOURCES", "TRANSLATIONS", "INTERFACES", "OTHERS"]: |
4262 ["SOURCES", "FORMS", "RESOURCES", "TRANSLATIONS", "INTERFACES", "OTHERS"]: |
4263 lst.extend(self.pdata[key]) |
4263 lst_.extend(self.pdata[key]) |
|
4264 lst = [] |
|
4265 for entry in lst_: |
|
4266 if os.path.isdir(self.getAbsolutePath(entry)): |
|
4267 lst.extend([self.getRelativePath(p) for p in |
|
4268 Utilities.direntries(self.getAbsolutePath(entry), True)]) |
|
4269 continue |
|
4270 else: |
|
4271 lst.append(entry) |
4264 lst.sort() |
4272 lst.sort() |
4265 if "PKGLIST" in lst: |
4273 if "PKGLIST" in lst: |
4266 lst.remove("PKGLIST") |
4274 lst.remove("PKGLIST") |
4267 |
4275 |
4268 # write the file |
4276 # write the file |
4270 if self.pdata["EOL"][0] == 0: |
4278 if self.pdata["EOL"][0] == 0: |
4271 newline = None |
4279 newline = None |
4272 else: |
4280 else: |
4273 newline = self.getEolString() |
4281 newline = self.getEolString() |
4274 pkglistFile = open(pkglist, "w", encoding="utf-8", newline=newline) |
4282 pkglistFile = open(pkglist, "w", encoding="utf-8", newline=newline) |
4275 pkglistFile.write("\n".join(lst)) |
4283 pkglistFile.write("\n".join([Utilities.fromNativeSeparators(f) for f in lst])) |
4276 pkglistFile.write("\n") # ensure the file ends with an empty line |
4284 pkglistFile.write("\n") # ensure the file ends with an empty line |
4277 pkglistFile.close() |
4285 pkglistFile.close() |
4278 except IOError as why: |
4286 except IOError as why: |
4279 E5MessageBox.critical(self.ui, |
4287 E5MessageBox.critical(self.ui, |
4280 self.trUtf8("Create Package List"), |
4288 self.trUtf8("Create Package List"), |