]> git.scottworley.com Git - pinch/blobdiff - pinch.py
Release 3.3.2
[pinch] / pinch.py
index 40ebf1b6248c121b1775cb2b36df3580e91334c9..c101dc333856953c1cae1f026c5630c79ef82bb1 100644 (file)
--- a/pinch.py
+++ b/pinch.py
@@ -293,14 +293,25 @@ def parse_channel(v: Verification, channel_html: str) \
     v.status(git_revision)
     v.ok()
     v.status('Verifying git commit label')
+    assert git_commit_node.previousSibling is not None
     v.result(git_commit_node.previousSibling.nodeValue == 'Git commit ')
 
     v.status('Parsing table')
     table: Dict[str, ChannelTableEntry] = {}
     for row in d.getElementsByTagName('tr')[1:]:
+        assert isinstance(
+            row.childNodes[0].firstChild, xml.dom.minidom.Element)
+        assert isinstance(
+            row.childNodes[0].firstChild.firstChild, xml.dom.minidom.Text)
         name = row.childNodes[0].firstChild.firstChild.nodeValue
+        assert name is not None
         url = row.childNodes[0].firstChild.getAttribute('href')
+        assert row.childNodes[1].firstChild is not None
+        assert row.childNodes[1].firstChild.nodeValue is not None
         size = int(row.childNodes[1].firstChild.nodeValue)
+        assert row.childNodes[2].firstChild is not None
+        assert row.childNodes[2].firstChild.firstChild is not None
+        assert row.childNodes[2].firstChild.firstChild.nodeValue is not None
         digest = Digest16(row.childNodes[2].firstChild.firstChild.nodeValue)
         table[name] = ChannelTableEntry(url=url, digest=digest, size=size)
     v.ok()
@@ -326,27 +337,18 @@ _NIX_COMMAND = ['nix', '--experimental-features', 'nix-command']
 def to_Digest16(v: Verification, digest32: Digest32) -> Digest16:
     v.status('Converting digest to base16')
     process = subprocess.run(_NIX_COMMAND + [
-        'to-base16',
-        '--type',
+        'hash',
+        'convert',
+        '--hash-algo',
         'sha256',
+        '--to',
+        'base16',
         digest32],
         stdout=subprocess.PIPE)
     v.result(process.returncode == 0)
     return Digest16(process.stdout.decode().strip())
 
 
-def to_Digest32(v: Verification, digest16: Digest16) -> Digest32:
-    v.status('Converting digest to base32')
-    process = subprocess.run(_NIX_COMMAND + [
-        'to-base32',
-        '--type',
-        'sha256',
-        digest16],
-        stdout=subprocess.PIPE)
-    v.result(process.returncode == 0)
-    return Digest32(process.stdout.decode().strip())
-
-
 def fetch_with_nix_prefetch_url(
         v: Verification,
         url: str,