

def create(self, files):
    'Generate or import an SSH key.'
    if self.cleaned_data['generate_key']:
        try:
            SSHClient().generate_user_key()
        except IOError as e:
            self.errors['generate_key'] = forms.util.ErrorList([(_('Unable to write SSH key file: %s') % e)])
            raise
        except Exception as e:
            self.errors['generate_key'] = forms.util.ErrorList([(_('Error generating SSH key: %s') % e)])
            raise
    elif self.cleaned_data['keyfile']:
        try:
            SSHClient().import_user_key(files['keyfile'])
        except IOError as e:
            self.errors['keyfile'] = forms.util.ErrorList([(_('Unable to write SSH key file: %s') % e)])
            raise
        except Exception as e:
            self.errors['keyfile'] = forms.util.ErrorList([(_('Error uploading SSH key: %s') % e)])
            raise

dataset/ETHPy150Open reviewboard/reviewboard/reviewboard/admin/forms.py SSHSettingsForm.create/original