Skip to content

Commit 7fc4f11

Browse files
committed
Precompute egg_prefix and versionless_egg_name.
1 parent c9c0909 commit 7fc4f11

File tree

1 file changed

+7
-5
lines changed

1 file changed

+7
-5
lines changed

importlib_metadata/__init__.py

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -495,6 +495,8 @@ class Prepared:
495495
normalized = None
496496
suffixes = 'dist-info', 'egg-info'
497497
exact_matches = [''][:0]
498+
egg_prefix = ''
499+
versionless_egg_name = ''
498500

499501
def __init__(self, name):
500502
self.name = name
@@ -504,6 +506,9 @@ def __init__(self, name):
504506
self.exact_matches = [
505507
self.normalized + '.' + suffix for suffix in self.suffixes
506508
]
509+
legacy_normalized = self.legacy_normalize(self.name)
510+
self.egg_prefix = legacy_normalized + '-'
511+
self.versionless_egg_name = legacy_normalized + '.egg'
507512

508513
@staticmethod
509514
def normalize(name):
@@ -536,12 +541,9 @@ def matches(self, cand, base):
536541
)
537542

538543
def is_egg(self, base):
539-
normalized = self.legacy_normalize(self.name or '')
540-
prefix = normalized + '-' if normalized else ''
541-
versionless_egg_name = normalized + '.egg' if self.name else ''
542544
return (
543-
base == versionless_egg_name
544-
or base.startswith(prefix)
545+
base == self.versionless_egg_name
546+
or base.startswith(self.egg_prefix)
545547
and base.endswith('.egg')
546548
)
547549

0 commit comments

Comments
 (0)