diff options
-rw-r--r-- | d1pkgweb.go | 17 | ||||
-rw-r--r-- | deb822/package.go | 10 |
2 files changed, 23 insertions, 4 deletions
diff --git a/d1pkgweb.go b/d1pkgweb.go index 60c761f..d9f236f 100644 --- a/d1pkgweb.go +++ b/d1pkgweb.go @@ -5,6 +5,7 @@ import ( "d1pkgweb/deb822" "fmt" "os" + "strings" ) var templ = `<html> @@ -21,7 +22,13 @@ div.pkgname{ font-size: 150%; margin-top: 40px; margin-left: 40px; - border-bottom: 2px solid #444444; +} + +div.pkg_suite{ + font-size: 110%; + margin-top: 15px; + margin-left: 40px; + margin-bottom: 60px; } div.description{ @@ -60,7 +67,8 @@ li.rec_item{ </style> -<div class="pkgname">{{.Name}} {{.Version}}</div> +<div class="pkgname">{{.Name}} {{.Version}} [{{.Section}} - {{.Priority}}]</div> +<div class="pkg_suite">[{{.Suite}} - {{.Component}}]</div> <div class="description"> {{.Description}} </div> @@ -102,6 +110,9 @@ func main() { 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() @@ -115,7 +126,7 @@ func main() { if r != nil { for s, err := deb822.ScanStanza(r); s["Package"] != ""; s, err = deb822.ScanStanza(r) { if err == nil { - deb822.Stanza2HtmlPage(s, templ, ".") + deb822.Stanza2HtmlPage(s, templ, ".", suite, component) } else { fmt.Printf("error: %s\n", err) } diff --git a/deb822/package.go b/deb822/package.go index 3c1c172..9d3b1a1 100644 --- a/deb822/package.go +++ b/deb822/package.go @@ -19,6 +19,10 @@ type Package struct { Recommends []string Maintainer string Filename string + Suite string + Component string + Section string + Priority string } var regexpRemove = regexp.MustCompile("(DEVUAN/|DEBIAN/|[0-9]+:)") @@ -49,6 +53,8 @@ func NewPackage(s Stanza) (Package, error) { if len(p.Recommends) == 0 { p.Recommends = nil } + p.Section = s["Section"] + p.Priority = s["Priority"] return p, nil } @@ -67,13 +73,15 @@ func PrintPackage(p Package, templ string, out io.Writer) { /*Stanza2HtmlPage Render the html webpage of a package and save it in the /* corresponding "pool" directory. */ -func Stanza2HtmlPage(s Stanza, templ string, baseDir string) error { +func Stanza2HtmlPage(s Stanza, templ string, baseDir string, suite string, component string) error { fname := s["Filename"] if fname == "" { return fmt.Errorf("No Filename provided") } p, err := NewPackage(s) + p.Suite = suite + p.Component = component if err != nil { log.Fatal("empty package!!!") } |