if page['page']['page']['p'] == 'Contribution': handleContribution(page['page']['page']['n'], contributions) #Third part - check namespaces findWikiEntry('namespaces', 'Namespace', 'Namespace', None, namespaces) findWikiEntry('contributions', 'Namespace', 'Contribution', 'contributions', namespaces) findWikiEntry('contributors', 'Namespace', 'Contributor', 'contributors', namespaces) findWikiEntry('languages', 'Namespace', 'Language', 'languages', namespaces) findWikiEntry('technologies', 'Namespace', 'Technology', 'technologies', namespaces) findWikiEntry('concepts', 'Namespace', 'Concept', 'concepts', namespaces) findWikiEntry('themes', 'Namespace', 'Theme', 'themes', namespaces) findWikiEntry('vocabularies', 'Namespace', 'Vocabulary', 'vocabularies', namespaces) # creation of the dump dump = dict() dump["results"] = results dump["numbers"] = dict() dump["numbers"]["numbersOfTerms"] = len(terms) dump["numbers"]["numbersOfConcepts"] = len(concepts) dump["numbers"]["numbersOfFeatures"] = len(features) dump["numbers"]["numbersOfLanguages"] = len(languages) dump["numbers"]["numbersOfTechnologies"] = len(technologies) dump["numbers"]["numbersOfContributions"] = len(contributions) dump["numbers"]["numberOfNamespaces"] = len(namespaces) dump["problems"] = problems tools101.releaseDump(dump, const101.resolutionDump)
dump["numbers"] = numbers dump["results"]["packages"] = dict() dump["results"]["packages"]["allPackages"] = sorted(list(both)) dump["results"]["packages"]["definedPackages"] = sorted(list(defined)) dump["results"]["packages"]["usedPackages"] = sorted(list(used)) dump["results"]["packages"]["matchedPackages"] = sorted(list(matched)) dump["results"]["packages"]["unmatchedPackages"] = sorted(list(unmatched)) filesByDef = filesByDef.items() filesByDef = sorted(filesByDef, reverse=True, key=lambda (pkg, list): len(list)) dump["results"]["filesByDef"] = dict() dump["results"]["filesByDef"]["allFiles"] = [ tools101.pair2json(x) for x in filesByDef ] dump["results"]["filesByDef"]["matchedFiles"] = [ tools101.pair2json(x) for x in filesByDef if x[0] in matched ] dump["results"]["filesByDef"]["unmatchedFiles"] = [ tools101.pair2json(x) for x in filesByDef if x[0] in unmatched ] filesByUse = filesByUse.items() filesByUse = sorted(filesByUse, reverse=True, key=lambda (pkg, list): len(list)) dump["results"]["filesByUse"] = dict() dump["results"]["filesByUse"]["allFiles"] = [ tools101.pair2json(x) for x in filesByUse ] dump["results"]["filesByUse"]["matchedFiles"] = [ tools101.pair2json(x) for x in filesByUse if x[0] in matched ] dump["results"]["filesByUse"]["unmatchedFiles"] = [ tools101.pair2json(x) for x in filesByUse if x[0] in unmatched ] dump["numbers"]["numberOfAllPackages"] = len(both) dump["numbers"]["numberOfDefinedPackages"] = len(defined) dump["numbers"]["numberOfUsedPackages"] = len(used) dump["numbers"]["numberOfMatchedPackages"] = len(matched) dump["numbers"]["numberOfUnmatchedPackages"] = len(unmatched) tools101.releaseDump(dump, const101.importsDump)
handleMention(unit, "feature", features, 'Feature', None) # Second part - check that contributions in the wiki actually exist (have a repository link) for page in wiki['pages']: if page['page']['page']['p'] == 'Contribution': handleContribution(page['page']['page']['n'], contributions) #Third part - check namespaces findWikiEntry('namespaces', 'Namespace', 'Namespace', None, namespaces) findWikiEntry('contributions', 'Namespace', 'Contribution', 'contributions', namespaces) findWikiEntry('contributors', 'Namespace', 'Contributor', 'contributors', namespaces) findWikiEntry('languages', 'Namespace', 'Language', 'languages', namespaces) findWikiEntry('technologies', 'Namespace', 'Technology', 'technologies', namespaces) findWikiEntry('concepts', 'Namespace', 'Concept', 'concepts', namespaces) findWikiEntry('themes', 'Namespace', 'Theme', 'themes', namespaces) findWikiEntry('vocabularies', 'Namespace', 'Vocabulary', 'vocabularies', namespaces) # creation of the dump dump = dict() dump["results"] = results dump["numbers"] = dict() dump["numbers"]["numbersOfTerms"] = len(terms) dump["numbers"]["numbersOfConcepts"] = len(concepts) dump["numbers"]["numbersOfFeatures"] = len(features) dump["numbers"]["numbersOfLanguages"] = len(languages) dump["numbers"]["numbersOfTechnologies"] = len(technologies) dump["numbers"]["numbersOfContributions"] = len(contributions) dump["numbers"]["numberOfNamespaces"] = len(namespaces) dump["problems"] = problems tools101.releaseDump(dump, const101.resolutionDump)
] dump["results"]["filesByDef"]["matchedFiles"] = [ tools101.pair2json(x) for x in filesByDef if x[0] in matched ] dump["results"]["filesByDef"]["unmatchedFiles"] = [ tools101.pair2json(x) for x in filesByDef if x[0] in unmatched ] filesByUse = filesByUse.items() filesByUse = sorted(filesByUse, reverse=True, key=lambda (pkg, list): len(list)) dump["results"]["filesByUse"] = dict() dump["results"]["filesByUse"]["allFiles"] = [ tools101.pair2json(x) for x in filesByUse ] dump["results"]["filesByUse"]["matchedFiles"] = [ tools101.pair2json(x) for x in filesByUse if x[0] in matched ] dump["results"]["filesByUse"]["unmatchedFiles"] = [ tools101.pair2json(x) for x in filesByUse if x[0] in unmatched ] dump["numbers"]["numberOfAllPackages"] = len(both) dump["numbers"]["numberOfDefinedPackages"] = len(defined) dump["numbers"]["numberOfUsedPackages"] = len(used) dump["numbers"]["numberOfMatchedPackages"] = len(matched) dump["numbers"]["numberOfUnmatchedPackages"] = len(unmatched) tools101.releaseDump(dump, const101.importsDump)