z_mirror/fmm
git clone https://git.raiguard.me/z_mirror/fmm
27d8943
updating
1package fmm 2 3import ( 4"bufio" 5"fmt" 6"os" 7"strings" 8) 9 10// Returns a slice of mod names extracted from a list of mod checksums in the 11// given log file. 12func ParseLogFile (filepath string ) []ModIdent { 13var output []ModIdent 14file ,err := os .Open (filepath ) 15if err != nil { 16fmt .Fprintf (os .Stderr ,"Error reading %s: %s" ,filepath ,err ) 17return output 18 } 19defer file .Close () 20 21fileScanner := bufio .NewScanner (file ) 22fileScanner .Split (bufio .ScanLines ) 23 24inChecksums := false 25for fileScanner .Scan () { 26line := fileScanner .Text () 27if ! strings .Contains (line ,"Checksum of" ) { 28if inChecksums { 29break 30 }else { 31continue 32 } 33 } 34inChecksums = true 35parts := strings .Split (strings .TrimSpace (line )," " ) 36modName ,_ := strings .CutSuffix (strings .Join (parts [3 :len (parts )- 1 ]," " ),":" ) 37if modName == "base" { 38continue 39 } 40output = append (output ,ModIdent {Name :modName ,Version :nil }) 41 } 42 43return output 44}