Пример #1
0
def _q_index(request):
    errors = []
    key_lines = ''
    user = request.user
    sshkeys = user.sshkeys
    if request.method == "POST":
        key_lines = request.get_form_var('ssh')
        newsshkeys = []
        errorkeys = []
        for index, line in enumerate(key_lines.splitlines()):
            valid = SSHKey.validate(user.name, line)
            if not valid:
                errorkeys.append((index, line))
                continue
            duplicated = SSHKey.is_duplicated(user.name, line)
            if duplicated:
                errorkeys.append((index, line))
                continue
            newsshkeys.append(line)

        if not errorkeys:
            for key in newsshkeys:
                SSHKey.add(user.name, key)
            return request.redirect('/settings/ssh')

        error_prefix = 'Please check your SSH Key, Line: '
        for no, key in errorkeys:
            error = error_prefix + '%s ' % no
            errors.append(error)
    return st('/settings/ssh.html', **locals())
Пример #2
0
 def test_duplicate(self):
     SSHKey.add('test', KEY1)
     r = SSHKey.is_duplicated('test', KEY1)
     assert r is True
     r = SSHKey.is_duplicated('test', KEY5)
     assert r is None
Пример #3
0
 def test_duplicate(self):
     SSHKey.add('test', KEY1)
     r = SSHKey.is_duplicated('test', KEY1)
     assert r is True
     r = SSHKey.is_duplicated('test', KEY5)
     assert r is None