@@ -77,6 +77,10 @@ def __repr__(self):
7777 return (f"{ self .__class__ .__name__ } (msgid={ self .msgid } , "
7878 f"msgtype={ self .msgtype } { optional } )" )
7979
80+ def __rich_repr__ (self ):
81+ yield "msgid" , self .msgid
82+ yield "controls" , self .controls , None
83+
8084
8185class Result (Response ):
8286 result : int
@@ -109,6 +113,13 @@ def __repr__(self):
109113 return (f"{ self .__class__ .__name__ } "
110114 f"(msgid={ self .msgid } , result={ self .result } { optional } )" )
111115
116+ def __rich_repr__ (self ):
117+ super ().__rich_repr__ ()
118+ yield "result" , self .result
119+ yield "matcheddn" , self .matcheddn , ""
120+ yield "message" , self .message , ""
121+ yield "referrals" , self .referrals , None
122+
112123
113124class SearchEntry (Response ):
114125 msgtype = ldap .RES_SEARCH_ENTRY
@@ -125,6 +136,11 @@ def __new__(cls, msgid, msgtype, controls=None, *,
125136
126137 return instance
127138
139+ def __rich_repr__ (self ):
140+ super ().__rich_repr__ ()
141+ yield "dn" , self .dn
142+ yield "attrs" , self .attrs
143+
128144
129145class SearchReference (Response ):
130146 msgtype = ldap .RES_SEARCH_REFERENCE
@@ -139,6 +155,10 @@ def __new__(cls, msgid, msgtype, controls=None, *,
139155
140156 return instance
141157
158+ def __rich_repr__ (self ):
159+ super ().__rich_repr__ ()
160+ yield "referrals" , self .referrals
161+
142162
143163class SearchResult (Result ):
144164 msgtype = ldap .RES_SEARCH_RESULT
@@ -184,12 +204,23 @@ def __repr__(self):
184204 return (f"{ self .__class__ .__name__ } "
185205 f"(msgid={ self .msgid } { optional } )" )
186206
207+ def __rich_repr__ (self ):
208+ # No super(), we put our values between msgid and controls
209+ yield "msgid" , self .msgid
210+ yield "name" , self .name , None
211+ yield "value" , self .value , None
212+ yield "controls" , self .controls , None
213+
187214
188215class BindResult (Result ):
189216 msgtype = ldap .RES_BIND
190217
191218 servercreds : Optional [bytes ]
192219
220+ def __rich_repr__ (self ):
221+ super ().__rich_repr__ ()
222+ yield "servercreds" , self .servercreds , None
223+
193224
194225class ModifyResult (Result ):
195226 msgtype = ldap .RES_MODIFY
@@ -267,6 +298,13 @@ def __repr__(self):
267298 return (f"{ self .__class__ .__name__ } "
268299 f"(msgid={ self .msgid } , result={ self .result } { optional } )" )
269300
301+ def __rich_repr__ (self ):
302+ # No super(), we put our values between msgid and controls
303+ yield "msgid" , self .msgid
304+ yield "name" , self .name , None
305+ yield "value" , self .value , None
306+ yield "controls" , self .controls , None
307+
270308
271309class UnsolicitedNotification (ExtendedResult ):
272310 msgid = ldap .RES_UNSOLICITED
0 commit comments