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
55
56
57
58
59
60
|
#!/usr/bin/python3
# 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.
import posixpath
import sys
# 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
# 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.Configuration()
print("Command line is", sys.argv)
# Load the default configuration file, init_config() does this better..
Cnf.set("config-file", "/etc/apt/apt.conf") # or Cnf["config-file"] = ".."
if posixpath.exists(Cnf.find_file("config-file")):
apt_pkg.read_config_file(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.parse_commandline(Cnf, Arguments, sys.argv))
print("Quiet level selected is", Cnf.find_i("quiet", 0))
# Do some stuff with it
if Cnf.find_b("version", 0) == 1:
print("Version selected - 1.1")
if Cnf.find_b("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 item in list(Cnf.keys()):
print(f'{item} "{Cnf[item]}";')
|