Skip to content

Commit

Permalink
bin/mscrap-output-qcheck.py
Browse files Browse the repository at this point in the history
  • Loading branch information
k0001 committed Sep 25, 2011
1 parent cf188d0 commit 42a0f9a
Showing 1 changed file with 52 additions and 0 deletions.
52 changes: 52 additions & 0 deletions bin/mscrap-output-qcheck.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,52 @@
#!/usr/bin/env python
# coding: utf-8

# Copyright (c) 2010,2011, Renzo Carbonara <[email protected]>
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without
# modification, are permitted provided that the following conditions are met:
#
# * Redistributions of source code must retain the above copyright notice,
# this list of conditions and the following disclaimer.
#
# * Redistributions in binary form must reproduce the above copyright
# notice, this list of conditions and the following disclaimer in the
# documentation and/or other materials provided with the distribution.
#
# * Neither the name of the Renzo Carbonara nor the names of its
# contributors may be used to endorse or promote products derived from
# this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
# ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
# WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
# DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
# (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
# LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON
# ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.


import itertools
import json
import sys

def quantitize(*files):
out = {}
for f in files:
for line in f:
item_type, item = json.loads(line)
item_type_quantities = out.setdefault(item_type, {})
for k,v in item.items():
item_type_quantities[k] = item_type_quantities.get(k, 0) + 1
return out

if __name__ == '__main__':
out = quantitize(*(open(fname, 'rb') for fname in sys.argv[1:]))
json.dump(out, sys.stdout, indent=2, ensure_ascii=True)
sys.stdout.write('\n')
sys.stdout.flush()

0 comments on commit 42a0f9a

Please sign in to comment.