1616
1717from __future__ import annotations
1818
19- import typing
19+ from typing import TYPE_CHECKING
2020
21- from google .protobuf import descriptor_pb2 as google_descriptor_pb2
22- from google .protobuf import descriptor_pool as google_descriptor_pool
23- from google .protobuf import message as google_message
24- from google .protobuf import message_factory as google_message_factory
25- from protobuf import DescFile , DescMessage
21+ from google .protobuf import (
22+ descriptor_pb2 as google_descriptor_pb2 ,
23+ descriptor_pool as google_descriptor_pool ,
24+ message as google_message ,
25+ message_factory as google_message_factory ,
26+ )
2627
27- if typing . TYPE_CHECKING :
28+ if TYPE_CHECKING :
2829 import protobuf
30+ from protobuf import DescFile , DescMessage
2931
3032
3133class GoogleBridge :
32- """Lazily mirrors protobuf-py descriptors into google's pool and bridges
33- protobuf-py message values to google dynamic messages."""
34+ """Bridges from protobuf-py messages to google.protobuf for use with cel-expr-python."""
3435
3536 def __init__ (self ) -> None :
36- self ._pool : google_descriptor_pool .DescriptorPool = google_descriptor_pool .Default ()
37+ self ._pool : google_descriptor_pool .DescriptorPool = (
38+ google_descriptor_pool .Default ()
39+ )
3740 self ._mirrored : set [str ] = set ()
3841 self ._classes : dict [str , type [google_message .Message ]] = {}
3942
4043 def _mirror_file (self , desc_file : DescFile ) -> None :
41- """Registers a protobuf-py DescFile (and its transitive deps) into the
42- google pool, dependencies first, skipping files already present."""
44+ """Registers a protobuf-py DescFile and deps into the google pool."""
4345 if desc_file .name in self ._mirrored :
4446 return
4547 self ._mirrored .add (desc_file .name )
@@ -48,7 +50,9 @@ def _mirror_file(self, desc_file: DescFile) -> None:
4850 try :
4951 self ._pool .FindFileByName (desc_file .name )
5052 except KeyError :
51- proto = google_descriptor_pb2 .FileDescriptorProto .FromString (desc_file .proto .to_binary ())
53+ proto = google_descriptor_pb2 .FileDescriptorProto .FromString (
54+ desc_file .proto .to_binary ()
55+ )
5256 self ._pool .Add (proto )
5357
5458 def google_class (self , desc : DescMessage ) -> type [google_message .Message ]:
0 commit comments