Projekt

Obecné

Profil

Stáhnout (958 Bajtů) Statistiky
| Větev: | Tag: | Revize:
1
class Subject:
2
    ATTR_MAP = {"C": "common_name", "ST": "state", "L": "locality", "CN": "common_name", "O": "organization",
3
                "OU": "organization_unit", "emailAddress": "email_address"}
4

    
5
    def __init__(self, common_name=None, country=None, locality=None, state=None, organization=None,
6
                 organization_unit=None, email_address=None):
7
        self.common_name = common_name
8
        self.country = country
9
        self.locality = locality
10
        self.state = state
11
        self.organization = organization
12
        self.organization_unit = organization_unit
13
        self.email_address = email_address
14

    
15
    @staticmethod
16
    def from_dict(d):
17
        if not isinstance(d, dict):
18
            return None
19

    
20
        s = Subject()
21
        for k, v in Subject.ATTR_MAP.items():
22
            if k in d:
23
                if not isinstance(d[k], str):
24
                    return None
25
                s.__setattr__(v, d[k])
26

    
27
        return s
(4-4/4)