1 |
commit: aa900dddfd051452d86c51e48dd6906acd67325e |
2 |
Author: Vikraman Choudhury <vikraman.choudhury <AT> gmail <DOT> com> |
3 |
AuthorDate: Fri Apr 29 19:02:28 2011 +0000 |
4 |
Commit: Vikraman Choudhury <vikraman.choudhury <AT> gmail <DOT> com> |
5 |
CommitDate: Fri Apr 29 19:02:28 2011 +0000 |
6 |
URL: http://git.overlays.gentoo.org/gitweb/?p=proj/gentoostats.git;a=commit;h=aa900ddd |
7 |
|
8 |
first version of client to read installed packages |
9 |
|
10 |
--- |
11 |
.gitignore | 2 ++ |
12 |
README | 4 ++++ |
13 |
TODO | 2 ++ |
14 |
client/__init__.py | 1 + |
15 |
client/bin/client | 11 +++++++++++ |
16 |
client/dbapi.py | 4 ++++ |
17 |
client/packages.py | 12 ++++++++++++ |
18 |
7 files changed, 36 insertions(+), 0 deletions(-) |
19 |
|
20 |
diff --git a/.gitignore b/.gitignore |
21 |
new file mode 100644 |
22 |
index 0000000..551cb32 |
23 |
--- /dev/null |
24 |
+++ b/.gitignore |
25 |
@@ -0,0 +1,2 @@ |
26 |
+*.*~ |
27 |
+*.pyc |
28 |
|
29 |
diff --git a/README b/README |
30 |
index e69de29..ec04ca0 100644 |
31 |
--- a/README |
32 |
+++ b/README |
33 |
@@ -0,0 +1,4 @@ |
34 |
+Repository for GSoC 2011 project on package statistics for Gentoo |
35 |
+ |
36 |
+Project: http://www.google-melange.com/gsoc/project/google/gsoc2011/vh4x0r/26001 |
37 |
+Proposal: http://www.google-melange.com/gsoc/proposal/review/google/gsoc2011/vh4x0r/1 |
38 |
|
39 |
diff --git a/TODO b/TODO |
40 |
new file mode 100644 |
41 |
index 0000000..3e45289 |
42 |
--- /dev/null |
43 |
+++ b/TODO |
44 |
@@ -0,0 +1,2 @@ |
45 |
+* Add use flags to client |
46 |
+* Add env vars to client |
47 |
|
48 |
diff --git a/client/__init__.py b/client/__init__.py |
49 |
new file mode 100644 |
50 |
index 0000000..3c6cfa2 |
51 |
--- /dev/null |
52 |
+++ b/client/__init__.py |
53 |
@@ -0,0 +1 @@ |
54 |
+# Make this a python package |
55 |
|
56 |
diff --git a/client/bin/client b/client/bin/client |
57 |
new file mode 100755 |
58 |
index 0000000..bdc16c7 |
59 |
--- /dev/null |
60 |
+++ b/client/bin/client |
61 |
@@ -0,0 +1,11 @@ |
62 |
+#!/usr/bin/env python |
63 |
+ |
64 |
+from packages import Packages |
65 |
+ |
66 |
+def main (): |
67 |
+ p = Packages () |
68 |
+ for cp in p.getInstalledCPs (): |
69 |
+ print cp |
70 |
+ |
71 |
+if __name__ == "__main__": |
72 |
+ main () |
73 |
|
74 |
diff --git a/client/dbapi.py b/client/dbapi.py |
75 |
new file mode 100644 |
76 |
index 0000000..d5d65fa |
77 |
--- /dev/null |
78 |
+++ b/client/dbapi.py |
79 |
@@ -0,0 +1,4 @@ |
80 |
+import portage |
81 |
+ |
82 |
+PORTDB = portage.db[portage.root]["porttree"].dbapi |
83 |
+VARDB = portage.db[portage.root]["vartree"].dbapi |
84 |
|
85 |
diff --git a/client/packages.py b/client/packages.py |
86 |
new file mode 100644 |
87 |
index 0000000..5d41061 |
88 |
--- /dev/null |
89 |
+++ b/client/packages.py |
90 |
@@ -0,0 +1,12 @@ |
91 |
+ |
92 |
+import logging |
93 |
+from dbapi import VARDB |
94 |
+ |
95 |
+class Packages: |
96 |
+ def getInstalledCPs (self): |
97 |
+ installed_cps = sorted (VARDB.cp_all ()) |
98 |
+ return installed_cps |
99 |
+ |
100 |
+ def getInstalledCPVs (self): |
101 |
+ installed_cpvs = sorted (VARDB.cpv_all ()) |
102 |
+ return installed_cpvs |