1#!/usr/bin/env python 2 3# 4# Generated Fri May 27 23:08:21 2011 by parse_xsd.py version 0.4. 5# 6 7import saml2 8from saml2 import SamlBase 9 10from saml2 import saml 11from saml2 import samlp 12#import soapenv as S 13 14NAMESPACE = 'urn:oasis:names:tc:SAML:2.0:profiles:SSO:ecp' 15 16class RequestType_(SamlBase): 17 """The urn:oasis:names:tc:SAML:2.0:profiles:SSO:ecp:RequestType element """ 18 19 c_tag = 'RequestType' 20 c_namespace = NAMESPACE 21 c_children = SamlBase.c_children.copy() 22 c_attributes = SamlBase.c_attributes.copy() 23 c_child_order = SamlBase.c_child_order[:] 24 c_cardinality = SamlBase.c_cardinality.copy() 25 c_children['{urn:oasis:names:tc:SAML:2.0:assertion}Issuer'] = ('issuer', saml.Issuer) 26 c_children['{urn:oasis:names:tc:SAML:2.0:protocol}IDPList'] = ('idp_list', samlp.IDPList) 27 c_cardinality['idp_list'] = {"min":0, "max":1} 28 c_attributes['{http://schemas.xmlsoap.org/soap/envelope/}mustUnderstand'] = ('must_understand', 'None', True) 29 c_attributes['{http://schemas.xmlsoap.org/soap/envelope/}actor'] = ('actor', 'None', True) 30 c_attributes['ProviderName'] = ('provider_name', 'string', False) 31 c_attributes['IsPassive'] = ('is_passive', 'boolean', False) 32 c_child_order.extend(['issuer', 'idp_list']) 33 34 def __init__(self, 35 issuer=None, 36 idp_list=None, 37 must_understand=None, 38 actor=None, 39 provider_name=None, 40 is_passive=None, 41 text=None, 42 extension_elements=None, 43 extension_attributes=None, 44 ): 45 SamlBase.__init__(self, 46 text=text, 47 extension_elements=extension_elements, 48 extension_attributes=extension_attributes, 49 ) 50 self.issuer=issuer 51 self.idp_list=idp_list 52 self.must_understand=must_understand 53 self.actor=actor 54 self.provider_name=provider_name 55 self.is_passive=is_passive 56 57def request_type__from_string(xml_string): 58 return saml2.create_class_from_xml_string(RequestType_, xml_string) 59 60 61class ResponseType_(SamlBase): 62 """The urn:oasis:names:tc:SAML:2.0:profiles:SSO:ecp:ResponseType element """ 63 64 c_tag = 'ResponseType' 65 c_namespace = NAMESPACE 66 c_children = SamlBase.c_children.copy() 67 c_attributes = SamlBase.c_attributes.copy() 68 c_child_order = SamlBase.c_child_order[:] 69 c_cardinality = SamlBase.c_cardinality.copy() 70 c_attributes['{http://schemas.xmlsoap.org/soap/envelope/}mustUnderstand'] = ('must_understand', 'None', True) 71 c_attributes['{http://schemas.xmlsoap.org/soap/envelope/}actor'] = ('actor', 'None', True) 72 c_attributes['AssertionConsumerServiceURL'] = ('assertion_consumer_service_url', 'anyURI', True) 73 74 def __init__(self, 75 must_understand=None, 76 actor=None, 77 assertion_consumer_service_url=None, 78 text=None, 79 extension_elements=None, 80 extension_attributes=None, 81 ): 82 SamlBase.__init__(self, 83 text=text, 84 extension_elements=extension_elements, 85 extension_attributes=extension_attributes, 86 ) 87 self.must_understand=must_understand 88 self.actor=actor 89 self.assertion_consumer_service_url=assertion_consumer_service_url 90 91def response_type__from_string(xml_string): 92 return saml2.create_class_from_xml_string(ResponseType_, xml_string) 93 94 95class RelayStateType_(SamlBase): 96 """The urn:oasis:names:tc:SAML:2.0:profiles:SSO:ecp:RelayStateType element """ 97 98 c_tag = 'RelayStateType' 99 c_namespace = NAMESPACE 100 c_value_type = {'base': 'string'} 101 c_children = SamlBase.c_children.copy() 102 c_attributes = SamlBase.c_attributes.copy() 103 c_child_order = SamlBase.c_child_order[:] 104 c_cardinality = SamlBase.c_cardinality.copy() 105 c_attributes['{http://schemas.xmlsoap.org/soap/envelope/}mustUnderstand'] = ('must_understand', 'string', True) 106 c_attributes['{http://schemas.xmlsoap.org/soap/envelope/}actor'] = ('actor', 'string', True) 107 108 def __init__(self, 109 must_understand=None, 110 actor=None, 111 text=None, 112 extension_elements=None, 113 extension_attributes=None, 114 ): 115 SamlBase.__init__(self, 116 text=text, 117 extension_elements=extension_elements, 118 extension_attributes=extension_attributes, 119 ) 120 self.must_understand=must_understand 121 self.actor=actor 122 123def relay_state_type__from_string(xml_string): 124 return saml2.create_class_from_xml_string(RelayStateType_, xml_string) 125 126 127class Request(RequestType_): 128 """The urn:oasis:names:tc:SAML:2.0:profiles:SSO:ecp:Request element """ 129 130 c_tag = 'Request' 131 c_namespace = NAMESPACE 132 c_children = RequestType_.c_children.copy() 133 c_attributes = RequestType_.c_attributes.copy() 134 c_child_order = RequestType_.c_child_order[:] 135 c_cardinality = RequestType_.c_cardinality.copy() 136 137def request_from_string(xml_string): 138 return saml2.create_class_from_xml_string(Request, xml_string) 139 140 141class Response(ResponseType_): 142 """The urn:oasis:names:tc:SAML:2.0:profiles:SSO:ecp:Response element """ 143 144 c_tag = 'Response' 145 c_namespace = NAMESPACE 146 c_children = ResponseType_.c_children.copy() 147 c_attributes = ResponseType_.c_attributes.copy() 148 c_child_order = ResponseType_.c_child_order[:] 149 c_cardinality = ResponseType_.c_cardinality.copy() 150 151def response_from_string(xml_string): 152 return saml2.create_class_from_xml_string(Response, xml_string) 153 154 155class RelayState(RelayStateType_): 156 """The urn:oasis:names:tc:SAML:2.0:profiles:SSO:ecp:RelayState element """ 157 158 c_tag = 'RelayState' 159 c_namespace = NAMESPACE 160 c_children = RelayStateType_.c_children.copy() 161 c_attributes = RelayStateType_.c_attributes.copy() 162 c_child_order = RelayStateType_.c_child_order[:] 163 c_cardinality = RelayStateType_.c_cardinality.copy() 164 165def relay_state_from_string(xml_string): 166 return saml2.create_class_from_xml_string(RelayState, xml_string) 167 168 169ELEMENT_FROM_STRING = { 170 Request.c_tag: request_from_string, 171 RequestType_.c_tag: request_type__from_string, 172 Response.c_tag: response_from_string, 173 ResponseType_.c_tag: response_type__from_string, 174 RelayState.c_tag: relay_state_from_string, 175 RelayStateType_.c_tag: relay_state_type__from_string, 176} 177 178ELEMENT_BY_TAG = { 179 'Request': Request, 180 'RequestType': RequestType_, 181 'Response': Response, 182 'ResponseType': ResponseType_, 183 'RelayState': RelayState, 184 'RelayStateType': RelayStateType_, 185} 186 187 188def factory(tag, **kwargs): 189 return ELEMENT_BY_TAG[tag](**kwargs) 190 191