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
61
62
63
64
65
66
67
68
69
70
71
72
73
74
|
#!/usr/bin/python -O
# Copyright 1999-2004 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2
# $Header: /local/data/ulm/cvs/history/var/cvsroot/gentoo-src/portage/bin/portageq,v 1.15 2004/12/07 15:06:41 jstubbs Exp $
import sys
sys.path = ["/usr/lib/portage/pym"]+sys.path
import portage,types, portageq
#-----------------------------------------------------------------------------
#
# DO NOT CHANGE CODE BEYOND THIS POINT - IT'S NOT NEEDED!
#
def usage():
rev="$Revision: 1.15 $"
ver=rev.split(' ')[1]
print ">>> Portage information query tool -- version "+ver
print ">>> Usage: portageq <command> [<option> ...]"
print ""
print "Available commands:"
#
# Show our commands -- we do this by scanning the functions in this
# file, and formatting each functions documentation.
#
for name in dir(portageq):
# Drop python stuff, modules, and our own support functions.
if (name in ("usage", "__doc__", "__name__", "main", "os", "portage", "sys", "__builtins__", "types", "string")):
continue
# Drop non-functions
obj = getattr(portageq,name)
if (type(obj) != types.FunctionType):
continue
doc = obj.__doc__
if (doc == None):
print " "+name
print " MISSING DOCUMENTATION!"
print ""
continue
lines = doc.split('\n')
print " "+name+" "+lines[0].strip()
for line in lines[1:]:
print " "+line.strip()
def main():
if (len(sys.argv) < 2):
usage()
sys.exit()
cmd = sys.argv[1]
try:
function = getattr(portageq,cmd)
e,s = function(sys.argv[2:])
print s
sys.exit(e)
except KeyError:
usage()
sys.exit()
except SystemExit:
raise
except Exception,e:
sys.exit(1)
main()
#-----------------------------------------------------------------------------
|