diff options
| -rw-r--r-- | d1pkgweb-query.go | 19 | 
1 files changed, 17 insertions, 2 deletions
| diff --git a/d1pkgweb-query.go b/d1pkgweb-query.go index fe2d099..bfb36fe 100644 --- a/d1pkgweb-query.go +++ b/d1pkgweb-query.go @@ -31,7 +31,14 @@ var resTempl = `  <body>  <form method="GET" action="/cgi-bin/d1pkgweb-query"> -Search Devuan Packages for: <input type="text" name="search"/> +Search Devuan Packages for: <input type="text" name="search"/> in release  +<select name="release"> +<option value="jessie" selected>Jessie 1.0.0</option> +<option value="ascii" >Ascii</option> +<option value="ceres" >Ceres (unstable) 1.0.0</option> +<option value="experimental" >Experimental 1.0.0</option> +<option value="any" >Any</option> +</select>  <input type="submit" value="Go!"/>  </form> @@ -52,6 +59,13 @@ Search Devuan Packages for: <input type="text" name="search"/>  ` +var releaseMap = map[string]string{ +	"jessie":       "index_jessie.txt", +	"ascii":        "index_ascii.txt", +	"ceres":        "index_ceres.txt", +	"experimental": "index_experimental.txt", +	"any":          "index.txt"} +  func printError(errCode int, errMsg string) {  	fmt.Printf("Status:%d %s\r\n", errCode, errMsg) @@ -101,6 +115,7 @@ func getResults(req http.Request) (ResultPage, error) {  	req.ParseForm()  	searchQuery := req.Form["search"] +	release := req.Form["release"]  	if len(searchQuery) < 1 {  		printError(503, fmt.Sprintf("Something went wrong in parsing query...\r\n%s\r\n", req.Form))  		os.Exit(0) @@ -116,7 +131,7 @@ func getResults(req http.Request) (ResultPage, error) {  	commands := make([]*exec.Cmd, 0)  	cmd := "grep" -	args := []string{QueryTerms[0], "index.txt"} +	args := []string{QueryTerms[0], releaseMap[release]}  	commands = append(commands, exec.Command(cmd, args...)) | 
