diff options
Diffstat (limited to 'rhimport/fetcher.go')
-rw-r--r-- | rhimport/fetcher.go | 13 |
1 files changed, 11 insertions, 2 deletions
diff --git a/rhimport/fetcher.go b/rhimport/fetcher.go index dd4b6df..f501bc6 100644 --- a/rhimport/fetcher.go +++ b/rhimport/fetcher.go @@ -265,14 +265,22 @@ func fetchFileArchiv(ctx *Context, res *Result, uri *url.URL) (err error) { } func fetchFileLocal(ctx *Context, res *Result, uri *url.URL) (err error) { - rhl.Printf("Local fetcher called for '%s'", ctx.SourceUri) + return fetchFileDir(ctx, res, uri, ctx.conf.LocalFetchDir) +} + +func fetchFileTmp(ctx *Context, res *Result, uri *url.URL) (err error) { + return fetchFileDir(ctx, res, uri, ctx.conf.TempDir) +} + +func fetchFileDir(ctx *Context, res *Result, uri *url.URL, dir string) (err error) { + rhl.Printf("Dir fetcher called for '%s'", ctx.SourceUri) if ctx.ProgressCallBack != nil { if keep := ctx.ProgressCallBack(1, "fetching", 0.0, ctx.ProgressCallBackData); !keep { ctx.ProgressCallBack = nil } } - ctx.SourceFile = filepath.Join(ctx.conf.LocalFetchDir, path.Clean("/"+uri.Path)) + ctx.SourceFile = filepath.Join(dir, path.Clean("/"+uri.Path)) var src *os.File if src, err = os.Open(ctx.SourceFile); err != nil { res.ResponseCode = http.StatusBadRequest @@ -347,6 +355,7 @@ type FetchFunc func(*Context, *Result, *url.URL) (err error) var ( fetchers = map[string]FetchFunc{ "local": fetchFileLocal, + "tmp": fetchFileTmp, "fake": fetchFileFake, } curlProtos = map[string]bool{ |