func LoadList(path string, eout io.Writer) ([]*domain.Domain, error) { fin, e := os.Open(path) if e != nil { return nil, e } defer fin.Close() ret := make([]*domain.Domain, 0, 5000) lineno := 0 s := bufio.NewScanner(fin) for s.Scan() { lineno++ line := strings.TrimSpace(s.Text()) if line == "" { continue } d, e := domain.Parse(line) if e != nil { fmt.Fprintf(eout, "%s:%d: '%s': %v", path, lineno, line, e) } else { ret = append(ret, d) } } if s.Err() != nil { return ret, e } return ret, nil }
func (self *Console) ip(doms []string) { for _, s := range doms { d, e := domain.Parse(s) if e != nil { self.printError(e) continue } _, e = self.Term.T(tasks.NewIPs(d)) self.printError(e) } }
func single() { c, e := client.New() noError(e) t := term.New(c) t.Log = nil t.Out = os.Stdout for _, s := range os.Args[1:] { d, e := domain.Parse(s) if e != nil { fmt.Fprintln(os.Stderr, e) continue } fmt.Printf("// %v\n", d) _, e = t.T(tasks.NewInfo(d)) if e != nil { fmt.Fprintln(os.Stderr, e) } } }
func (s *Server) Crawl(req *Request, err *string) error { if !checkName(req.Name) { *err = "bad job name" return nil } var doms []*domain.Domain for _, d := range req.Domains { dom, e := domain.Parse(d) if e != nil { *err = e.Error() return nil } doms = append(doms, dom) } j := newJob(req.Name, doms, req.Callback) j.archive = s.archive go j.run() *err = "" // no error return nil }