def _get_metadata(self): if os.path.isfile(self.cfg.idp_metadata_file): s = os.stat(self.cfg.idp_metadata_file) if s.st_mtime > time.time() - METADATA_RENEW_INTERVAL: with open(self.cfg.idp_metadata_file) as m: return m.read() # Otherwise generate and save idp_cert = Certificate() idp_cert.import_cert(self.cfg.idp_certificate_file, self.cfg.idp_key_file) validity = int(self.cfg.idp_metadata_validity) meta = IdpMetadataGenerator(self.instance_base_url(), idp_cert, timedelta(validity)) body = meta.output() with open(self.cfg.idp_metadata_file, 'w+') as m: m.write(body) return body