By removing the default return of None from getitem, the is_valid test
failed when the object was uninitialized.
elif k == 'compression_extension':
if self[k] not in (None, '', '.gz', '.bz2'):
return False
elif k == 'compression_extension':
if self[k] not in (None, '', '.gz', '.bz2'):
return False
+ elif getattr(self, k, None) is None:
return False
return True
is_valid = property(_is_valid)
return False
return True
is_valid = property(_is_valid)