Skip to content

Commit 2cb48ff

Browse files
authored
Improve UnknownPackageError message clarity (#5336)
* Improve UnknownPackageError message clarity * Add IncompatiblePackageError for architecture-specific tool packages
1 parent 2fe3ed5 commit 2cb48ff

File tree

2 files changed

+12
-5
lines changed

2 files changed

+12
-5
lines changed

platformio/package/exception.py

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,6 @@
1212
# See the License for the specific language governing permissions and
1313
# limitations under the License.
1414

15-
from platformio import util
1615
from platformio.exception import UserSideException
1716

1817

@@ -52,9 +51,13 @@ class MissingPackageManifestError(ManifestException):
5251

5352

5453
class UnknownPackageError(PackageException):
54+
MESSAGE = "Could not find the package with '{0}' requirements"
55+
56+
57+
class IncompatiblePackageError(UnknownPackageError):
5558
MESSAGE = (
56-
"Could not find the package with '{0}' requirements for your system '%s'"
57-
% util.get_systype()
59+
"Could not find a version of the package with '{0}' requirements "
60+
"compatible with the '{1}' system"
5861
)
5962

6063

platformio/package/manager/_registry.py

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,8 @@
1616

1717
import click
1818

19-
from platformio.package.exception import UnknownPackageError
20-
from platformio.package.meta import PackageSpec
19+
from platformio.package.exception import IncompatiblePackageError, UnknownPackageError
20+
from platformio.package.meta import PackageSpec, PackageType
2121
from platformio.package.version import cast_version_to_semver
2222
from platformio.registry.client import RegistryClient
2323
from platformio.registry.mirror import RegistryFileMirrorIterator
@@ -44,6 +44,10 @@ def install_from_registry(self, spec, search_qualifiers=None):
4444

4545
pkgfile = self.pick_compatible_pkg_file(version["files"]) if version else None
4646
if not pkgfile:
47+
if self.pkg_type == PackageType.TOOL:
48+
from platformio import util
49+
50+
raise IncompatiblePackageError(spec.humanize(), util.get_systype())
4751
raise UnknownPackageError(spec.humanize())
4852

4953
for url, checksum in RegistryFileMirrorIterator(pkgfile["download_url"]):

0 commit comments

Comments
 (0)