def delete(self): """ Remove any keys for this address. """ gpg = GPG(gnupghome=GNUPG_HOME) for key in gpg.list_keys(): if self.address in addresses_for_key(gpg, key): gpg.delete_keys(key["fingerprint"], True) gpg.delete_keys(key["fingerprint"]) super(Address, self).delete()
def delete(self): """ remove any keys for this address """ from email_extras.utils import addresses_for_key gpg = GPG(gnupghome=GNUPG_HOME) for key in gpg.list_keys(): if self.address in addresses_for_key(gpg, key): gpg.delete_keys(key["fingerprint"], True) gpg.delete_keys(key["fingerprint"]) super(Address, self).delete()
def save(self, *args, **kwargs): super(Key, self).save(*args, **kwargs) gpg = GPG(gnupghome=GNUPG_HOME) result = gpg.import_keys(self.key) addresses = [] for key in result.results: addresses.extend(addresses_for_key(gpg, key)) self.addresses = ",".join(addresses) for address in addresses: address, _ = Address.objects.get_or_create(address=address) address.use_asc = self.use_asc address.save()
def save_model(self, request, obj, form, change): """ import the key and parse the addresses from it and save them and omit the super save_model call so as to never save the key instance """ gpg = GPG(gnupghome=GNUPG_HOME) result = gpg.import_keys(obj.key) if result.count == 0: raise forms.ValidationError("Invalid Key") else: addresses = [] for key in result.results: addresses.extend(addresses_for_key(gpg, key)) obj.addresses = ",".join(addresses) for address in addresses: Address.objects.get_or_create(address=address)
def save_model(self, request, obj, form, change): """ Import the key and parse the addresses from it and save them, and omit the super save_model call so as to never save the key instance. """ gpg = GPG(gnupghome=GNUPG_HOME) result = gpg.import_keys(obj.key) if result.count == 0: raise forms.ValidationError("Invalid Key") else: addresses = [] for key in result.results: addresses.extend(addresses_for_key(gpg, key)) obj.addresses = ",".join(addresses) for address in addresses: Address.objects.get_or_create(address=address)