1
0
mirror of https://github.com/golang/go synced 2024-11-25 08:07:57 -07:00

don't report a couple of meaningless errors in command-line mode

R=rsc
CC=golang-dev
https://golang.org/cl/199045
This commit is contained in:
Robert Griesemer 2010-02-01 16:13:58 -08:00
parent d2fc5d68da
commit e37495368c
2 changed files with 8 additions and 7 deletions

View File

@ -1036,12 +1036,13 @@ type httpHandler struct {
} }
// getPageInfo returns the PageInfo for a given package directory. // getPageInfo returns the PageInfo for a package directory path. If the
// parameter try is true, no errors are logged if getPageInfo fails.
// If there is no corresponding package in the directory, // If there is no corresponding package in the directory,
// PageInfo.PDoc is nil. If there are no subdirectories, // PageInfo.PDoc is nil. If there are no subdirectories,
// PageInfo.Dirs is nil. // PageInfo.Dirs is nil.
// //
func (h *httpHandler) getPageInfo(path string) PageInfo { func (h *httpHandler) getPageInfo(path string, try bool) PageInfo {
// the path is relative to h.fsroot // the path is relative to h.fsroot
dirname := pathutil.Join(h.fsRoot, path) dirname := pathutil.Join(h.fsRoot, path)
@ -1066,11 +1067,11 @@ func (h *httpHandler) getPageInfo(path string) PageInfo {
// get package AST // get package AST
pkgs, err := parser.ParseDir(dirname, filter, parser.ParseComments) pkgs, err := parser.ParseDir(dirname, filter, parser.ParseComments)
if err != nil { if err != nil && !try {
// TODO: errors should be shown instead of an empty directory // TODO: errors should be shown instead of an empty directory
log.Stderrf("parser.parseDir: %s", err) log.Stderrf("parser.parseDir: %s", err)
} }
if len(pkgs) != 1 { if len(pkgs) != 1 && !try {
// TODO: should handle multiple packages // TODO: should handle multiple packages
log.Stderrf("parser.parseDir: found %d packages", len(pkgs)) log.Stderrf("parser.parseDir: found %d packages", len(pkgs))
} }
@ -1110,7 +1111,7 @@ func (h *httpHandler) ServeHTTP(c *http.Conn, r *http.Request) {
path := r.URL.Path path := r.URL.Path
path = path[len(h.pattern):] path = path[len(h.pattern):]
info := h.getPageInfo(path) info := h.getPageInfo(path, false)
var buf bytes.Buffer var buf bytes.Buffer
if r.FormValue("f") == "text" { if r.FormValue("f") == "text" {

View File

@ -220,11 +220,11 @@ func main() {
packageText = packageHTML packageText = packageHTML
} }
info := pkgHandler.getPageInfo(flag.Arg(0)) info := pkgHandler.getPageInfo(flag.Arg(0), true)
if info.PDoc == nil && info.Dirs == nil { if info.PDoc == nil && info.Dirs == nil {
// try again, this time assume it's a command // try again, this time assume it's a command
info = cmdHandler.getPageInfo(flag.Arg(0)) info = cmdHandler.getPageInfo(flag.Arg(0), false)
} }
if info.PDoc != nil && flag.NArg() > 1 { if info.PDoc != nil && flag.NArg() > 1 {