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