From ca0197330de282f762c819675d327348b99a19b0 Mon Sep 17 00:00:00 2001
From: Vangelis Banos <vangelis@archive.org>
Date: Wed, 8 Jan 2020 21:19:48 +0000
Subject: [PATCH] Add port to custom WARC filename vars

---
 warcprox/main.py   | 2 +-
 warcprox/writer.py | 5 +++--
 2 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/warcprox/main.py b/warcprox/main.py
index 3afc1bb..2ba41b3 100644
--- a/warcprox/main.py
+++ b/warcprox/main.py
@@ -93,7 +93,7 @@ def _build_arg_parser(prog='warcprox', show_hidden=False):
             default='./warcs', help='where to write warcs')
     arg_parser.add_argument('--warc-filename', dest='warc_filename',
             default='{prefix}-{timestamp17}-{serialno}-{randomtoken}',
-            help='define custom WARC filename with variables {prefix}, {timestamp14}, {timestamp17}, {serialno}, {randomtoken}, {hostname}, {shorthostname}')
+            help='define custom WARC filename with variables {prefix}, {timestamp14}, {timestamp17}, {serialno}, {randomtoken}, {hostname}, {shorthostname}, {port}')
     arg_parser.add_argument('-z', '--gzip', dest='gzip', action='store_true',
             help='write gzip-compressed warc records')
     hidden.add_argument(
diff --git a/warcprox/writer.py b/warcprox/writer.py
index cc44be2..6926939 100644
--- a/warcprox/writer.py
+++ b/warcprox/writer.py
@@ -51,6 +51,7 @@ class WarcWriter:
         self.finalname = None
         self.gzip = options.gzip or False
         self.prefix = options.prefix or 'warcprox'
+        self.port = options.port or 8000
         self.open_suffix = '' if options.no_warc_open_suffix else '.open'
         self.rollover_size = options.rollover_size or 1000000000
         self.rollover_idle_time = options.rollover_idle_time or None
@@ -67,7 +68,7 @@ class WarcWriter:
         """WARC filename is configurable with CLI parameter --warc-filename.
         Default: '{prefix}-{timestamp17}-{randomtoken}-{serialno}'
         Available variables are: prefix, timestamp14, timestamp17, serialno,
-        randomtoken, hostname, shorthostname.
+        randomtoken, hostname, shorthostname, port.
         Extension ``.warc`` or ``.warc.gz`` is appended automatically.
         """
         hostname = socket.getfqdn()
@@ -77,7 +78,7 @@ class WarcWriter:
                 timestamp17=warcprox.timestamp17(),
                 serialno='{:05d}'.format(serial),
                 randomtoken=self.randomtoken, hostname=hostname,
-                shorthostname=shorthostname)
+                shorthostname=shorthostname, port=self.port)
         if self.gzip:
             fname = fname + '.warc.gz'
         else: