From b47d3326f6175a3fb0b997a20b3b1daa3dc9156f Mon Sep 17 00:00:00 2001 From: KatolaZ Date: Sat, 13 Jan 2018 01:22:02 +0000 Subject: added yaml config file --- d1pkgweb.go | 48 +++++++++++++++++++++++++++--------------------- 1 file changed, 27 insertions(+), 21 deletions(-) (limited to 'd1pkgweb.go') diff --git a/d1pkgweb.go b/d1pkgweb.go index 89fa764..09fe675 100644 --- a/d1pkgweb.go +++ b/d1pkgweb.go @@ -2,10 +2,11 @@ package main import ( "bufio" + "compress/gzip" "d1pkgweb/deb822" "fmt" + "net/http" "os" - "strings" ) func main() { @@ -17,29 +18,34 @@ func main() { return } - fnames := args[1:] - for _, fname := range fnames { - nameComps := strings.Split(fname, "_") - suite := nameComps[3] - component := nameComps[4] - f, err := os.Open(fname) - if err != nil { - defer f.Close() - } - if err != nil { - fmt.Printf("Error opening file %s\n", fname) + confFile := args[1] + conf := readConfig(confFile) - } else { - r := bufio.NewScanner(f) + //fmt.Printf("Got config: %s\n", *conf) - if r != nil { - for s, err := deb822.ScanStanza(r); s["Package"] != ""; s, err = deb822.ScanStanza(r) { - if err == nil { - deb822.Stanza2HtmlPage(s, pkgTempl, ".", suite, component) - } else { - fmt.Printf("error: %s\n", err) + for _, relCfg := range conf.PkgSets { // For each release... + for _, suiteCfg := range relCfg.Suites { // For each suite of the release + suite := suiteCfg.Name + for _, component := range suiteCfg.Components { // For each component in the suite + fullURL := fmt.Sprintf("%s/%s", relCfg.RepoURL, component.URL) + fmt.Fprintf(os.Stderr, "Processing: %s\n", fullURL) + f, err := http.Get(fullURL) + if err != nil { + fmt.Fprintf(os.Stderr, "...Ignoring %s\n", fullURL) + } else { + uncompressed, err := gzip.NewReader(f.Body) + if err != nil { + fmt.Fprintf(os.Stderr, "error uncompressing %s\n", fullURL) + continue + } + r := bufio.NewScanner(uncompressed) + for s, err := deb822.ScanStanza(r); s["Package"] != ""; s, err = deb822.ScanStanza(r) { + if err == nil { + deb822.Stanza2HtmlPage(s, pkgTempl, ".", suite, component.Name) + } else { + fmt.Printf("error: %s\n", err) + } } - //WriteFiles(s, num, "./files/") } } } -- cgit v1.2.3