From ec25d9f12cd94407476a2d12c6ae31ee8ab90945 Mon Sep 17 00:00:00 2001 From: Michael Orlitzky Date: Sat, 17 Sep 2022 19:51:34 -0400 Subject: [PATCH] djbdns/dnscache.py: add docstring for decode_type(). --- djbdns/dnscache.py | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) diff --git a/djbdns/dnscache.py b/djbdns/dnscache.py index ff1e4da..a7fc56d 100644 --- a/djbdns/dnscache.py +++ b/djbdns/dnscache.py @@ -171,6 +171,39 @@ def decode_serial(words : list, i : int): words[i] = f"#{words[i]}" def decode_type(words : list, i : int): + r""" + Helper function to decode the type field in a dnscache log + entry. + + A single "type" field is present in cached, nodata, query, rr, and + tx entries. Unlike with tinydns entries, dnscache logs have + this field already in decimal, so we just look up the + corresponding name in the query type map. + + Parameters + ---------- + + words : list + A list with the "type" string at index ``i`` + + i : int + The index of the type field within ``words`` + + Returns + ------- + + Nothing; the ``i``th entry in the ``words`` list is modified + in-place. + + Examples + -------- + + >>> words = ["2", "7f000001:b848:0f0b", "16", "example.com."] + >>> decode_type(words, 2) + >>> words + ['2', '7f000001:b848:0f0b', 'txt', 'example.com.'] + + """ qt = words[i] words[i] = query_type.get(int(qt), qt) -- 2.44.2