Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Spm funcs fixes #9

Open
wants to merge 2 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions first-validation
Submodule first-validation added at ee92c1
16 changes: 14 additions & 2 deletions first_validation.py
Original file line number Diff line number Diff line change
Expand Up @@ -31,7 +31,9 @@ def hash_for_fname(fname):
# Convert a string filename to a Path object.
fpath = Path(fname)
# Your code here.
return 'not-really-the-hash'
contents = fpath.read_bytes()
hash_value = sha1(contents).hexdigest()
return hash_value


# Fill in the function above to make the test below pass.
Expand All @@ -48,13 +50,23 @@ def check_hashes(hash_fname):
# Directory containing hash filenames file.
data_dir = hash_pth.parent
# Read in text for hash filename
hashes_text = hash_pth.read_text()
# Split into lines.
hash_text = hashes_text.split("\n")[:-1]
# For each line:
# Split each line into expected_hash and filename
# Calculate actual hash for given filename.
# Check actual hash against expected hash
# Return False if any of the hashes do not match.
return False
for lines in hash_text:
line = lines.split(' ')
expected_hash = line[0]
fname = data_dir / line[1]
calc_hash = hash_for_fname(fname)
if not calc_hash == expected_hash:
return False

return True


assert check_hashes(hashes_pth), 'Check hash list does not return True'