[mod] autopep8

This commit is contained in:
Laurent Peuch 2016-05-13 04:36:49 +02:00
parent 03d83b7166
commit f52b805bf4
2 changed files with 67 additions and 62 deletions

View file

@ -55,12 +55,12 @@ def user_list(auth, fields=None, filter=None, limit=None, offset=None):
fields -- fields to fetch fields -- fields to fetch
""" """
user_attrs = { 'uid': 'username', user_attrs = {'uid': 'username',
'cn': 'fullname', 'cn': 'fullname',
'mail': 'mail', 'mail': 'mail',
'maildrop': 'mail-forward', 'maildrop': 'mail-forward',
'mailuserquota': 'mailbox-quota' } 'mailuserquota': 'mailbox-quota'}
attrs = [ 'uid' ] attrs = ['uid']
users = {} users = {}
# Set default arguments values # Set default arguments values
@ -79,12 +79,12 @@ def user_list(auth, fields=None, filter=None, limit=None, offset=None):
raise MoulinetteError(errno.EINVAL, raise MoulinetteError(errno.EINVAL,
m18n.n('field_invalid', attr)) m18n.n('field_invalid', attr))
else: else:
attrs = [ 'uid', 'cn', 'mail', 'mailuserquota' ] attrs = ['uid', 'cn', 'mail', 'mailuserquota']
result = auth.search('ou=users,dc=yunohost,dc=org', filter, attrs) result = auth.search('ou=users,dc=yunohost,dc=org', filter, attrs)
if len(result) > offset and limit > 0: if len(result) > offset and limit > 0:
for user in result[offset:offset+limit]: for user in result[offset:offset + limit]:
entry = {} entry = {}
for attr, values in user.items(): for attr, values in user.items():
try: try:
@ -93,7 +93,7 @@ def user_list(auth, fields=None, filter=None, limit=None, offset=None):
pass pass
uid = entry[user_attrs['uid']] uid = entry[user_attrs['uid']]
users[uid] = entry users[uid] = entry
return { 'users' : users } return {'users': users}
def user_create(auth, username, firstname, lastname, mail, password, def user_create(auth, username, firstname, lastname, mail, password,
@ -112,8 +112,8 @@ def user_create(auth, username, firstname, lastname, mail, password,
""" """
# Validate uniqueness of username and mail in LDAP # Validate uniqueness of username and mail in LDAP
auth.validate_uniqueness({ auth.validate_uniqueness({
'uid' : username, 'uid': username,
'mail' : mail 'mail': mail
}) })
# Validate uniqueness of username in system users # Validate uniqueness of username in system users
@ -125,10 +125,10 @@ def user_create(auth, username, firstname, lastname, mail, password,
raise MoulinetteError(errno.EEXIST, m18n.n('system_username_exists')) raise MoulinetteError(errno.EEXIST, m18n.n('system_username_exists'))
# Check that the mail domain exists # Check that the mail domain exists
if mail[mail.find('@')+1:] not in domain_list(auth)['domains']: if mail[mail.find('@') + 1:] not in domain_list(auth)['domains']:
raise MoulinetteError(errno.EINVAL, raise MoulinetteError(errno.EINVAL,
m18n.n('mail_domain_unknown', m18n.n('mail_domain_unknown',
domain=mail[mail.find('@')+1:])) domain=mail[mail.find('@') + 1:]))
# Get random UID/GID # Get random UID/GID
uid_check = gid_check = 0 uid_check = gid_check = 0
@ -141,7 +141,7 @@ def user_create(auth, username, firstname, lastname, mail, password,
fullname = '%s %s' % (firstname, lastname) fullname = '%s %s' % (firstname, lastname)
rdn = 'uid=%s,ou=users' % username rdn = 'uid=%s,ou=users' % username
char_set = string.ascii_uppercase + string.digits char_set = string.ascii_uppercase + string.digits
salt = ''.join(random.sample(char_set,8)) salt = ''.join(random.sample(char_set, 8))
salt = '$1$' + salt + '$' salt = '$1$' + salt + '$'
user_pwd = '{CRYPT}' + crypt.crypt(str(password), salt) user_pwd = '{CRYPT}' + crypt.crypt(str(password), salt)
attr_dict = { attr_dict = {
@ -166,12 +166,12 @@ def user_create(auth, username, firstname, lastname, mail, password,
with open('/etc/yunohost/current_host') as f: with open('/etc/yunohost/current_host') as f:
main_domain = f.readline().rstrip() main_domain = f.readline().rstrip()
aliases = [ aliases = [
'root@'+ main_domain, 'root@' + main_domain,
'admin@'+ main_domain, 'admin@' + main_domain,
'webmaster@'+ main_domain, 'webmaster@' + main_domain,
'postmaster@'+ main_domain, 'postmaster@' + main_domain,
] ]
attr_dict['mail'] = [ attr_dict['mail'] ] + aliases attr_dict['mail'] = [attr_dict['mail']] + aliases
# If exists, remove the redirection from the SSO # If exists, remove the redirection from the SSO
try: try:
@ -184,8 +184,8 @@ def user_create(auth, username, firstname, lastname, mail, password,
with open('/etc/ssowat/conf.json.persistent', 'w+') as f: with open('/etc/ssowat/conf.json.persistent', 'w+') as f:
json.dump(ssowat_conf, f, sort_keys=True, indent=4) json.dump(ssowat_conf, f, sort_keys=True, indent=4)
except IOError: pass except IOError:
pass
if auth.add(rdn, attr_dict): if auth.add(rdn, attr_dict):
# Invalidate passwd to take user creation into account # Invalidate passwd to take user creation into account
@ -194,7 +194,7 @@ def user_create(auth, username, firstname, lastname, mail, password,
# Update SFTP user group # Update SFTP user group
memberlist = auth.search(filter='cn=sftpusers', attrs=['memberUid'])[0]['memberUid'] memberlist = auth.search(filter='cn=sftpusers', attrs=['memberUid'])[0]['memberUid']
memberlist.append(username) memberlist.append(username)
if auth.update('cn=sftpusers,ou=groups', { 'memberUid': memberlist }): if auth.update('cn=sftpusers,ou=groups', {'memberUid': memberlist}):
try: try:
# Attempt to create user home folder # Attempt to create user home folder
subprocess.check_call( subprocess.check_call(
@ -204,12 +204,12 @@ def user_create(auth, username, firstname, lastname, mail, password,
logger.warning(m18n.n('user_home_creation_failed'), logger.warning(m18n.n('user_home_creation_failed'),
exc_info=1) exc_info=1)
app_ssowatconf(auth) app_ssowatconf(auth)
#TODO: Send a welcome mail to user # TODO: Send a welcome mail to user
logger.success(m18n.n('user_created')) logger.success(m18n.n('user_created'))
hook_callback('post_user_create', hook_callback('post_user_create',
args=[username, mail, password, firstname, lastname]) args=[username, mail, password, firstname, lastname])
return { 'fullname' : fullname, 'username' : username, 'mail' : mail } return {'fullname': fullname, 'username': username, 'mail': mail}
raise MoulinetteError(169, m18n.n('user_creation_failed')) raise MoulinetteError(169, m18n.n('user_creation_failed'))
@ -229,9 +229,11 @@ def user_delete(auth, username, purge=False):
# Update SFTP user group # Update SFTP user group
memberlist = auth.search(filter='cn=sftpusers', attrs=['memberUid'])[0]['memberUid'] memberlist = auth.search(filter='cn=sftpusers', attrs=['memberUid'])[0]['memberUid']
try: memberlist.remove(username) try:
except: pass memberlist.remove(username)
if auth.update('cn=sftpusers,ou=groups', { 'memberUid': memberlist }): except:
pass
if auth.update('cn=sftpusers,ou=groups', {'memberUid': memberlist}):
if purge: if purge:
subprocess.call(['rm', '-rf', '/home/{0}'.format(username)]) subprocess.call(['rm', '-rf', '/home/{0}'.format(username)])
else: else:
@ -286,34 +288,34 @@ def user_update(auth, username, firstname=None, lastname=None, mail=None,
if change_password: if change_password:
char_set = string.ascii_uppercase + string.digits char_set = string.ascii_uppercase + string.digits
salt = ''.join(random.sample(char_set,8)) salt = ''.join(random.sample(char_set, 8))
salt = '$1$' + salt + '$' salt = '$1$' + salt + '$'
new_attr_dict['userPassword'] = '{CRYPT}' + crypt.crypt(str(change_password), salt) new_attr_dict['userPassword'] = '{CRYPT}' + crypt.crypt(str(change_password), salt)
if mail: if mail:
auth.validate_uniqueness({ 'mail': mail }) auth.validate_uniqueness({'mail': mail})
if mail[mail.find('@')+1:] not in domains: if mail[mail.find('@') + 1:] not in domains:
raise MoulinetteError(errno.EINVAL, raise MoulinetteError(errno.EINVAL,
m18n.n('mail_domain_unknown', m18n.n('mail_domain_unknown',
domain=mail[mail.find('@')+1:])) domain=mail[mail.find('@') + 1:]))
del user['mail'][0] del user['mail'][0]
new_attr_dict['mail'] = [mail] + user['mail'] new_attr_dict['mail'] = [mail] + user['mail']
if add_mailalias: if add_mailalias:
if not isinstance(add_mailalias, list): if not isinstance(add_mailalias, list):
add_mailalias = [ add_mailalias ] add_mailalias = [add_mailalias]
for mail in add_mailalias: for mail in add_mailalias:
auth.validate_uniqueness({ 'mail': mail }) auth.validate_uniqueness({'mail': mail})
if mail[mail.find('@')+1:] not in domains: if mail[mail.find('@') + 1:] not in domains:
raise MoulinetteError(errno.EINVAL, raise MoulinetteError(errno.EINVAL,
m18n.n('mail_domain_unknown', m18n.n('mail_domain_unknown',
domain=mail[mail.find('@')+1:])) domain=mail[mail.find('@') + 1:]))
user['mail'].append(mail) user['mail'].append(mail)
new_attr_dict['mail'] = user['mail'] new_attr_dict['mail'] = user['mail']
if remove_mailalias: if remove_mailalias:
if not isinstance(remove_mailalias, list): if not isinstance(remove_mailalias, list):
remove_mailalias = [ remove_mailalias ] remove_mailalias = [remove_mailalias]
for mail in remove_mailalias: for mail in remove_mailalias:
if len(user['mail']) > 1 and mail in user['mail'][1:]: if len(user['mail']) > 1 and mail in user['mail'][1:]:
user['mail'].remove(mail) user['mail'].remove(mail)
@ -324,7 +326,7 @@ def user_update(auth, username, firstname=None, lastname=None, mail=None,
if add_mailforward: if add_mailforward:
if not isinstance(add_mailforward, list): if not isinstance(add_mailforward, list):
add_mailforward = [ add_mailforward ] add_mailforward = [add_mailforward]
for mail in add_mailforward: for mail in add_mailforward:
if mail in user['maildrop'][1:]: if mail in user['maildrop'][1:]:
continue continue
@ -333,7 +335,7 @@ def user_update(auth, username, firstname=None, lastname=None, mail=None,
if remove_mailforward: if remove_mailforward:
if not isinstance(remove_mailforward, list): if not isinstance(remove_mailforward, list):
remove_mailforward = [ remove_mailforward ] remove_mailforward = [remove_mailforward]
for mail in remove_mailforward: for mail in remove_mailforward:
if len(user['maildrop']) > 1 and mail in user['maildrop'][1:]: if len(user['maildrop']) > 1 and mail in user['maildrop'][1:]:
user['maildrop'].remove(mail) user['maildrop'].remove(mail)
@ -366,9 +368,9 @@ def user_info(auth, username):
] ]
if len(username.split('@')) is 2: if len(username.split('@')) is 2:
filter = 'mail='+ username filter = 'mail=' + username
else: else:
filter = 'uid='+ username filter = 'uid=' + username
result = auth.search('ou=users,dc=yunohost,dc=org', filter, user_attrs) result = auth.search('ou=users,dc=yunohost,dc=org', filter, user_attrs)
@ -394,14 +396,14 @@ def user_info(auth, username):
if 'mailuserquota' in user: if 'mailuserquota' in user:
if user['mailuserquota'][0] != '0': if user['mailuserquota'][0] != '0':
cmd = 'doveadm -f flow quota get -u %s' % user['uid'][0] cmd = 'doveadm -f flow quota get -u %s' % user['uid'][0]
userquota = subprocess.check_output(cmd,stderr=subprocess.STDOUT, userquota = subprocess.check_output(cmd, stderr=subprocess.STDOUT,
shell=True) shell=True)
quotavalue = re.findall(r'\d+', userquota) quotavalue = re.findall(r'\d+', userquota)
result = '%s (%s%s)' % ( _convertSize(eval(quotavalue[0])), result = '%s (%s%s)' % (_convertSize(eval(quotavalue[0])),
quotavalue[2], '%') quotavalue[2], '%')
result_dict['mailbox-quota'] = { result_dict['mailbox-quota'] = {
'limit' : user['mailuserquota'][0], 'limit': user['mailuserquota'][0],
'use' : result 'use': result
} }
else: else:
result_dict['mailbox-quota'] = m18n.n('unlimit') result_dict['mailbox-quota'] = m18n.n('unlimit')
@ -411,9 +413,12 @@ def user_info(auth, username):
else: else:
raise MoulinetteError(167, m18n.n('user_info_failed')) raise MoulinetteError(167, m18n.n('user_info_failed'))
def _convertSize(num, suffix=''): def _convertSize(num, suffix=''):
for unit in ['K','M','G','T','P','E','Z']: for unit in ['K', 'M', 'G', 'T', 'P', 'E', 'Z']:
if abs(num) < 1024.0: if abs(num) < 1024.0:
return "%3.1f%s%s" % (num, unit, suffix) return "%3.1f%s%s" % (num, unit, suffix)
num /= 1024.0 num /= 1024.0
return "%.1f%s%s" % (num, 'Yi', suffix) return "%.1f%s%s" % (num, 'Yi', suffix)