summaryrefslogtreecommitdiff
path: root/rhimport/fetcher.go
diff options
context:
space:
mode:
authorChristian Pointner <equinox@spreadspace.org>2016-03-12 18:28:32 (GMT)
committerChristian Pointner <equinox@spreadspace.org>2016-03-12 18:28:32 (GMT)
commite78b3cc629ff230ddb3479a036c1858a76ee7f5a (patch)
treed8f2de86aca1aae1eaf8b7be22773f9ac09921de /rhimport/fetcher.go
parent453d7f9e7311b28802b194640792e2689073590c (diff)
returning next sourceuri when filepolicy = keep
Diffstat (limited to 'rhimport/fetcher.go')
-rw-r--r--rhimport/fetcher.go13
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{