def fun(dirname, dirs, files): for basename in files: filename = os.path.join(dirname, basename) _, suffix = os.path.splitext(basename) if suffix in filesBySuffix: filesBySuffix[suffix] += [filename] else: filesBySuffix[suffix] = [filename] print "Analyzing suffixes for 101repo." dump = dict() suffixes = json.load(open(const101.rulesDump, 'r'))["results"]["suffixes"] filesBySuffix = dict() tools101.loopOverFiles(fun, True) filesBySuffix = filesBySuffix.items() filesBySuffix = sorted(filesBySuffix, reverse=True, key=lambda (ext, list): len(list)) dump["suffixes"] = dict() dump["suffixes"]["all"] = [x[0] for x in filesBySuffix] dump["suffixes"]["matched"] = [x[0] for x in filesBySuffix if x[0] in suffixes] dump["suffixes"]["unmatched"] = [ x[0] for x in filesBySuffix if not x[0] in suffixes ] dump["filesBySuffix"] = dict() dump["filesBySuffix"]["all"] = [tools101.pair2json(x) for x in filesBySuffix] dump["filesBySuffix"]["matched"] = [ tools101.pair2json(x) for x in filesBySuffix if x[0] in suffixes ]
import tools101 def fun(dirname, dirs, files): for basename in files: filename = os.path.join(dirname, basename) _, suffix = os.path.splitext(basename) if suffix in filesBySuffix: filesBySuffix[suffix] += [filename] else: filesBySuffix[suffix] = [filename] print "Analyzing suffixes for 101repo." dump = dict() suffixes = json.load(open(const101.rulesDump, 'r'))["results"]["suffixes"] filesBySuffix = dict() tools101.loopOverFiles(fun, True) filesBySuffix = filesBySuffix.items() filesBySuffix = sorted(filesBySuffix, reverse=True, key=lambda (ext, list): len(list)) dump["suffixes"] = dict() dump["suffixes"]["all"] = [ x[0] for x in filesBySuffix ] dump["suffixes"]["matched"] = [ x[0] for x in filesBySuffix if x[0] in suffixes ] dump["suffixes"]["unmatched"] = [ x[0] for x in filesBySuffix if not x[0] in suffixes ] dump["filesBySuffix"] = dict() dump["filesBySuffix"]["all"] = [ tools101.pair2json(x) for x in filesBySuffix ] dump["filesBySuffix"]["matched"] = [ tools101.pair2json(x) for x in filesBySuffix if x[0] in suffixes ] dump["filesBySuffix"]["unmatched"] = [ tools101.pair2json(x) for x in filesBySuffix if not x[0] in suffixes ] dump["numbersBySuffix"] = dict() dump["numbersBySuffix"]["all"] = [ tools101.pair2json((x, len(y))) for (x, y) in filesBySuffix ] dump["numbersBySuffix"]["matched"] = [ tools101.pair2json((x, len(y))) for (x, y) in filesBySuffix if x in suffixes ] dump["numbersBySuffix"]["unmatched"] = [ tools101.pair2json((x, len(y))) for (x, y) in filesBySuffix if not x in suffixes ] dump["numbersOfSuffixes"] = dict()
try: index = json.load(subdirFile) subdirFile.close() for key in result: if key == 'refinedTokens': addRefinedTokensDir(result, index) else: addDir(result, key, subdirname, index) except IOError: pass # Dumping the index result["dirs"] = dirs result["files"] = files resultFile = open(os.path.join(const101.tRoot, dirname, "index.json"), 'w') resultFile.write(json.dumps(result)) resultFile.close() # Dumping the file index fileresult = dict() fileresult["dirs"] = dirs fileresult["files"] = files fileresultFile = open(os.path.join(const101.tRoot, dirname, "fileindex.json"), 'w') fileresultFile.write(json.dumps(fileresult)) fileresultFile.close() resolution = json.load(open(const101.resolutionDump, 'r'))["results"] tools101.loopOverFiles(fun, False) print "" exit(0)