pidgin/purple-plugin-pack

added a 'make stats' target
org.guifications.plugins.buildsystem_rewrite
2008-04-27, grim
2a22ffd73469
Parents 70f2f68b8afa
Children 07f0fe5b628e
added a 'make stats' target
--- a/Makefile.am Sat Apr 26 23:22:14 2008 -0400
+++ b/Makefile.am Sun Apr 27 00:50:56 2008 -0400
@@ -51,3 +51,6 @@
info:
@echo $(PP_DIST_DIRS)
+
+stats:
+ @$(PYTHON) plugin_pack.py stats
--- a/plugin_pack.py Sat Apr 26 23:22:14 2008 -0400
+++ b/plugin_pack.py Sun Apr 27 00:50:56 2008 -0400
@@ -139,6 +139,22 @@
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 @@
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 @@
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()