diff options
author | Arthur de Jong <arthur@arthurdejong.org> | 2016-04-05 18:35:35 +0200 |
---|---|---|
committer | Arthur de Jong <arthur@arthurdejong.org> | 2016-04-05 18:35:40 +0200 |
commit | 5dbfefdd05133448c91f1ef014f71f3dc001dcd7 (patch) | |
tree | 89058c4efab8b1d20c283bfce0dce54539acfd35 | |
parent | 0d7caf150e646724fbca54ac60f4d027b2b34aad (diff) |
Remove parse call from constructors
This makes the creation if internal instances a litte more consistent.
-rw-r--r-- | pskc/__init__.py | 4 | ||||
-rw-r--r-- | pskc/encryption.py | 3 | ||||
-rw-r--r-- | pskc/key.py | 9 | ||||
-rw-r--r-- | pskc/policy.py | 3 |
4 files changed, 7 insertions, 12 deletions
diff --git a/pskc/__init__.py b/pskc/__init__.py index 843a919..17021c7 100644 --- a/pskc/__init__.py +++ b/pskc/__init__.py @@ -99,7 +99,9 @@ class PSKC(object): self.mac.parse(find(container, 'MACMethod')) # handle KeyPackage entries for key_package in findall(container, 'KeyPackage'): - self.keys.append(Key(self, key_package)) + key = Key(self) + key.parse(key_package) + self.keys.append(key) def make_xml(self): from pskc.xml import mk_elem diff --git a/pskc/encryption.py b/pskc/encryption.py index aeeb33c..f63bf7b 100644 --- a/pskc/encryption.py +++ b/pskc/encryption.py @@ -41,14 +41,13 @@ class KeyDerivation(object): pbkdf2_prf: name of pseudorandom function used """ - def __init__(self, key_derivation=None): + def __init__(self): self.algorithm = None # PBKDF2 properties self.pbkdf2_salt = None self.pbkdf2_iterations = None self.pbkdf2_key_length = None self.pbkdf2_prf = None - self.parse(key_derivation) def parse(self, key_derivation): """Read derivation parameters from a <KeyDerivationMethod> element.""" diff --git a/pskc/key.py b/pskc/key.py index d7d1cb0..56120ea 100644 --- a/pskc/key.py +++ b/pskc/key.py @@ -40,13 +40,12 @@ class DataType(object): value_mac: MAC of the encrypted value """ - def __init__(self, key, element=None): + def __init__(self, key): self.pskc = key.pskc self.value = None self.cipher_value = None self.algorithm = None self.value_mac = None - self.parse(element) def parse(self, element): """Read information from the provided element. @@ -261,7 +260,7 @@ class Key(object): policy: reference to policy information (see Policy class) """ - def __init__(self, pskc, key_package=None): + def __init__(self, pskc): self.pskc = pskc @@ -304,13 +303,9 @@ class Key(object): self.policy = Policy(self) - self.parse(key_package) - def parse(self, key_package): """Read key information from the provided <KeyPackage> tree.""" from pskc.xml import find, findtext, findtime, getint, getbool - if key_package is None: - return key = find(key_package, 'Key') if key is not None: diff --git a/pskc/policy.py b/pskc/policy.py index 87af698..20f5795 100644 --- a/pskc/policy.py +++ b/pskc/policy.py @@ -99,7 +99,7 @@ class Policy(object): # The PIN is used in the algorithm computation. PIN_USE_ALGORITHMIC = 'Algorithmic' - def __init__(self, key=None, policy=None): + def __init__(self, key=None): """Create a new policy, optionally linked to the key and parsed.""" self.key = key self.start_date = None @@ -113,7 +113,6 @@ class Policy(object): self.pin_max_length = None self.pin_encoding = None self.unknown_policy_elements = False - self.parse(policy) def parse(self, policy): """Read key policy information from the provided <Policy> tree.""" |