This documentation is automatically generated by online-judge-tools/verification-helper
View the Project on GitHub ningenMe/compro-library
package model import ( "strings" ) type FileNode struct { Path string DirectoryName string Files []string FileNodes []FileNode } const ( straight = "│ " normalBranch = "├──" lastBranch = "└──" blank = " " ) func (fileNode *FileNode) GetTreeStrings() []string { treeStrings := []string{} treeStrings = append(treeStrings, fileNode.DirectoryName) fileNode.addTreeString(&treeStrings, "") return treeStrings } func (fileNode *FileNode) addTreeString(treeStringsPointer *[]string, prefix string) { fileLength := len(fileNode.Files) directoryLength := len(fileNode.FileNodes) existDirectory := directoryLength > 0 for index, file := range fileNode.Files { *treeStringsPointer = append(*treeStringsPointer, prefix+getFileBranch(index, fileLength, existDirectory)+" "+file) } for index, childrenFileNode := range fileNode.FileNodes { *treeStringsPointer = append(*treeStringsPointer, prefix+getDirectoryBranch(index, directoryLength)+" "+childrenFileNode.DirectoryName) if strings.HasPrefix(childrenFileNode.DirectoryName, ".") { continue } childrenFileNode.addTreeString(treeStringsPointer, prefix+getAdditionalPrefix(index, directoryLength)) } } func getFileBranch(index int, length int, existDirectory bool) string { if existDirectory { return normalBranch } if index+1 != length { return normalBranch } return lastBranch } func getDirectoryBranch(index int, length int) string { if index+1 != length { return normalBranch } return lastBranch } func getAdditionalPrefix(index int, length int) string { if index+1 != length { return straight } return blank } func (fileNode *FileNode) GetPathStrings() []string { pathStrings := []string{} fileNode.addPathString(&pathStrings) return pathStrings } func (fileNode *FileNode) addPathString(pathStringsPointer *[]string) { for _, file := range fileNode.Files { *pathStringsPointer = append(*pathStringsPointer, fileNode.Path + "/" + file) } for _, childrenFileNode := range fileNode.FileNodes { if strings.HasPrefix(childrenFileNode.DirectoryName, ".") { continue } childrenFileNode.addPathString(pathStringsPointer) } }
Traceback (most recent call last): File "/opt/hostedtoolcache/Python/3.10.12/x64/lib/python3.10/site-packages/onlinejudge_verify/documentation/build.py", line 71, in _render_source_code_stat bundled_code = language.bundle(stat.path, basedir=basedir, options={'include_paths': [basedir]}).decode() File "/opt/hostedtoolcache/Python/3.10.12/x64/lib/python3.10/site-packages/onlinejudge_verify/languages/user_defined.py", line 68, in bundle raise RuntimeError('bundler is not specified: {}'.format(str(path))) RuntimeError: bundler is not specified: snippet/model/file_node.go