File: config.py

package info (click to toggle)
python-apt 0.7.7.1%2Bnmu1
  • links: PTS
  • area: main
  • in suites: lenny
  • size: 3,276 kB
  • ctags: 930
  • sloc: cpp: 4,126; python: 3,108; makefile: 52
file content (54 lines) | stat: -rwxr-xr-x 2,138 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#!/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 "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]);