Example #1
0
 def buildCrossReference(self,
                         xindexLogDir,
                         codeRepositDir,
                         docRepositDir,
                         filemanSchemaDir=None):
     logParser = CallerGraphLogFileParser()
     packagesDir = os.path.join(codeRepositDir, "Packages")
     logParser.parsePercentRoutineMappingFile(
         os.path.join(docRepositDir, "PercentRoutineMapping.csv"))
     logParser.parsePackagesFile(
         os.path.join(codeRepositDir, "Packages.csv"))
     logParser.parsePlatformDependentRoutineFile(
         os.path.join(docRepositDir, "PlatformDependentRoutine.csv"))
     logParser.findGlobalsBySourceV2(packagesDir, "*/Globals/*.zwr")
     routineFilePattern = "*/Routines/*.m"
     logParser.findPackagesAndRoutinesBySource(packagesDir,
                                               routineFilePattern)
     logParser.parsePackageDocumentationLink(
         os.path.join(docRepositDir, "PackageToVDL.csv"))
     callLogPattern = "*.log"
     logParser.parseAllCallerGraphLog(xindexLogDir, callLogPattern)
     if filemanSchemaDir:
         dataDictLogParser = DataDictionaryListFileLogParser(
             logParser.getCrossReference())
         dataDictLogParser.parseAllDataDictionaryListLog(
             filemanSchemaDir, "*.schema")
         dataDictLogParser.parseAllDataDictionaryListLog(
             filemanSchemaDir, ".*.schema")
     logParser.getCrossReference().generateAllPackageDependencies()
     return logParser.getCrossReference()
Example #2
0
import logging
from CallerGraphParser import CallerGraphLogFileParser
if __name__ == '__main__':
    parser = argparse.ArgumentParser(
        description='VistA Cross-Reference Data Dictionary Log Files Parser')
    parser.add_argument('-l',
                        required=True,
                        dest='logFileDir',
                        help='Input Data Dictionary log files directory')
    parser.add_argument('-r',
                        required=True,
                        dest='repositDir',
                        help='VistA Git Repository Directory')
    parser.add_argument('-d',
                        required=True,
                        dest='docRepositDir',
                        help='VistA Cross-Reference Git Repository Directory')
    result = vars(parser.parse_args())
    initConsoleLogging()
    logFileParser = CallerGraphLogFileParser()
    logFileParser.parsePackagesFile(
        os.path.join(result['repositDir'], "Packages.csv"))
    logFileParser.findGlobalsBySourceV2(
        os.path.join(result['repositDir'], "Packages"), "*/Globals/*.zwr")
    DDFileParser = DataDictionaryListFileLogParser(
        logFileParser.getCrossReference())
    DDFileParser.parseAllDataDictionaryListLog(result['logFileDir'],
                                               "*.schema")
    DDFileParser.parseAllDataDictionaryListLog(result['logFileDir'],
                                               ".*.schema")