From 5dbfefdd05133448c91f1ef014f71f3dc001dcd7 Mon Sep 17 00:00:00 2001 From: Arthur de Jong Date: Tue, 5 Apr 2016 18:35:35 +0200 Subject: Remove parse call from constructors This makes the creation if internal instances a litte more consistent. --- pskc/__init__.py | 4 +++- pskc/encryption.py | 3 +-- pskc/key.py | 9 ++------- 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 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 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 tree.""" -- cgit v1.2.3