def outputFacetResults(results, header, prettyPrint=False, printHeaders=True, delimiter=None, out=sys.stdout): if prettyPrint: printResult(header, results, printHeaders=printHeaders, out=out) else: if delimiter is not None: for item in results: print delimiter.join(item) else: for item in results: print item
def outputResults(results, format, header=None, prettyPrint=False, printHeaders=True, delimiter=None, out=sys.stdout): if format == 'narrow': if prettyPrint: header = ['id', 'field', 'value'] printResult(header, results, printHeaders=printHeaders, out=out) else: if delimiter is not None: for item in results: print >> out, delimiter.join(item) else: for item in results: print >> out, item elif format == 'wide': # valuedict: (id, field) => value objset = set() fieldset = set() valueDict = {} for objid, field, value in results: objset.add(objid) fieldset.add(field) valueDict[(objid, field)] = value objlist = list(objset) objlist.sort() if 'id' in fieldset: fieldset.remove('id') fieldlist = list(fieldset) fieldlist.sort() wideResults = [] for obj in objlist: wideResults.append( tuple([obj] + [valueDict.get((obj, field), '') for field in fieldlist])) if prettyPrint: printResult(['id'] + fieldlist, wideResults, printHeaders=printHeaders, out=out) else: if delimiter is not None: for item in wideResults: print >> out, delimiter.join(item) else: for item in wideResults: print >> out, item else: print 'Format not yet implemented:', format sys.exit(1)
def outputResults(results, format, header=None, prettyPrint=False, printHeaders=True, delimiter=None, out=sys.stdout): if format == "narrow": if prettyPrint: header = ["id", "field", "value"] printResult(header, results, printHeaders=printHeaders, out=out) else: if delimiter is not None: for item in results: print >> out, delimiter.join(item) else: for item in results: print >> out, item elif format == "wide": # valuedict: (id, field) => value objset = set() fieldset = set() valueDict = {} for objid, field, value in results: objset.add(objid) fieldset.add(field) valueDict[(objid, field)] = value objlist = list(objset) objlist.sort() if "id" in fieldset: fieldset.remove("id") fieldlist = list(fieldset) fieldlist.sort() wideResults = [] for obj in objlist: wideResults.append(tuple([obj] + [valueDict.get((obj, field), "") for field in fieldlist])) if prettyPrint: printResult(["id"] + fieldlist, wideResults, printHeaders=printHeaders, out=out) else: if delimiter is not None: for item in wideResults: print >> out, delimiter.join(item) else: for item in wideResults: print >> out, item else: print "Format not yet implemented:", format sys.exit(1)