2007-11-21 15:07:16 +03:00
#!/usr/bin/python
# Samba-specific bits for optparse
# Copyright (C) Jelmer Vernooij <jelmer@samba.org> 2007
#
# This program is free software; you can redistribute it and/or modify
# it under the terms of the GNU General Public License as published by
# the Free Software Foundation; either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful,
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU General Public License for more details.
#
# You should have received a copy of the GNU General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
#
import optparse
from credentials import Credentials
class SambaOptions ( optparse . OptionGroup ) :
def __init__ ( self , parser ) :
optparse . OptionGroup . __init__ ( self , parser , " Samba Common Options " )
2007-12-28 08:31:59 +03:00
self . add_option ( " -s " , " --configfile " , type = " string " , metavar = " FILE " ,
2007-11-21 15:07:16 +03:00
help = " Configuration file " )
class VersionOptions ( optparse . OptionGroup ) :
def __init__ ( self , parser ) :
optparse . OptionGroup . __init__ ( self , parser , " Version Options " )
class CredentialsOptions ( optparse . OptionGroup ) :
def __init__ ( self , parser ) :
optparse . OptionGroup . __init__ ( self , parser , " Credentials Options " )
2007-12-28 08:31:42 +03:00
self . add_option ( " --simple-bind-dn " , metavar = " DN " , action = " callback " ,
callback = self . set_simple_bind_dn , type = str ,
2007-11-21 15:07:16 +03:00
help = " DN to use for a simple bind " )
2007-12-28 08:31:42 +03:00
self . add_option ( " --password " , metavar = " PASSWORD " , action = " callback " ,
help = " Password " , type = str , callback = self . set_password )
self . add_option ( " -U " , " --username " , metavar = " USERNAME " ,
action = " callback " , type = str ,
help = " username " , callback = self . parse_username )
self . creds = Credentials ( )
def parse_username ( self , option , opt_str , arg , parser ) :
self . creds . parse_string ( arg )
def set_password ( self , option , opt_str , arg , parser ) :
self . creds . set_password ( arg )
def set_simple_bind_dn ( self , option , opt_str , arg , parser ) :
self . creds . set_simple_bind_dn ( arg )
2007-11-21 15:07:16 +03:00
def get_credentials ( self ) :
2007-12-28 08:31:42 +03:00
return self . creds