--- a/eric7/CycloneDXInterface/CycloneDXMetaDataDialog.py Fri Jun 24 10:19:17 2022 +0200 +++ b/eric7/CycloneDXInterface/CycloneDXMetaDataDialog.py Sun Jun 26 15:01:48 2022 +0200 @@ -7,14 +7,11 @@ Module implementing a dialog to edit the metadata of the CycloneDX SBOM. """ -import os - from PyQt6.QtCore import pyqtSlot, QCoreApplication from PyQt6.QtWidgets import QDialog, QDialogButtonBox -from EricWidgets import EricMessageBox - from cyclonedx.model.component import ComponentType +import trove_classifiers from .Ui_CycloneDXMetaDataDialog import Ui_CycloneDXMetaDataDialog @@ -92,30 +89,12 @@ """ Private method to populate the license selector with the list of trove license types. - - Note: The trove licanese list file was created from querying - "https://pypi.org/pypi?%3Aaction=list_classifiers". """ - filename = os.path.join( - os.path.dirname(__file__), "..", "data", - "trove_license_classifiers.txt") - try: - with open(filename, "r") as f: - lines = f.readlines() - except OSError as err: - EricMessageBox.warning( - self, - self.tr("Reading Trove License Classifiers"), - self.tr("""<p>The Trove License Classifiers file <b>{0}</b>""" - """ could not be read.</p><p>Reason: {1}</p>""") - .format(filename, str(err))) - return - self.licenseComboBox.addItem("") self.licenseComboBox.addItems(sorted( - line.split("::")[-1].strip() - for line in lines - if line.startswith("License ") # play it safe + classifier.split("::")[-1].strip() + for classifier in trove_classifiers.classifiers + if classifier.startswith("License ::") )) @pyqtSlot()