Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions setup.cfg
Original file line number Diff line number Diff line change
Expand Up @@ -18,8 +18,7 @@ classifiers=
[options]
python_requires = >= 3.8
install_requires =
widgetastic.core
aenum==3.1.8
widgetastic.core>=1.0.0
setup_requires = setuptools_scm
package_dir =
=src
Expand Down
13 changes: 6 additions & 7 deletions src/widgetastic_patternfly/utils.py
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# module for patternfly utility classes and methods
from aenum import Constant
from enum import Enum


class IconConstants(Constant):
class IconConstants(Enum):
"""class to hold just the icon constants

References:
Expand All @@ -27,8 +27,8 @@ class IconConstants(Constant):
USER = "pficon-user"

@classmethod
def icon_strings(cls):
return {a: s for a, s in vars(IconConstants).items() if isinstance(s, Constant)}
def icon_enums(cls):
return {a: s for a, s in vars(IconConstants).items() if isinstance(s, Enum)}


class PFIcon:
Expand All @@ -51,7 +51,6 @@ def icon_from_element(cls, element, browser):
Raises:
widgetastic.exceptions.NoSuchElementException when no icon span found
"""

els = browser.elements(
'.//*[contains(@class, "pficon") or contains(@class, "fa")]', parent=element
)
Expand All @@ -65,7 +64,7 @@ def icon_from_element(cls, element, browser):
icon_name = icon_class.pop() if icon_class else None
icons = [
getattr(cls.icons, attr, None)
for attr, icon_string in cls.icons.icon_strings().items()
if icon_string == icon_name
for attr, icon_string in cls.icons.icon_enums().items()
if icon_string.value == icon_name
]
return icons.pop() if icons else None