summaryrefslogtreecommitdiff
path: root/doc/examples/config.py
diff options
context:
space:
mode:
authorArch Librarian <arch@canonical.com>2004-11-24 10:00:17 +0000
committerArch Librarian <arch@canonical.com>2004-11-24 10:00:17 +0000
commit507d25595a7e989139b9c425b39f02ee48fa033e (patch)
treeb6d9a27db1078d62df8efe68a853165f324bfb60 /doc/examples/config.py
downloadpython-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-xdoc/examples/config.py55
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]);