1#!/usr/bin/env python
2
3#
4# Generated Sat Mar  8 16:15:12 2014 by parse_xsd.py version 0.5.
5#
6
7import saml2
8from saml2 import SamlBase
9
10
11NAMESPACE = 'urn:oasis:names:tc:SAML:metadata:algsupport'
12
13
14class DigestMethodType_(SamlBase):
15    """The urn:oasis:names:tc:SAML:metadata:algsupport:DigestMethodType
16    element """
17
18    c_tag = 'DigestMethodType'
19    c_namespace = NAMESPACE
20    c_children = SamlBase.c_children.copy()
21    c_attributes = SamlBase.c_attributes.copy()
22    c_child_order = SamlBase.c_child_order[:]
23    c_cardinality = SamlBase.c_cardinality.copy()
24    c_attributes['Algorithm'] = ('algorithm', 'anyURI', True)
25
26    def __init__(self,
27                 algorithm=None,
28                 text=None,
29                 extension_elements=None,
30                 extension_attributes=None):
31        SamlBase.__init__(self,
32                          text=text,
33                          extension_elements=extension_elements,
34                          extension_attributes=extension_attributes)
35        self.algorithm = algorithm
36
37
38def digest_method_type__from_string(xml_string):
39    return saml2.create_class_from_xml_string(DigestMethodType_, xml_string)
40
41
42class SigningMethodType_(SamlBase):
43    """The urn:oasis:names:tc:SAML:metadata:algsupport:SigningMethodType
44    element """
45
46    c_tag = 'SigningMethodType'
47    c_namespace = NAMESPACE
48    c_children = SamlBase.c_children.copy()
49    c_attributes = SamlBase.c_attributes.copy()
50    c_child_order = SamlBase.c_child_order[:]
51    c_cardinality = SamlBase.c_cardinality.copy()
52    c_attributes['Algorithm'] = ('algorithm', 'anyURI', True)
53    c_attributes['MinKeySize'] = ('min_key_size', 'positiveInteger', False)
54    c_attributes['MaxKeySize'] = ('max_key_size', 'positiveInteger', False)
55
56    def __init__(self,
57                 algorithm=None,
58                 min_key_size=None,
59                 max_key_size=None,
60                 text=None,
61                 extension_elements=None,
62                 extension_attributes=None):
63        SamlBase.__init__(self,
64                          text=text,
65                          extension_elements=extension_elements,
66                          extension_attributes=extension_attributes)
67        self.algorithm = algorithm
68        self.min_key_size = min_key_size
69        self.max_key_size = max_key_size
70
71
72def signing_method_type__from_string(xml_string):
73    return saml2.create_class_from_xml_string(SigningMethodType_, xml_string)
74
75
76class DigestMethod(DigestMethodType_):
77    """The urn:oasis:names:tc:SAML:metadata:algsupport:DigestMethod element """
78
79    c_tag = 'DigestMethod'
80    c_namespace = NAMESPACE
81    c_children = DigestMethodType_.c_children.copy()
82    c_attributes = DigestMethodType_.c_attributes.copy()
83    c_child_order = DigestMethodType_.c_child_order[:]
84    c_cardinality = DigestMethodType_.c_cardinality.copy()
85
86
87def digest_method_from_string(xml_string):
88    return saml2.create_class_from_xml_string(DigestMethod, xml_string)
89
90
91class SigningMethod(SigningMethodType_):
92    """The urn:oasis:names:tc:SAML:metadata:algsupport:SigningMethod element """
93
94    c_tag = 'SigningMethod'
95    c_namespace = NAMESPACE
96    c_children = SigningMethodType_.c_children.copy()
97    c_attributes = SigningMethodType_.c_attributes.copy()
98    c_child_order = SigningMethodType_.c_child_order[:]
99    c_cardinality = SigningMethodType_.c_cardinality.copy()
100
101
102def signing_method_from_string(xml_string):
103    return saml2.create_class_from_xml_string(SigningMethod, xml_string)
104
105
106ELEMENT_FROM_STRING = {
107    DigestMethod.c_tag: digest_method_from_string,
108    DigestMethodType_.c_tag: digest_method_type__from_string,
109    SigningMethod.c_tag: signing_method_from_string,
110    SigningMethodType_.c_tag: signing_method_type__from_string,
111}
112
113ELEMENT_BY_TAG = {
114    'DigestMethod': DigestMethod,
115    'DigestMethodType': DigestMethodType_,
116    'SigningMethod': SigningMethod,
117    'SigningMethodType': SigningMethodType_,
118}
119
120
121def factory(tag, **kwargs):
122    return ELEMENT_BY_TAG[tag](**kwargs)
123
124