atlas: search improvements (#21929)

* Get description and license from github json response

* Allow running `atlas search` outside of a workspace

* Check `len` instead of `dirExists`

* make `list` identical to `search`
This commit is contained in:
Gruruya
2023-05-27 00:54:21 -04:00
committed by GitHub
parent 2beea72810
commit 09f36f5198
2 changed files with 8 additions and 5 deletions

View File

@@ -756,10 +756,10 @@ proc main =
c.workspace = detectWorkspace()
if c.workspace.len > 0:
readConfig c
else:
echo "Using workspace ", c.workspace
elif action notin ["search", "list"]:
error "No workspace found. Run `atlas init` if you want this current directory to be your workspace."
return
echo "Using workspace ", c.workspace
when MockupRun:
c.depsDir = c.workspace
@@ -807,8 +807,10 @@ proc main =
noArgs()
updatePackages(c)
of "search", "list":
updatePackages(c)
search getPackages(c.workspace), args
if c.workspace.len != 0:
updatePackages(c)
search getPackages(c.workspace), args
else: search @[], args
of "updateprojects":
updateDir(c, c.workspace, if args.len == 0: "" else: args[0])
of "updatedeps":

View File

@@ -92,7 +92,8 @@ proc githubSearch(seen: var HashSet[string]; terms: seq[string]) =
url: j.getOrDefault("html_url").getStr,
downloadMethod: "git",
tags: toTags(j.getOrDefault("topics")),
description: "<none>, not listed in packages.json",
description: j.getOrDefault("description").getStr,
license: j.getOrDefault("license").getOrDefault("spdx_id").getStr,
web: j.getOrDefault("html_url").getStr
)
if not seen.containsOrIncl(p.url):