home *** CD-ROM | disk | FTP | other *** search
- #!/usr/bin/python
- # Example demonstrating how to use the configuration/commandline system
- # for configuration.
- # Some valid command lines..
- # config.py -h --help ; Turn on help
- # config.py -no-h --no-help --help=no ; Turn off help
- # config.py -qqq -q=3 ; verbosity to 3
- # config.py -c /etc/apt/apt.conf ; include that config file]
- # config.py -o help=true ; Turn on help by giving a
- # ; config file string
- # config.py -no-h -- -help ; Turn off help, specify the file '-help'
- # -c and -o are standard APT-program options.
-
- # This shows how to use the system for configuration and option control.
- # The other varient is for ISC object config files. See configisc.py.
- import apt_pkg
- import sys
- import posixpath
-
- # Create a new empty Configuration object - there is also the system global
- # configuration object apt_pkg.Config which is used interally by apt-pkg
- # routines to control unusual situations. I recommend using the sytem global
- # whenever possible..
- Cnf = apt_pkg.newConfiguration()
-
- print "Command line is", sys.argv
-
- # Load the default configuration file, InitConfig() does this better..
- Cnf.Set("config-file", "/etc/apt/apt.conf") # or Cnf["config-file"] = ".."
- if posixpath.exists(Cnf.FindFile("config-file")):
- apt_pkg.ReadConfigFile(Cnf, "/etc/apt/apt.conf")
-
- # Merge the command line arguments into the configuration space
- Arguments = [('h', "help", "help"),
- ('v', "version", "version"),
- ('q', "quiet", "quiet", "IntLevel"),
- ('c', "config-file", "", "ConfigFile"),
- ('o', "option", "", "ArbItem")]
- print "FileNames", apt_pkg.ParseCommandLine(Cnf, Arguments, sys.argv)
-
- print "Quiet level selected is", Cnf.FindI("quiet", 0)
-
- # Do some stuff with it
- if Cnf.FindB("version", 0) == 1:
- print "Version selected - 1.1"
-
- if Cnf.FindB("help", 0) == 1:
- print "python-apt", apt_pkg.Version, \
- "compiled on", apt_pkg.Date, apt_pkg.Time
- print "Hi, I am the help text for this program"
- sys.exit(0)
-
- print "No help for you, try -h"
-
- # Print the configuration space
- print "The Configuration space looks like:"
- for I in Cnf.keys():
- print "%s \"%s\";" % (I, Cnf[I])
-