CPIPMain¶
CPIPMain.py – Preprocess the file or the files in a directory.
-
class
cpip.CPIPMain.
FigVisitorDot
(lenPrefix=0)¶ Simple visitor that collects parent/child links for plotting the graph with dot.
-
visitGraph
(theFigNode, theDepth, theLine)¶ .
-
-
class
cpip.CPIPMain.
FigVisitorLargestCommanPrefix
¶ Simple visitor that walks the tree and finds the largest common file name prefix.
-
visitGraph
(theFigNode, theDepth, theLine)¶ Capture the file name.
-
-
class
cpip.CPIPMain.
MainJobSpec
(incHandler, preDefMacros, preIncFiles, diagnostic, pragmaHandler, keepGoing, conditionalLevel, dumpList, helpMap, includeDOT, cmdLine, gccExtensions)¶ -
cmdLine
¶ Alias for field number 10
-
conditionalLevel
¶ Alias for field number 6
-
diagnostic
¶ Alias for field number 3
-
dumpList
¶ Alias for field number 7
-
gccExtensions
¶ Alias for field number 11
-
helpMap
¶ Alias for field number 8
-
incHandler
¶ Alias for field number 0
-
includeDOT
¶ Alias for field number 9
-
keepGoing
¶ Alias for field number 5
-
pragmaHandler
¶ Alias for field number 4
-
preDefMacros
¶ Alias for field number 1
-
preIncFiles
¶ Alias for field number 2
-
-
class
cpip.CPIPMain.
PpProcessResult
(ituPath, indexPath, tuIndexFileName, total_files, total_lines, total_bytes)¶ -
indexPath
¶ Alias for field number 1
-
ituPath
¶ Alias for field number 0
-
total_bytes
¶ Alias for field number 5
-
total_files
¶ Alias for field number 3
-
total_lines
¶ Alias for field number 4
-
tuIndexFileName
¶ Alias for field number 2
-
-
cpip.CPIPMain.
main
()¶ Processes command line to preprocess a file or a directory.
-
cpip.CPIPMain.
preProcessFilesMP
(dIn, dOut, jobSpec, glob, recursive, jobs)¶ Multiprocessing code to preprocess directories. Returns a count of ITUs processed.
-
cpip.CPIPMain.
preprocessDirToOutput
(inDir, outDir, jobSpec, globMatch, recursive, numJobs)¶ Pre-process all the files in a directory. Returns a count of the TUs. This uses multiprocessing where possible. Any Exception (such as a KeyboardInterupt) will terminate this function but write out an index of what has been achieved so far.
-
cpip.CPIPMain.
preprocessFileToOutput
(ituPath, outDir, jobSpec)¶ Preprocess a single file. May raise ExceptionCpip (or worse!). Returns a:
PpProcessResult(ituPath, indexPath, tuIndexFileName(ituPath) total_files, total_lines, total_bytes)
-
cpip.CPIPMain.
preprocessFileToOutputNoExcept
(ituPath, *args, **kwargs)¶ Preprocess a single file and catch all ExceptionCpip exceptions and log them.
-
cpip.CPIPMain.
retFileCountMap
(theLexer)¶ Visits the Lexers file include graph and returns a dict of: {file_name : (inclusion_count, line_count, bytes_count).
The line_count, bytes_count are obtained by reading the file.
-
cpip.CPIPMain.
retOptionMap
(theOptParser, theOpts)¶ Returns map of {opt_name : (value, help), ...} from the current options.
-
cpip.CPIPMain.
writeIndexHtml
(theItuS, theOutDir, theJobSpec, time_start, total_files, total_lines, total_bytes)¶ Writes the top level index.html page for a pre-processed file.
theOutDir - The output directory.
theTuS - The list of translation units processed.
theCmdLine - The command line as a string.
theOptMap is a map of {opt_name : (value, help), ...} from the command line options. TODO: This is fine but has too many levels of indent.
-
cpip.CPIPMain.
writeTuIndexHtml
(theOutDir, theTuPath, theLexer, theFileCountMap, theTokenCntr, hasIncDot, macroHistoryIndexName)¶ Write the index.html for a single TU.
- theOutDir
- The output directory to write to.
- theTuPath
- The path to the original ITU.
- theLexer
- The pre-processing Lexer that has pre-processed the ITU/TU.
- theFileCountMap
- dict of {file_path : data, ...} where data is things like inclusion count, lines, bytes and so on.
- theTokenCntr
cpip.core.PpTokenCount.PpTokenCount
containing the token counts.- hasIncDot
- bool to emit graphviz .dot files.
- macroHistoryIndexName
- String of the filename of the macro history.
Returns: (total_files, total_lines, total_bytes) as integers.