]> gitweb.michael.orlitzky.com - djbdns-logparse.git/commitdiff
bin/djbdns-logparse.py: add docstring for decode_ip().
authorMichael Orlitzky <michael@orlitzky.com>
Fri, 16 Sep 2022 18:44:15 +0000 (14:44 -0400)
committerMichael Orlitzky <michael@orlitzky.com>
Fri, 16 Sep 2022 18:44:15 +0000 (14:44 -0400)
bin/djbdns-logparse.py

index 8f30e1430cbfa1e8c6f9af11e398f5159d3ebd75..f2a69b5a333a6b4fb3c421661bd158972d988144 100755 (executable)
@@ -167,6 +167,43 @@ def decode_client(words : list, i : int):
         words[i] += f" (id {id})"
 
 def decode_ip(words, i):
+    r"""
+    Helper function to decode the ip field in a dnscache log
+    entry.
+
+    A single "serverip" field is present in the lame, nodata,
+    nxdomain, and rr entry types.
+
+    Parameters
+    ----------
+
+    words : list
+        The ``words`` list (a list of fields) from
+        :func:`handle_dnscache_log`.
+
+    i : int
+        The index of the ip field within ``words``
+
+    Returns
+    -------
+
+    Nothing; the ``i``th entry in the ``words`` list is modified
+    in-place.
+
+    Examples
+    --------
+
+        >>> words = ["foo", "bar", "7f000001", "quux"]
+        >>> decode_ip(words, 2)
+        >>> words
+        ['foo', 'bar', '127.0.0.1', 'quux']
+
+        >>> words = ["foo", "00000000000000000000ffff7f000001", "bar", "quux"]
+        >>> decode_ip(words, 1)
+        >>> words
+        ['foo', '0000:0000:0000:0000:0000:ffff:7f00:0001', 'bar', 'quux']
+
+    """
     words[i] = convert_ip(words[i])
 
 def decode_ttl(words, i):