equal
deleted
inserted
replaced
484 adminlogin = sourcescfg['admin']['login'] |
484 adminlogin = sourcescfg['admin']['login'] |
485 except KeyError: |
485 except KeyError: |
486 print '-> Error: could not get cubicweb administrator login.' |
486 print '-> Error: could not get cubicweb administrator login.' |
487 sys.exit(1) |
487 sys.exit(1) |
488 cnx = source_cnx(sourcescfg['system']) |
488 cnx = source_cnx(sourcescfg['system']) |
|
489 driver = sourcescfg['system']['db-driver'] |
|
490 from logilab.database import get_db_helper |
|
491 dbhelper = get_db_helper(driver) |
489 cursor = cnx.cursor() |
492 cursor = cnx.cursor() |
490 # check admin exists |
493 # check admin exists |
491 cursor.execute("SELECT * FROM cw_CWUser WHERE cw_login=%(l)s", |
494 cursor.execute("SELECT * FROM cw_CWUser WHERE cw_login=%(l)s", |
492 {'l': adminlogin}) |
495 {'l': adminlogin}) |
493 if not cursor.fetchall(): |
496 if not cursor.fetchall(): |
499 # ask for a new password |
502 # ask for a new password |
500 _, passwd = manager_userpasswd(adminlogin, confirm=True, |
503 _, passwd = manager_userpasswd(adminlogin, confirm=True, |
501 passwdmsg='new password for %s' % adminlogin) |
504 passwdmsg='new password for %s' % adminlogin) |
502 try: |
505 try: |
503 cursor.execute("UPDATE cw_CWUser SET cw_upassword=%(p)s WHERE cw_login=%(l)s", |
506 cursor.execute("UPDATE cw_CWUser SET cw_upassword=%(p)s WHERE cw_login=%(l)s", |
504 {'p': buffer(crypt_password(passwd)), 'l': adminlogin}) |
507 {'p': dbhelper.binary_value(crypt_password(passwd)), 'l': adminlogin}) |
505 sconfig = Configuration(options=USER_OPTIONS) |
508 sconfig = Configuration(options=USER_OPTIONS) |
506 sconfig['login'] = adminlogin |
509 sconfig['login'] = adminlogin |
507 sconfig['password'] = passwd |
510 sconfig['password'] = passwd |
508 sourcescfg['admin'] = sconfig |
511 sourcescfg['admin'] = sconfig |
509 config.write_sources_file(sourcescfg) |
512 config.write_sources_file(sourcescfg) |