--- /dev/null
+#!/usr/bin/env python3
+# run from a build_machine
+
+import requests
+from os import path
+import hashlib
+
+file1 = requests.get("https://files.pushshift.io/reddit/submissions/sha256sums.txt").text
+file2 = requests.get("https://files.pushshift.io/reddit/submissions/old_v1_data/sha256sums.txt").text
+dumpdir = "/gscratch/comdata/raw_data/reddit_dumps/submissions"
+
+for l in file1.strip().split('\n') + file2.strip().split('\n'):
+ sha256_hash = hashlib.sha256()
+ parts = l.split(' ')
+
+ correct_sha256 = parts[0]
+ filename = parts[-1]
+ print(f"checking {filename}")
+ fpath = path.join(dumpdir,filename)
+ if path.isfile(fpath):
+ with open(fpath,'rb') as f:
+ for byte_block in iter(lambda: f.read(4096),b""):
+ sha256_hash.update(byte_block)
+
+ if sha256_hash.hexdigest() == correct_sha256:
+ print(f"{filename} checks out")
+ else:
+ print(f"ERROR! {filename} has the wrong hash. Redownload and recheck!")
+ else:
+ print(f"Skipping {filename} as it doesn't exist")
+