misc/migration/3.15.4_Any.py
author Sylvain Thénault <sylvain.thenault@logilab.fr>
Tue, 22 Dec 2015 15:35:10 +0100
changeset 11034 75d752e6daf7
parent 10589 7c23b7de2b8d
permissions -rw-r--r--
[server] improve TZDatetime support by depending on logilab-database 1.15.0 including https://www.logilab.org/ticket/1485893, we can now keep the tzinfo attribute on datetime objects for TZDatetime attributes, so one knows that this is a tz-aware datetime. To easily make it work with backends that have no tz support, we keep converting tz-aware datetime objects into utc naive datetime objects before sending them to the database.

from __future__ import print_function

from logilab.common.shellutils import generate_password
from cubicweb.server.utils import crypt_password

for user in rql('CWUser U WHERE U cw_source S, S name "system", U upassword P, U login L').entities():
    salt = user.upassword.getvalue()
    if crypt_password('', salt) == salt:
        passwd = generate_password()
        print('setting random password for user %s' % user.login)
        user.set_attributes(upassword=passwd)

commit()