Skip to content

Commit aa1481e

Browse files
committed
Replace double-underscored names with single underscores
This will avoid Python's class-name-prefix mangling of attributes and methods while still retaining the signal that they're meant for private use of the library. This makes it easier to e.g. subclass classes should one need to, and to access data from outside (while being mindful of the fact that you're accessing notionally private data). Only one change to a test was required (and that test was indeed accessing a private field from outside...).
1 parent 174ecfa commit aa1481e

File tree

8 files changed

+365
-365
lines changed

8 files changed

+365
-365
lines changed

src/onelogin/saml2/auth.py

Lines changed: 140 additions & 140 deletions
Large diffs are not rendered by default.

src/onelogin/saml2/authn_request.py

Lines changed: 11 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -41,13 +41,13 @@ def __init__(self, settings, force_authn=False, is_passive=False, set_nameid_pol
4141
:param name_id_value_req: Optional argument. Indicates to the IdP the subject that should be authenticated
4242
:type name_id_value_req: string
4343
"""
44-
self.__settings = settings
44+
self._settings = settings
4545

46-
sp_data = self.__settings.get_sp_data()
47-
idp_data = self.__settings.get_idp_data()
48-
security = self.__settings.get_security_data()
46+
sp_data = self._settings.get_sp_data()
47+
idp_data = self._settings.get_idp_data()
48+
security = self._settings.get_security_data()
4949

50-
self.__id = self._generate_request_id()
50+
self._id = self._generate_request_id()
5151
issue_instant = OneLogin_Saml2_Utils.parse_time_to_SAML(OneLogin_Saml2_Utils.now())
5252

5353
destination = idp_data['singleSignOnService']['url']
@@ -112,7 +112,7 @@ def __init__(self, settings, force_authn=False, is_passive=False, set_nameid_pol
112112

113113
request = OneLogin_Saml2_Templates.AUTHN_REQUEST % \
114114
{
115-
'id': self.__id,
115+
'id': self._id,
116116
'provider_name': provider_name_str,
117117
'force_authn_str': force_authn_str,
118118
'is_passive_str': is_passive_str,
@@ -127,7 +127,7 @@ def __init__(self, settings, force_authn=False, is_passive=False, set_nameid_pol
127127
'acs_binding': sp_data['assertionConsumerService'].get('binding', 'urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST')
128128
}
129129

130-
self.__authn_request = request
130+
self._authn_request = request
131131

132132
def _generate_request_id(self):
133133
"""
@@ -144,9 +144,9 @@ def get_request(self, deflate=True):
144144
:rtype: str object
145145
"""
146146
if deflate:
147-
request = OneLogin_Saml2_Utils.deflate_and_base64_encode(self.__authn_request)
147+
request = OneLogin_Saml2_Utils.deflate_and_base64_encode(self._authn_request)
148148
else:
149-
request = OneLogin_Saml2_Utils.b64encode(self.__authn_request)
149+
request = OneLogin_Saml2_Utils.b64encode(self._authn_request)
150150
return request
151151

152152
def get_id(self):
@@ -155,12 +155,12 @@ def get_id(self):
155155
:return: AuthNRequest ID
156156
:rtype: string
157157
"""
158-
return self.__id
158+
return self._id
159159

160160
def get_xml(self):
161161
"""
162162
Returns the XML that will be sent as part of the request
163163
:return: XML request body
164164
:rtype: string
165165
"""
166-
return self.__authn_request
166+
return self._authn_request

src/onelogin/saml2/logout_request.py

Lines changed: 20 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -50,14 +50,14 @@ def __init__(self, settings, request=None, name_id=None, session_index=None, nq=
5050
:param spnq: SP Name Qualifier
5151
:type: string
5252
"""
53-
self.__settings = settings
54-
self.__error = None
53+
self._settings = settings
54+
self._error = None
5555
self.id = None
5656

5757
if request is None:
58-
sp_data = self.__settings.get_sp_data()
59-
idp_data = self.__settings.get_idp_data()
60-
security = self.__settings.get_security_data()
58+
sp_data = self._settings.get_sp_data()
59+
idp_data = self._settings.get_idp_data()
60+
security = self._settings.get_security_data()
6161

6262
self.id = self._generate_request_id()
6363

@@ -71,7 +71,7 @@ def __init__(self, settings, request=None, name_id=None, session_index=None, nq=
7171
if exists_multix509enc:
7272
cert = idp_data['x509certMulti']['encryption'][0]
7373
else:
74-
cert = self.__settings.get_idp_cert()
74+
cert = self._settings.get_idp_cert()
7575

7676
if name_id is not None:
7777
if not name_id_format and sp_data['NameIDFormat'] != OneLogin_Saml2_Constants.NAMEID_UNSPECIFIED:
@@ -109,7 +109,7 @@ def __init__(self, settings, request=None, name_id=None, session_index=None, nq=
109109
{
110110
'id': self.id,
111111
'issue_instant': issue_instant,
112-
'single_logout_url': self.__settings.get_idp_slo_url(),
112+
'single_logout_url': self._settings.get_idp_slo_url(),
113113
'entity_id': sp_data['entityId'],
114114
'name_id': name_id_obj,
115115
'session_index': session_index_str,
@@ -118,7 +118,7 @@ def __init__(self, settings, request=None, name_id=None, session_index=None, nq=
118118
logout_request = OneLogin_Saml2_Utils.decode_base64_and_inflate(request, ignore_zip=True)
119119
self.id = self.get_id(logout_request)
120120

121-
self.__logout_request = compat.to_string(logout_request)
121+
self._logout_request = compat.to_string(logout_request)
122122

123123
def get_request(self, deflate=True):
124124
"""
@@ -129,9 +129,9 @@ def get_request(self, deflate=True):
129129
:rtype: str object
130130
"""
131131
if deflate:
132-
request = OneLogin_Saml2_Utils.deflate_and_base64_encode(self.__logout_request)
132+
request = OneLogin_Saml2_Utils.deflate_and_base64_encode(self._logout_request)
133133
else:
134-
request = OneLogin_Saml2_Utils.b64encode(self.__logout_request)
134+
request = OneLogin_Saml2_Utils.b64encode(self._logout_request)
135135
return request
136136

137137
def get_xml(self):
@@ -141,7 +141,7 @@ def get_xml(self):
141141
:return: XML request body
142142
:rtype: string
143143
"""
144-
return self.__logout_request
144+
return self._logout_request
145145

146146
@classmethod
147147
def get_id(cls, request):
@@ -279,24 +279,24 @@ def is_valid(self, request_data, raise_exceptions=False):
279279
:return: If the Logout Request is or not valid
280280
:rtype: boolean
281281
"""
282-
self.__error = None
282+
self._error = None
283283
try:
284-
root = OneLogin_Saml2_XML.to_etree(self.__logout_request)
284+
root = OneLogin_Saml2_XML.to_etree(self._logout_request)
285285

286-
idp_data = self.__settings.get_idp_data()
286+
idp_data = self._settings.get_idp_data()
287287
idp_entity_id = idp_data['entityId']
288288

289289
get_data = ('get_data' in request_data and request_data['get_data']) or dict()
290290

291-
if self.__settings.is_strict():
292-
res = OneLogin_Saml2_XML.validate_xml(root, 'saml-schema-protocol-2.0.xsd', self.__settings.is_debug_active())
291+
if self._settings.is_strict():
292+
res = OneLogin_Saml2_XML.validate_xml(root, 'saml-schema-protocol-2.0.xsd', self._settings.is_debug_active())
293293
if isinstance(res, str):
294294
raise OneLogin_Saml2_ValidationError(
295295
'Invalid SAML Logout Request. Not match the saml-schema-protocol-2.0.xsd',
296296
OneLogin_Saml2_ValidationError.INVALID_XML_FORMAT
297297
)
298298

299-
security = self.__settings.get_security_data()
299+
security = self._settings.get_security_data()
300300

301301
current_url = OneLogin_Saml2_Utils.get_self_url_no_query(request_data)
302302

@@ -345,8 +345,8 @@ def is_valid(self, request_data, raise_exceptions=False):
345345
return True
346346
except Exception as err:
347347
# pylint: disable=R0801
348-
self.__error = str(err)
349-
debug = self.__settings.is_debug_active()
348+
self._error = str(err)
349+
debug = self._settings.is_debug_active()
350350
if debug:
351351
print(err)
352352
if raise_exceptions:
@@ -357,7 +357,7 @@ def get_error(self):
357357
"""
358358
After executing a validation process, if it fails this method returns the cause
359359
"""
360-
return self.__error
360+
return self._error
361361

362362
def _generate_request_id(self):
363363
"""

src/onelogin/saml2/logout_response.py

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -33,13 +33,13 @@ def __init__(self, settings, response=None):
3333
* (string) response. An UUEncoded SAML Logout
3434
response from the IdP.
3535
"""
36-
self.__settings = settings
37-
self.__error = None
36+
self._settings = settings
37+
self._error = None
3838
self.id = None
3939

4040
if response is not None:
41-
self.__logout_response = compat.to_string(OneLogin_Saml2_Utils.decode_base64_and_inflate(response, ignore_zip=True))
42-
self.document = OneLogin_Saml2_XML.to_etree(self.__logout_response)
41+
self._logout_response = compat.to_string(OneLogin_Saml2_Utils.decode_base64_and_inflate(response, ignore_zip=True))
42+
self.document = OneLogin_Saml2_XML.to_etree(self._logout_response)
4343
self.id = self.document.get('ID', None)
4444

4545
def get_issuer(self):
@@ -49,7 +49,7 @@ def get_issuer(self):
4949
:rtype: string
5050
"""
5151
issuer = None
52-
issuer_nodes = self.__query('/samlp:LogoutResponse/saml:Issuer')
52+
issuer_nodes = self._query('/samlp:LogoutResponse/saml:Issuer')
5353
if len(issuer_nodes) == 1:
5454
issuer = OneLogin_Saml2_XML.element_text(issuer_nodes[0])
5555
return issuer
@@ -60,7 +60,7 @@ def get_status(self):
6060
:return: The Status
6161
:rtype: string
6262
"""
63-
entries = self.__query('/samlp:LogoutResponse/samlp:Status/samlp:StatusCode')
63+
entries = self._query('/samlp:LogoutResponse/samlp:Status/samlp:StatusCode')
6464
if len(entries) == 0:
6565
return None
6666
status = entries[0].attrib['Value']
@@ -78,21 +78,21 @@ def is_valid(self, request_data, request_id=None, raise_exceptions=False):
7878
:return: Returns if the SAML LogoutResponse is or not valid
7979
:rtype: boolean
8080
"""
81-
self.__error = None
81+
self._error = None
8282
try:
83-
idp_data = self.__settings.get_idp_data()
83+
idp_data = self._settings.get_idp_data()
8484
idp_entity_id = idp_data['entityId']
8585
get_data = request_data['get_data']
8686

87-
if self.__settings.is_strict():
88-
res = OneLogin_Saml2_XML.validate_xml(self.document, 'saml-schema-protocol-2.0.xsd', self.__settings.is_debug_active())
87+
if self._settings.is_strict():
88+
res = OneLogin_Saml2_XML.validate_xml(self.document, 'saml-schema-protocol-2.0.xsd', self._settings.is_debug_active())
8989
if isinstance(res, str):
9090
raise OneLogin_Saml2_ValidationError(
9191
'Invalid SAML Logout Request. Not match the saml-schema-protocol-2.0.xsd',
9292
OneLogin_Saml2_ValidationError.INVALID_XML_FORMAT
9393
)
9494

95-
security = self.__settings.get_security_data()
95+
security = self._settings.get_security_data()
9696

9797
# Check if the InResponseTo of the Logout Response matches the ID of the Logout Request (requestId) if provided
9898
in_response_to = self.get_in_response_to()
@@ -134,15 +134,15 @@ def is_valid(self, request_data, request_id=None, raise_exceptions=False):
134134
return True
135135
# pylint: disable=R0801
136136
except Exception as err:
137-
self.__error = str(err)
138-
debug = self.__settings.is_debug_active()
137+
self._error = str(err)
138+
debug = self._settings.is_debug_active()
139139
if debug:
140140
print(err)
141141
if raise_exceptions:
142142
raise
143143
return False
144144

145-
def __query(self, query):
145+
def _query(self, query):
146146
"""
147147
Extracts a node from the Etree (Logout Response Message)
148148
:param query: Xpath Expression
@@ -158,7 +158,7 @@ def build(self, in_response_to):
158158
:param in_response_to: InResponseTo value for the Logout Response.
159159
:type in_response_to: string
160160
"""
161-
sp_data = self.__settings.get_sp_data()
161+
sp_data = self._settings.get_sp_data()
162162

163163
self.id = self._generate_request_id()
164164

@@ -168,13 +168,13 @@ def build(self, in_response_to):
168168
{
169169
'id': self.id,
170170
'issue_instant': issue_instant,
171-
'destination': self.__settings.get_idp_slo_response_url(),
171+
'destination': self._settings.get_idp_slo_response_url(),
172172
'in_response_to': in_response_to,
173173
'entity_id': sp_data['entityId'],
174174
'status': "urn:oasis:names:tc:SAML:2.0:status:Success"
175175
}
176176

177-
self.__logout_response = logout_response
177+
self._logout_response = logout_response
178178

179179
def get_in_response_to(self):
180180
"""
@@ -193,16 +193,16 @@ def get_response(self, deflate=True):
193193
:rtype: string
194194
"""
195195
if deflate:
196-
response = OneLogin_Saml2_Utils.deflate_and_base64_encode(self.__logout_response)
196+
response = OneLogin_Saml2_Utils.deflate_and_base64_encode(self._logout_response)
197197
else:
198-
response = OneLogin_Saml2_Utils.b64encode(self.__logout_response)
198+
response = OneLogin_Saml2_Utils.b64encode(self._logout_response)
199199
return response
200200

201201
def get_error(self):
202202
"""
203203
After executing a validation process, if it fails this method returns the cause
204204
"""
205-
return self.__error
205+
return self._error
206206

207207
def get_xml(self):
208208
"""
@@ -211,7 +211,7 @@ def get_xml(self):
211211
:return: XML response body
212212
:rtype: string
213213
"""
214-
return self.__logout_response
214+
return self._logout_response
215215

216216
def _generate_request_id(self):
217217
"""

src/onelogin/saml2/metadata.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -218,7 +218,7 @@ def sign_metadata(metadata, key, cert, sign_algorithm=OneLogin_Saml2_Constants.R
218218
return OneLogin_Saml2_Utils.add_sign(metadata, key, cert, False, sign_algorithm, digest_algorithm)
219219

220220
@staticmethod
221-
def __add_x509_key_descriptors(root, cert, signing):
221+
def _add_x509_key_descriptors(root, cert, signing):
222222
key_descriptor = OneLogin_Saml2_XML.make_child(root, '{%s}KeyDescriptor' % OneLogin_Saml2_Constants.NS_MD)
223223
root.remove(key_descriptor)
224224
root.insert(0, key_descriptor)
@@ -261,6 +261,6 @@ def add_x509_key_descriptors(cls, metadata, cert=None, add_encryption=True):
261261
raise Exception('Malformed metadata.')
262262

263263
if add_encryption:
264-
cls.__add_x509_key_descriptors(sp_sso_descriptor, cert, False)
265-
cls.__add_x509_key_descriptors(sp_sso_descriptor, cert, True)
264+
cls._add_x509_key_descriptors(sp_sso_descriptor, cert, False)
265+
cls._add_x509_key_descriptors(sp_sso_descriptor, cert, True)
266266
return OneLogin_Saml2_XML.to_string(root)

0 commit comments

Comments
 (0)