Skip to content

Instantly share code, notes, and snippets.

@z-------------
Last active April 7, 2021 16:10
Show Gist options
  • Select an option

  • Save z-------------/d71c152f558ccc28a920238c9db7c474 to your computer and use it in GitHub Desktop.

Select an option

Save z-------------/d71c152f558ccc28a920238c9db7c474 to your computer and use it in GitHub Desktop.
import os
import crc32
import strformat
import strutils
import nre except toSeq
import ../lib/die
let pat = re(r".*\[([0-9A-Fa-f]{8})\].*")
if paramCount() == 0:
die("No filename provided.")
let filename = joinPath(getCurrentDir(), paramStr(1))
if not existsFile(filename):
die(&"File '{filename}' doesn't exist.")
let digest = crc32FromFile(filename).toHex().toUpperAscii()
let match = filename.match(pat)
if match.isSome:
let expectedDigest = match.get.captures[0]
let detailsStr = &"Expected: {expectedDigest}, Actual: {digest}"
if digest == expectedDigest:
echo "OK."
else:
die(&"Fail. {detailsStr}")
else:
echo digest
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment