00001
00002
00003 """
00004 usage: %(progname)s username
00005 """
00006
00007
00008 import nstart
00009 import os, sys, string, time, getopt
00010
00011 from pyclearsilver.log import *
00012
00013 import config
00014
00015 from pyclearsilver import odb, hdfhelp, odb_sqlite3
00016 from pyclearsilver import CSPage
00017
00018 from pyclearsilver.odb import *
00019 import db_auth
00020
00021
00022
00023 def changePassword(db, username, password):
00024 row = db.users.lookup(username)
00025 row.setPassword(password)
00026 row.changePassword = 1
00027 row.save()
00028
00029
00030 def usage(progname):
00031 print __doc__ % vars()
00032
00033 def main(argv, stdout, environ):
00034 progname = argv[0]
00035 optlist, args = getopt.getopt(argv[1:], "", ["help", "test", "debug"])
00036
00037 testflag = 0
00038 if len(args) != 1:
00039 usage(progname)
00040 return
00041
00042 for (field, val) in optlist:
00043 if field == "--help":
00044 usage(progname)
00045 return
00046 elif field == "--debug":
00047 debugfull()
00048 elif field == "--test":
00049 testflag = 1
00050
00051 if testflag:
00052 test()
00053 return
00054
00055 db = db_auth.initSchema(create=0)
00056
00057 username = args[0]
00058 import getpass
00059 password1 = getpass.getpass("Password 1:")
00060 password2 = getpass.getpass("Password 2:")
00061 if password1 != password2:
00062 print "password mismatch."
00063 return
00064
00065 changePassword(db, username, password1)
00066
00067
00068
00069
00070 if __name__ == "__main__":
00071 main(sys.argv, sys.stdout, os.environ)
00072
00073
00074