]> gitweb.michael.orlitzky.com - djbdns-logparse.git/commitdiff
djbdns/dnscache.py: add docstring for decode_type().
authorMichael Orlitzky <michael@orlitzky.com>
Sat, 17 Sep 2022 23:51:34 +0000 (19:51 -0400)
committerMichael Orlitzky <michael@orlitzky.com>
Sat, 17 Sep 2022 23:51:34 +0000 (19:51 -0400)
djbdns/dnscache.py

index ff1e4da66490aa27187710fe92168fb641259b31..a7fc56d3abb3a67066574ca09e78acd14dd470e6 100644 (file)
@@ -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)