11 import sys |
11 import sys |
12 |
12 |
13 from PyQt6.QtCore import QCoreApplication, QProcess |
13 from PyQt6.QtCore import QCoreApplication, QProcess |
14 from PyQt6.QtWidgets import QDialog |
14 from PyQt6.QtWidgets import QDialog |
15 |
15 |
|
16 from eric7 import Preferences |
16 from eric7.EricWidgets import EricMessageBox |
17 from eric7.EricWidgets import EricMessageBox |
17 |
18 |
18 |
19 |
19 def createCycloneDXFile(venvName, parent=None): |
20 def createCycloneDXFile(venvName, parent=None): |
20 """ |
21 """ |
76 "CycloneDX", |
77 "CycloneDX", |
77 "<p>The SBOM data was written to file <b>{0}</b>.</p>", |
78 "<p>The SBOM data was written to file <b>{0}</b>.</p>", |
78 ).format(sbomFile), |
79 ).format(sbomFile), |
79 ) |
80 ) |
80 else: |
81 else: |
|
82 error = str( |
|
83 process.readAllStandardError(), |
|
84 Preferences.getSystem("IOEncoding"), |
|
85 "replace", |
|
86 ) |
81 EricMessageBox.critical( |
87 EricMessageBox.critical( |
82 None, |
88 None, |
83 QCoreApplication.translate( |
89 QCoreApplication.translate( |
84 "CycloneDX", "CycloneDX - SBOM Creation" |
90 "CycloneDX", "CycloneDX - SBOM Creation" |
85 ), |
91 ), |
86 QCoreApplication.translate( |
92 QCoreApplication.translate( |
87 "CycloneDX", |
93 "CycloneDX", |
88 "<p>The SBOM file <b>{0}</b> could not be written.</p>" |
94 "<p>The SBOM file <b>{0}</b> could not be written.</p>" |
89 "<p>Reason: {1}</p>", |
95 "<p>Error:<br/>{1}</p>", |
90 ).format(sbomFile, process.errorString()), |
96 ).format(sbomFile, error), |
91 ) |
97 ) |
92 else: |
98 else: |
93 EricMessageBox.critical( |
99 EricMessageBox.critical( |
94 None, |
100 None, |
95 QCoreApplication.translate( |
101 QCoreApplication.translate( |