Skip to content

Commit dd74977

Browse files
author
Rebecka Gulliksson
committed
Adds support for getting extension elements from metadata.
1 parent 07d09fc commit dd74977

File tree

1 file changed

+18
-2
lines changed

1 file changed

+18
-2
lines changed

src/saml2/mdstore.py

+18-2
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,9 @@
11
from __future__ import print_function
2-
32
import hashlib
43
import logging
54
import os
65
import sys
76
import json
8-
97
import requests
108
import six
119
from hashlib import sha1
@@ -927,6 +925,24 @@ def service(self, entity_id, typ, service, binding=None):
927925
logger.error("Unknown system entity: %s", entity_id)
928926
raise UnknownSystemEntity(entity_id)
929927

928+
def extension(self, entity_id, typ, service):
929+
for key, _md in self.metadata.items():
930+
try:
931+
srvs = _md[entity_id][typ]
932+
except KeyError:
933+
return None
934+
935+
if not srvs:
936+
return srvs
937+
938+
res = []
939+
for srv in srvs:
940+
if "extensions" in srv:
941+
for elem in srv["extensions"]["extension_elements"]:
942+
if elem["__class__"] == service:
943+
res.append(elem)
944+
return res
945+
930946
def ext_service(self, entity_id, typ, service, binding=None):
931947
known_entity = False
932948
for key, _md in self.metadata.items():

0 commit comments

Comments
 (0)