diff options
author | Alan Pearce | 2025-01-15 22:25:33 +0100 |
---|---|---|
committer | Alan Pearce | 2025-01-15 22:25:33 +0100 |
commit | 7aea6aa210a8939ac208fb7540d1b46ba69a995f (patch) | |
tree | 80f8db2539289ca545eb356bf87e2b764d39c966 /internal/importer/main.go | |
parent | b26ddba432f8bde78022d2fc8837f0ffb25448b1 (diff) | |
download | searchix-7aea6aa210a8939ac208fb7540d1b46ba69a995f.tar.lz searchix-7aea6aa210a8939ac208fb7540d1b46ba69a995f.tar.zst searchix-7aea6aa210a8939ac208fb7540d1b46ba69a995f.zip |
feat: enable searching via program names for multi-program packages
implements: https://todo.sr.ht/~alanpearce/searchix/6
Diffstat (limited to 'internal/importer/main.go')
-rw-r--r-- | internal/importer/main.go | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/internal/importer/main.go b/internal/importer/main.go index 4c66501..dfa2477 100644 --- a/internal/importer/main.go +++ b/internal/importer/main.go @@ -11,6 +11,7 @@ import ( "go.alanpearce.eu/searchix/internal/config" "go.alanpearce.eu/searchix/internal/fetcher" "go.alanpearce.eu/searchix/internal/index" + "go.alanpearce.eu/searchix/internal/programs" "go.alanpearce.eu/x/log" "github.com/pkg/errors" @@ -78,6 +79,17 @@ func createSourceImporter( ) if sourceMeta.Updated.After(previousUpdate) || forceUpdate { + var pdb *programs.DB + + if source.Programs.Enable { + pdb, err = programs.Instantiate(ctx, source, log.Named("programs")) + if err != nil { + logger.Warn("programs database instantiation failed", "error", err) + } + if pdb.Path != sourceMeta.ProgramsPath { + sourceMeta.ProgramsPath = pdb.Path + } + } err = setRepoRevision(files.Revision, source) if err != nil { @@ -105,6 +117,7 @@ func createSourceImporter( files.Packages, source, logger.Named("processor"), + pdb, ) } if err != nil { |