~ziad-sawalha/keystone/trunk

« back to all changes in this revision

Viewing changes to management/setuserpswd.py

  • Committer: Ziad Sawalha
  • Date: 2011-05-26 01:24:05 UTC
  • mfrom: (87.5.8)
  • Revision ID: git-v1:b0d12a558f590a501a42afd1283148961563920e
Merge pull request 53

Show diffs side-by-side

added added

removed removed

Lines of Context:
1
 
#!/usr/bin/env python
2
 
# Copyright (c) 2010-2011 OpenStack, LLC.
3
 
#
4
 
# Licensed under the Apache License, Version 2.0 (the "License");
5
 
# you may not use this file except in compliance with the License.
6
 
# You may obtain a copy of the License at
7
 
#
8
 
#    http://www.apache.org/licenses/LICENSE-2.0
9
 
#
10
 
# Unless required by applicable law or agreed to in writing, software
11
 
# distributed under the License is distributed on an "AS IS" BASIS,
12
 
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
13
 
# implied.
14
 
# See the License for the specific language governing permissions and
15
 
# limitations under the License.
16
 
 
17
 
import os
18
 
import sys
19
 
 
20
 
# If ../keystone/__init__.py exists, add ../ to Python search path, so that
21
 
# it will override what happens to be installed in /usr/(local/)lib/python...
22
 
possible_topdir = os.path.normpath(os.path.join(os.path.abspath(sys.argv[0]),
23
 
                                   os.pardir,
24
 
                                   os.pardir))
25
 
if os.path.exists(os.path.join(possible_topdir, 'keystone', '__init__.py')):
26
 
    sys.path.insert(0, possible_topdir)
27
 
 
28
 
import optparse
29
 
import keystone.db.sqlalchemy.api as db_api
30
 
 
31
 
 
32
 
def main():
33
 
    usage = "usage: %prog username password"
34
 
    parser = optparse.OptionParser(usage)
35
 
    options, args = parser.parse_args()
36
 
    if len(args) != 2:
37
 
        parser.error("Incorrect number of arguments")
38
 
    else:
39
 
        username = args[0]
40
 
        password = args[1]
41
 
        try:
42
 
            u = db_api.user_get(username)
43
 
            if u == None:
44
 
                raise IndexError("User not found")
45
 
            else:
46
 
                values = {'password': password}
47
 
                db_api.user_update(username, values)
48
 
            print 'User', u.id, 'updated.'
49
 
        except Exception, e:
50
 
            print 'Error updating user', username, ':', str(e)
51
 
 
52
 
if __name__ == '__main__':
53
 
    main()