aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMiran <narimiran@disroot.org>2019-01-09 19:04:06 +0100
committergenotrance <dev@genotrance.com>2019-01-09 12:04:06 -0600
commit79a4452e1d1e7716875d3fcbfd5a94954de91fdd (patch)
treee37ba7cf2c4e390bf3ef8d522a93ec6d301d3ead
parentfc4a1761a5149737a4d46f5228b2fff58926330f (diff)
downloadpackages-79a4452e1d1e7716875d3fcbfd5a94954de91fdd.tar.gz
packages-79a4452e1d1e7716875d3fcbfd5a94954de91fdd.zip
no nil strings anymore (#985)
Looks good
-rw-r--r--package_scanner.nim24
1 files changed, 4 insertions, 20 deletions
diff --git a/package_scanner.nim b/package_scanner.nim
index 0a8a572..78c4f0b 100644
--- a/package_scanner.nim
+++ b/package_scanner.nim
@@ -25,7 +25,6 @@ import sets
import strutils
const
-
LICENSES = @[
"Allegro 4 Giftware",
"Apache License 2.0",
@@ -47,7 +46,6 @@ const
"ISC",
"Unlicense"
]
-
VCS_TYPES = @["git", "hg"]
proc canFetchNimbleRepository(name: string, urlJson: JsonNode): bool =
@@ -80,57 +78,43 @@ proc verifyAlias(pdata: JsonNode, result: var int) =
# TODO: Verify that 'alias' points to a known package.
proc check(): int =
- var
- name: string
-
+ var name: string
echo ""
-
- let
- pkg_list = parseJson(readFile(getCurrentDir() / "packages.json"))
-
+ let pkg_list = parseJson(readFile(getCurrentDir() / "packages.json"))
var names = initSet[string]()
for pdata in pkg_list:
- name = if pdata.hasKey("name"): pdata["name"].str else: nil
+ name = if pdata.hasKey("name"): pdata["name"].str else: ""
if pdata.hasKey("alias"):
verifyAlias(pdata, result)
else:
- if name.isNil:
+ if name == "":
echo "E: missing package name"
result.inc()
-
elif not pdata.hasKey("method"):
echo "E: ", name, " has no method"
result.inc()
-
elif not (pdata["method"].str in VCS_TYPES):
echo "E: ", name, " has an unknown method: ", pdata["method"].str
result.inc()
-
elif not pdata.hasKey("url"):
echo "E: ", name, " has no URL"
result.inc()
-
elif pdata.hasKey("web") and not canFetchNimbleRepository(name, pdata["web"]):
result.inc()
-
elif not pdata.hasKey("tags"):
echo "E: ", name, " has no tags"
result.inc()
-
elif not pdata.hasKey("description"):
echo "E: ", name, " has no description"
result.inc()
-
elif not pdata.hasKey("license"):
echo "E: ", name, " has no license"
result.inc()
-
elif pdata["url"].str.normalize.startsWith("git://github.com/"):
echo "E: ", name, " has an insecure git:// URL instead of https://"
result.inc()
-
else:
# Other warnings should go here
if not (pdata["license"].str in LICENSES):