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,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]);
-