#!/usr/bin/python
import sys, re
-from netaddr import IPAddress
+from netaddr import IPAddress, AddrFormatError
if len(sys.argv) != 2:
print >>sys.stderr, "Usage: %s filename" % sys.argv[0]
# group 1 must be the prefix, group 2 the IP, group 3 the suffix
ipmatch = r"([0-9a-f.:]+)"
accesslog = re.compile(r"^(\S+ )"+ipmatch+r"( .*)$")
-errorlog = re.compile(r"^(.* \[client )"+ipmatch+r"(\] .*)$")
+errorlog = re.compile(r"^(.* \[client )"+ipmatch+r"(:[0-9]+\] .*)$")
while True:
line = sys.stdin.readline()
ip = ip & (IPAddress('255.255.255.0') if ip.version == 4 else IPAddress('ffff:ffff:ffff::')) # mask out a bunch of bits
# now we have a parsed representation of the IP address we want to print
log.write(prefix+str(ip)+suffix+"\n")
- except (ValueError, netaddr.core.AddrFormatError):
+ except (ValueError, AddrFormatError):
# not actually an IP address...
log.write(line)
log.flush()