diff options
author | Roland Hedberg <roland.hedberg@adm.umu.se> | 2016-04-11 16:17:20 +0200 |
---|---|---|
committer | Roland Hedberg <roland.hedberg@adm.umu.se> | 2016-04-11 16:17:20 +0200 |
commit | 61afe88cd9d3b5f6bfdd499af6746867ee78c8d1 (patch) | |
tree | c6d8b0978997e395a6aa626084d9469f157029ad /src/saml2/mdstore.py | |
parent | 2ba6dd7cbae5eeed3f36a7ca8cad4f1e8ad2d1c5 (diff) | |
download | pysaml2-61afe88cd9d3b5f6bfdd499af6746867ee78c8d1.tar.gz |
add_header method and returning a byte string.
Fixed some PY3 problems
service_per_endpoint method useful when setting up an entity instance.
Diffstat (limited to 'src/saml2/mdstore.py')
-rw-r--r-- | src/saml2/mdstore.py | 25 |
1 files changed, 14 insertions, 11 deletions
diff --git a/src/saml2/mdstore.py b/src/saml2/mdstore.py index 07f199e2..16297052 100644 --- a/src/saml2/mdstore.py +++ b/src/saml2/mdstore.py @@ -6,10 +6,13 @@ import sys import json import requests import six + from hashlib import sha1 from os.path import isfile from os.path import join +from future.backports.test.support import import_module + from saml2 import md from saml2 import saml from saml2 import samlp @@ -32,7 +35,6 @@ from saml2.validate import valid_instance from saml2.time_util import valid from saml2.validate import NotValid from saml2.sigver import security_context -from importlib import import_module __author__ = 'rolandh' @@ -225,7 +227,7 @@ class MetaData(object): ''' raise NotImplementedError - def load(self): + def load(self, *args, **kwargs): ''' Loads the metadata ''' @@ -634,7 +636,7 @@ class MetaDataFile(InMemoryMetaData): def get_metadata_content(self): return open(self.filename, 'rb').read() - def load(self): + def load(self, *args, **kwargs): _txt = self.get_metadata_content() return self.parse_and_check_signature(_txt) @@ -655,7 +657,7 @@ class MetaDataLoader(MetaDataFile): @staticmethod def get_metadata_loader(func): - if callable(func): + if hasattr(func, '__call__'): return func i = func.rfind('.') @@ -673,7 +675,7 @@ class MetaDataLoader(MetaDataFile): 'Module "%s" does not define a "%s" metadata loader' % ( module, attr)) - if not callable(metadata_loader): + if not hasattr(metadata_loader, '__call__'): raise RuntimeError( 'Metadata loader %s.%s must be callable' % (module, attr)) @@ -710,7 +712,7 @@ class MetaDataExtern(InMemoryMetaData): self.security = security self.http = http - def load(self): + def load(self, *args, **kwargs): """ Imports metadata by the use of HTTP GET. If the fingerprint is known the file will be checked for compliance before it is imported. @@ -734,7 +736,7 @@ class MetaDataMD(InMemoryMetaData): super(MetaDataMD, self).__init__(attrc, **kwargs) self.filename = filename - def load(self): + def load(self, *args, **kwargs): for key, item in json.loads(open(self.filename).read()): self.entity[key] = item @@ -760,7 +762,7 @@ class MetaDataMDX(InMemoryMetaData): concatenated with the request URL sent to the MDX server. Defaults to sha1 transformation. """ - super(MetaDataMDX, self).__init__(None, None) + super(MetaDataMDX, self).__init__(None, '') self.url = url if entity_transform: @@ -769,7 +771,7 @@ class MetaDataMDX(InMemoryMetaData): self.entity_transform = MetaDataMDX.sha1_entity_transform - def load(self): + def load(self, *args, **kwargs): # Do nothing pass @@ -807,7 +809,7 @@ class MetadataStore(MetaData): :params ca_certs: :params disable_ssl_certificate_validation: """ - self.attrc = attrc + MetaData.__init__(self, attrc, check_validity=check_validity) if disable_ssl_certificate_validation: self.http = HTTPBase(verify=False, ca_bundle=ca_certs) @@ -821,12 +823,13 @@ class MetadataStore(MetaData): self.filter = filter self.to_old = {} - def load(self, typ, *args, **kwargs): + def load(self, *args, **kwargs): if self.filter: _args = {"filter": self.filter} else: _args = {} + typ = args[0] if typ == "local": key = args[0] # if library read every file in the library |