aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJesse Farebrother <jfarebro@google.com>2023-11-03 12:53:26 -0700
committerCopybara-Service <copybara-worker@google.com>2023-11-03 12:53:54 -0700
commit6929bf0da3b53358176d6f69d9a4c0af099db6a7 (patch)
treee8451215372583c1b8fa390483341d2f543885d6
parent64d3b6adaca0bbd1cb257bf237de77a2ac32cad1 (diff)
downloadabsl-py-6929bf0da3b53358176d6f69d9a4c0af099db6a7.tar.gz
Add `serialize` method to `FlagHolder`.
PiperOrigin-RevId: 579276768
-rw-r--r--absl/flags/_flagvalues.py4
-rw-r--r--absl/flags/tests/_flagvalues_test.py4
2 files changed, 8 insertions, 0 deletions
diff --git a/absl/flags/_flagvalues.py b/absl/flags/_flagvalues.py
index 9175a91..e25f1d3 100644
--- a/absl/flags/_flagvalues.py
+++ b/absl/flags/_flagvalues.py
@@ -1439,6 +1439,10 @@ class FlagHolder(Generic[_T]):
"""Returns True if the flag was parsed from command-line flags."""
return bool(self._flagvalues[self._name].present)
+ def serialize(self) -> Text:
+ """Returns a serialized representation of the flag."""
+ return self._flagvalues[self._name].serialize()
+
def resolve_flag_ref(
flag_ref: Union[str, FlagHolder], flag_values: FlagValues
diff --git a/absl/flags/tests/_flagvalues_test.py b/absl/flags/tests/_flagvalues_test.py
index e37004d..09071d7 100644
--- a/absl/flags/tests/_flagvalues_test.py
+++ b/absl/flags/tests/_flagvalues_test.py
@@ -899,6 +899,10 @@ class FlagHolderTest(absltest.TestCase):
self.parse_flags('--name=new_value')
self.assertTrue(self.name_flag.present)
+ def test_serializes_flag(self):
+ self.parse_flags('--name=new_value')
+ self.assertEqual('--name=new_value', self.name_flag.serialize())
+
def test_allow_override(self):
first = _defines.DEFINE_integer(
'int_flag', 1, 'help', flag_values=self.fv, allow_override=1)