~ziad-sawalha/keystone/trunk

« back to all changes in this revision

Viewing changes to tools/management/getgroupusers.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 group_id"
 
34
    parser = optparse.OptionParser(usage)
 
35
    options, args = parser.parse_args()
 
36
    if len(args) != 1:
 
37
        parser.error("Incorrect number of arguments")
 
38
    else:
 
39
        group_id = args[0]
 
40
 
 
41
        try:
 
42
            g = db_api.group_users(group_id)
 
43
            if g == None:
 
44
                raise IndexError("Group users not found")
 
45
            for row in g:
 
46
                print row
 
47
        except Exception, e:
 
48
            print 'Error getting group users for group', group_id, ':', str(e)
 
49
 
 
50
if __name__ == '__main__':
 
51
    main()