Skip to content

Commit cea13f3

Browse files
oprypincopybara-github
authored andcommitted
Internal change.
PiperOrigin-RevId: 690620149
1 parent 8bf2abd commit cea13f3

File tree

1 file changed

+13
-11
lines changed

1 file changed

+13
-11
lines changed

absl/flags/_flagvalues.py

Lines changed: 13 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -226,11 +226,15 @@ def _flag_is_registered(self, flag_obj: Flag) -> bool:
226226
flag_dict = self._flags()
227227
# Check whether flag_obj is registered under its long name.
228228
name = flag_obj.name
229-
if flag_dict.get(name, None) == flag_obj:
229+
if name in flag_dict and flag_dict[name] == flag_obj:
230230
return True
231231
# Check whether flag_obj is registered under its short name.
232232
short_name = flag_obj.short_name
233-
if (short_name is not None and flag_dict.get(short_name, None) == flag_obj):
233+
if (
234+
short_name is not None
235+
and short_name in flag_dict
236+
and flag_dict[short_name] == flag_obj
237+
):
234238
return True
235239
return False
236240

@@ -478,7 +482,7 @@ def __dir__(self) -> List[str]:
478482
Returns:
479483
[str], a list of names of all defined flags.
480484
"""
481-
return sorted(self.__dict__['__flags'])
485+
return sorted(self._flags())
482486

483487
def __getitem__(self, name: str) -> Flag:
484488
"""Returns the Flag object for the flag --name."""
@@ -490,14 +494,14 @@ def _hide_flag(self, name):
490494

491495
def __getattr__(self, name: str) -> Any:
492496
"""Retrieves the 'value' attribute of the flag --name."""
493-
fl = self._flags()
494-
if name not in fl:
497+
flag_entry = self._flags().get(name)
498+
if flag_entry is None:
495499
raise AttributeError(name)
496500
if name in self.__dict__['__hiddenflags']:
497501
raise AttributeError(name)
498502

499-
if self.__dict__['__flags_parsed'] or fl[name].present:
500-
return fl[name].value
503+
if self.__dict__['__flags_parsed'] or flag_entry.present:
504+
return flag_entry.value
501505
else:
502506
raise _exceptions.UnparsedFlagAccessError(
503507
'Trying to access flag --%s before flags were parsed.' % name)
@@ -1307,11 +1311,9 @@ def write_help_in_xml_format(self, outfile: Optional[TextIO] = None) -> None:
13071311
# Get list of key flags for the main module.
13081312
key_flags = self.get_key_flags_for_module(sys.argv[0])
13091313

1310-
# Sort flags by declaring module name and next by flag name.
13111314
flags_by_module = self.flags_by_module_dict()
1312-
all_module_names = list(flags_by_module.keys())
1313-
all_module_names.sort()
1314-
for module_name in all_module_names:
1315+
# Sort flags by declaring module name and next by flag name.
1316+
for module_name in sorted(flags_by_module.keys()):
13151317
flag_list = [(f.name, f) for f in flags_by_module[module_name]]
13161318
flag_list.sort()
13171319
for unused_flag_name, flag in flag_list:

0 commit comments

Comments
 (0)