diff options
| author | Arch Librarian <arch@canonical.com> | 2004-11-24 10:00:17 +0000 |
|---|---|---|
| committer | Arch Librarian <arch@canonical.com> | 2004-11-24 10:00:17 +0000 |
| commit | 507d25595a7e989139b9c425b39f02ee48fa033e (patch) | |
| tree | b6d9a27db1078d62df8efe68a853165f324bfb60 /doc/examples/config.py | |
| download | python-apt-507d25595a7e989139b9c425b39f02ee48fa033e.tar.gz | |
Initial revision
Author: jgg
Date: 2001-02-20 06:32:01 GMT
Initial revision
Diffstat (limited to 'doc/examples/config.py')
| -rwxr-xr-x | doc/examples/config.py | 55 |
1 files changed, 55 insertions, 0 deletions
diff --git a/doc/examples/config.py b/doc/examples/config.py new file mode 100755 index 00000000..222c1331 --- /dev/null +++ b/doc/examples/config.py @@ -0,0 +1,55 @@ +#!/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,sys,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 apt_pkg.Package,apt_pkg.Version,"for",apt_pkg.Architecture, \ + "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]); |
