diff options
author | Lars Wirzenius <lars.wirzenius@codethink.co.uk> | 2012-06-18 17:24:17 +0100 |
---|---|---|
committer | Lars Wirzenius <lars.wirzenius@codethink.co.uk> | 2012-06-18 17:24:17 +0100 |
commit | b1f9187f478be1fbe3ff5602f8deed9caac799c4 (patch) | |
tree | 363257dd96b4f3e4d6c0ecc45d14b58a29bb3903 | |
parent | f0fe7254f66dda4e7f072e4136a0e1fbcb3f2f3d (diff) | |
download | morph-b1f9187f478be1fbe3ff5602f8deed9caac799c4.tar.gz |
Make source-stats read chunk morphologies
Non-chunks are skipped.
-rwxr-xr-x | source-stats | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/source-stats b/source-stats index 3c4579c2..b657cd37 100755 --- a/source-stats +++ b/source-stats @@ -20,6 +20,7 @@ import csv import json import os import shutil +import sys import tarfile import tempfile import time @@ -34,6 +35,8 @@ class SourceStats(cliapp.Application): * number of commits over last 12 months * lines added over 12 months * lines removed over 12 months + + Usage: ./source-stat $HOME/baserock/gits/*.morph ''' @@ -41,16 +44,19 @@ class SourceStats(cliapp.Application): self.settings.string(['gitsdir'], 'base directory for git repos') def setup(self): - self.writer = csv.writer(self.output) + self.writer = csv.writer(sys.stdout) self.cols = ['name', 'lines', 'commits', 'added', 'deleted'] self.writer.writerow(self.cols) - def process_input(self, name): - with self.open_input(name) as f: + def process_input(self, filename): + with self.open_input(filename) as f: obj = json.load(f) - assert len(obj.keys()) == 1 - name = obj.keys()[0] - gitdir = os.path.join(self.settings['gitsdir'], name) + + if obj['kind'] != 'chunk': + return + + gitdir = os.path.dirname(filename) + name = obj['name'] stats = self.compute_stats(name, gitdir) row = [stats[x] for x in self.cols] |