def downgradeFields(cls, serialized, wanted_version): if wanted_version < 4 and serialized['DATASTRUCTURE_VERSION'] >= 4: #4 -> 3: CertConf.downgradeFieldsA(serialized) serialized['DATASTRUCTURE_VERSION'] = 3 if wanted_version < 3 and serialized['DATASTRUCTURE_VERSION'] >= 3: #3 -> 2: CertConf.downgradeFieldsA(serialized) serialized['DATASTRUCTURE_VERSION'] = 2 if wanted_version < 2 and serialized['DATASTRUCTURE_VERSION'] >= 2: #2 -> 1: remove manual_pushed_routes del serialized['manual_pushed_routes'] serialized['DATASTRUCTURE_VERSION'] = 1 if wanted_version != serialized['DATASTRUCTURE_VERSION']: raise NotImplementedError() return serialized