From d2e6f8ffef743c113eef804ebd9f07ff14e1dfba Mon Sep 17 00:00:00 2001 From: Itay Donanhirsh Date: Tue, 9 Feb 2021 16:58:03 -0800 Subject: [PATCH] refactor index read --- cmd/clutter/index.go | 40 +++++++++++++++++++++------------------- 1 file changed, 21 insertions(+), 19 deletions(-) diff --git a/cmd/clutter/index.go b/cmd/clutter/index.go index fffba37..7909617 100644 --- a/cmd/clutter/index.go +++ b/cmd/clutter/index.go @@ -42,29 +42,31 @@ func readIndex(c *cli.Context) (func() (*clutterindex.Entry, error), func(), err return nil, nil, fmt.Errorf("no index file exist") } -func readSpecificIndex(filename string) (src func() (*clutterindex.Entry, error), done func(), err error) { - if filename == "" { - scan, err := scanner.NewScanner(z.Named("scanner"), cfg.Scanner) - if err != nil { - return nil, nil, fmt.Errorf("new scanner: %w", err) - } +func readAdHocIndex() (func() (*clutterindex.Entry, error), error) { + scan, err := scanner.NewScanner(z.Named("scanner"), cfg.Scanner) + if err != nil { + return nil, fmt.Errorf("new scanner: %w", err) + } - elems, err := scan(".", nil) - if err != nil { - return nil, nil, fmt.Errorf("scan: %w", err) - } + elems, err := scan(".", nil) + if err != nil { + return nil, fmt.Errorf("scan: %w", err) + } - ents, err := parser.ParseElements(elems) - if err != nil { - return nil, nil, fmt.Errorf("parser: %w", err) - } + ents, err := parser.ParseElements(elems) + if err != nil { + return nil, fmt.Errorf("parser: %w", err) + } - src = clutterindex.SliceSource(clutterindex.NewIndex(ents)) - done = func() {} + return clutterindex.SliceSource(clutterindex.NewIndex(ents)), nil +} - return src, done, nil - } else if src, done, err = clutterindex.FileSource(filename); err != nil { - return nil, nil, err // do not wrap error. +func readSpecificIndex(filename string) (src func() (*clutterindex.Entry, error), done func(), err error) { + if filename == "" { + done = func() {} + src, err = readAdHocIndex() + } else { + src, done, err = clutterindex.FileSource(filename) } return