diff --git a/bin/reader.go b/bin/reader.go index e3358bd..f921816 100644 --- a/bin/reader.go +++ b/bin/reader.go @@ -5,6 +5,8 @@ import ( "log" "net/http" "os" + "io" + "strings" "github.com/nkanaev/yarr/src/reader" ) @@ -15,13 +17,23 @@ func main() { return } url := os.Args[1] - res, err := http.Get(url) - if err != nil { - log.Fatalf("failed to get url %s: %s", url, err) - } - defer res.Body.Close() + var r io.Reader - content, err := reader.ExtractContent(res.Body) + if strings.HasPrefix(url, "http") { + res, err := http.Get(url) + if err != nil { + log.Fatalf("failed to get url %s: %s", url, err) + } + r = res.Body + } else { + var err error + r, err = os.Open(url) + if err != nil { + log.Fatalf("failed to open file: %s", err) + } + } + + content, err := reader.ExtractContent(r) if err != nil { log.Fatalf("failed to extract content: %s", err) }