summaryrefslogtreecommitdiff
path: root/python/clippy/uidhash.py
diff options
context:
space:
mode:
authorDavid Lamparter <equinox@opensourcerouting.org>2022-10-28 10:59:41 +0100
committerDavid Lamparter <equinox@opensourcerouting.org>2022-10-28 11:01:22 +0100
commit00f0c39903653772d72c9c0adce661508138c0b0 (patch)
treea5d3c0536c2edf4bb8ae314b7ae07bfc223597d8 /python/clippy/uidhash.py
parent3727be24a032e0577d19ccf5ad995059f7cf6d68 (diff)
python: apply black formatting
The python/ directory hasn't been shoved into black yet (unlike topotests, where most FRR python code is.) Run black over it. Signed-off-by: David Lamparter <equinox@opensourcerouting.org>
Diffstat (limited to 'python/clippy/uidhash.py')
-rw-r--r--python/clippy/uidhash.py27
1 files changed, 15 insertions, 12 deletions
diff --git a/python/clippy/uidhash.py b/python/clippy/uidhash.py
index bf994d389e..0fd886221a 100644
--- a/python/clippy/uidhash.py
+++ b/python/clippy/uidhash.py
@@ -19,13 +19,14 @@
import struct
from hashlib import sha256
-def bititer(data, bits, startbit = True):
- '''
+
+def bititer(data, bits, startbit=True):
+ """
just iterate the individual bits out from a bytes object
if startbit is True, an '1' bit is inserted at the very beginning
goes <bits> at a time, starts at LSB.
- '''
+ """
bitavail, v = 0, 0
if startbit and len(data) > 0:
v = data.pop(0)
@@ -41,31 +42,33 @@ def bititer(data, bits, startbit = True):
bitavail -= bits
v >>= bits
+
def base32c(data):
- '''
+ """
Crockford base32 with extra dashes
- '''
+ """
chs = "0123456789ABCDEFGHJKMNPQRSTVWXYZ"
- o = ''
+ o = ""
if type(data) == str:
data = [ord(v) for v in data]
else:
data = list(data)
for i, bits in enumerate(bititer(data, 5)):
if i == 5:
- o = o + '-'
+ o = o + "-"
elif i == 10:
break
o = o + chs[bits]
return o
+
def uidhash(filename, hashstr, hashu32a, hashu32b):
- '''
+ """
xref Unique ID hash used in FRRouting
- '''
- filename = '/'.join(filename.rsplit('/')[-2:])
+ """
+ filename = "/".join(filename.rsplit("/")[-2:])
- hdata = filename.encode('UTF-8') + hashstr.encode('UTF-8')
- hdata += struct.pack('>II', hashu32a, hashu32b)
+ hdata = filename.encode("UTF-8") + hashstr.encode("UTF-8")
+ hdata += struct.pack(">II", hashu32a, hashu32b)
i = sha256(hdata).digest()
return base32c(i)