org.guifications.plugins.buildsystem_rewrite: 7385adcbc00aead85475acc70ace4254fe23ae04
grim at guifications.org
grim at guifications.org
Sun Apr 27 20:05:07 CDT 2008
-----------------------------------------------------------------
Revision: 7385adcbc00aead85475acc70ace4254fe23ae04
Ancestor: 97b2fc64deaf47b3feb802049fad3228c484b356
Author: grim at guifications.org
Date: 2008-04-27T00:50:56
Branch: org.guifications.plugins.buildsystem_rewrite
Modified files:
Makefile.am plugin_pack.py
ChangeLog:
added a 'make stats' target
-----------------------------------------------------------------
This revision's diffstat output:
Makefile.am | 3 +++
plugin_pack.py | 54 ++++++++++++++++++++++++++++++++++++++++++++++++++++++
2 files changed, 57 insertions(+)
-------------- next part --------------
============================================================
--- Makefile.am bce5851ba39ad66c7700046d8b3c3b02b26fa648
+++ Makefile.am 175cb95cc7fffe40d4a19aaa8bf35a4e9840aee5
@@ -51,3 +51,6 @@ info:
info:
@echo $(PP_DIST_DIRS)
+
+stats:
+ @$(PYTHON) plugin_pack.py stats
============================================================
--- plugin_pack.py 8eda805254ae324fe8b266579968260298747ccd
+++ plugin_pack.py 43dfa1a031573a210e4454beb2104a97a3faefd2
@@ -139,6 +139,22 @@ class PluginPack:
return list
+ def list_dep(self, dep):
+ list = []
+
+ for name in self.plugins.keys():
+ plugin = self.plugins[name]
+
+ try:
+ plugin.depends.index(dep)
+ list.append(plugin)
+ except ValueError:
+ pass
+
+ list.sort()
+
+ return list
+
def print_names(self, list):
names = []
for plugin in list:
@@ -155,6 +171,15 @@ class PluginPack:
def incomplete_plugins(self):
return self.list_type('incomplete')
+ def purple_plugins(self):
+ return self.list_dep('purple')
+
+ def finch_plugins(self):
+ return self.list_dep('finch')
+
+ def pidgin_plugins(self):
+ return self.list_dep('pidgin')
+
def unique_dirs(self):
dirs = {}
for name in self.plugins.keys():
@@ -258,6 +283,35 @@ class PluginPack:
print
commands['info'] = info
+ def stats(self, args):
+ counts = {}
+
+ counts['total'] = len(self.plugins)
+ counts['default'] = len(self.default_plugins())
+ counts['incomplete'] = len(self.incomplete_plugins())
+ counts['abusive'] = len(self.abusive_plugins())
+ counts['purple'] = len(self.purple_plugins())
+ counts['finch'] = len(self.finch_plugins())
+ counts['pidgin'] = len(self.pidgin_plugins())
+
+ def value(val):
+ return "%3d (%0.2f%%)" % (val, (float(val) / float(counts['total'])) * 100.0)
+
+ print "Purple Plugin Pack Stats"
+ print ""
+ print "%d plugins in total" % (counts['total'])
+ print
+ print "Status:"
+ print " complete: %s" % (value(counts['default']))
+ print " incomplete: %s" % (value(counts['incomplete']))
+ print " abusive: %s" % (value(counts['abusive']))
+ print ""
+ print "Type:"
+ print " purple: %s" % (value(counts['purple']))
+ print " finch: %s" % (value(counts['finch']))
+ print " pidgin: %s" % (value(counts['pidgin']))
+ commands['stats'] = stats
+
def main():
# create our main instance
pp = PluginPack()
More information about the Plugins-commits
mailing list