11# module for patternfly utility classes and methods
2- from aenum import Constant
2+ from enum import Enum
33
44
5- class IconConstants (Constant ):
5+ class IconConstants (Enum ):
66 """class to hold just the icon constants
77
88 References:
@@ -27,8 +27,8 @@ class IconConstants(Constant):
2727 USER = "pficon-user"
2828
2929 @classmethod
30- def icon_strings (cls ):
31- return {a : s for a , s in vars (IconConstants ).items () if isinstance (s , Constant )}
30+ def icon_enums (cls ):
31+ return {a : s for a , s in vars (IconConstants ).items () if isinstance (s , Enum )}
3232
3333
3434class PFIcon :
@@ -51,7 +51,6 @@ def icon_from_element(cls, element, browser):
5151 Raises:
5252 widgetastic.exceptions.NoSuchElementException when no icon span found
5353 """
54-
5554 els = browser .elements (
5655 './/*[contains(@class, "pficon") or contains(@class, "fa")]' , parent = element
5756 )
@@ -65,7 +64,7 @@ def icon_from_element(cls, element, browser):
6564 icon_name = icon_class .pop () if icon_class else None
6665 icons = [
6766 getattr (cls .icons , attr , None )
68- for attr , icon_string in cls .icons .icon_strings ().items ()
69- if icon_string == icon_name
67+ for attr , icon_string in cls .icons .icon_enums ().items ()
68+ if icon_string . value == icon_name
7069 ]
7170 return icons .pop () if icons else None
0 commit comments