From 7e555688515a3d9f2fa5b89e23f78c24f825fef8 Mon Sep 17 00:00:00 2001 From: Noah Levitt Date: Tue, 5 Sep 2017 12:20:22 -0700 Subject: [PATCH 1/4] fix --playback-port option (https://github.com/internetarchive/warcprox/issues/29) --- setup.py | 2 +- warcprox/main.py | 7 +++---- warcprox/playback.py | 3 +-- 3 files changed, 5 insertions(+), 7 deletions(-) diff --git a/setup.py b/setup.py index e1b5bd8..ca512db 100755 --- a/setup.py +++ b/setup.py @@ -50,7 +50,7 @@ except: setuptools.setup( name='warcprox', - version='2.1b1.dev94', + version='2.1b1.dev95', description='WARC writing MITM HTTP/S proxy', url='https://github.com/internetarchive/warcprox', author='Noah Levitt', diff --git a/warcprox/main.py b/warcprox/main.py index 25fb3dc..351967a 100644 --- a/warcprox/main.py +++ b/warcprox/main.py @@ -212,11 +212,10 @@ def init_controller(args): stats_db=stats_db, options=options) if args.playback_port is not None: - playback_index_db = warcprox.playback.PlaybackIndexDb(args.playback_index_db_file, options=options) + playback_index_db = warcprox.playback.PlaybackIndexDb( + args.playback_index_db_file, options=options) playback_proxy = warcprox.playback.PlaybackProxy( - server_address=(args.address, args.playback_port), ca=ca, - playback_index_db=playback_index_db, warcs_dir=args.directory, - options=options) + ca=ca, playback_index_db=playback_index_db, options=options) listeners.append(playback_index_db) else: playback_index_db = None diff --git a/warcprox/playback.py b/warcprox/playback.py index 3ee2aaa..663e10a 100644 --- a/warcprox/playback.py +++ b/warcprox/playback.py @@ -210,7 +210,6 @@ class PlaybackProxyHandler(MitmProxyHandler): class PlaybackProxy(socketserver.ThreadingMixIn, http_server.HTTPServer): logger = logging.getLogger("warcprox.playback.PlaybackProxy") - def __init__(self, ca=None, playback_index_db=None, options=warcprox.Options()): server_address = (options.address or 'localhost', options.playback_port if options.playback_port is not None else 8001) http_server.HTTPServer.__init__(self, server_address, PlaybackProxyHandler, bind_and_activate=True) @@ -231,7 +230,7 @@ class PlaybackProxy(socketserver.ThreadingMixIn, http_server.HTTPServer): class PlaybackIndexDb(object): logger = logging.getLogger("warcprox.playback.PlaybackIndexDb") - def __init__(self, file='./warcprox.sqlite'): + def __init__(self, file='./warcprox.sqlite', options=warcprox.Options()): self.file = file self._lock = threading.RLock() From db0f36c745f5a11ac4d3923d6ebe97d8358e61bb Mon Sep 17 00:00:00 2001 From: Noah Levitt Date: Tue, 5 Sep 2017 12:43:55 -0700 Subject: [PATCH 2/4] fix --size option (https://github.com/internetarchive/warcprox/issues/31) --- setup.py | 2 +- warcprox/main.py | 6 +++--- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/setup.py b/setup.py index ca512db..1720cea 100755 --- a/setup.py +++ b/setup.py @@ -50,7 +50,7 @@ except: setuptools.setup( name='warcprox', - version='2.1b1.dev95', + version='2.1b1.dev96', description='WARC writing MITM HTTP/S proxy', url='https://github.com/internetarchive/warcprox', author='Noah Levitt', diff --git a/warcprox/main.py b/warcprox/main.py index 351967a..e8b535b 100644 --- a/warcprox/main.py +++ b/warcprox/main.py @@ -80,9 +80,9 @@ def _build_arg_parser(prog=os.path.basename(sys.argv[0])): help='write gzip-compressed warc records') arg_parser.add_argument('-n', '--prefix', dest='prefix', default='WARCPROX', help='WARC filename prefix') - arg_parser.add_argument('-s', '--size', dest='size', - default=1000*1000*1000, type=int, - help='WARC file rollover size threshold in bytes') + arg_parser.add_argument( + '-s', '--size', dest='rollover_size', default=1000*1000*1000, + type=int, help='WARC file rollover size threshold in bytes') arg_parser.add_argument('--rollover-idle-time', dest='rollover_idle_time', default=None, type=int, help="WARC file rollover idle time threshold in seconds (so that Friday's last open WARC doesn't sit there all weekend waiting for more data)") From 3003c46c10de99f134ab3f527d5cc48d400ba569 Mon Sep 17 00:00:00 2001 From: Noah Levitt Date: Thu, 7 Sep 2017 10:33:21 -0700 Subject: [PATCH 3/4] https://github.com/internetarchive/warcprox/pull/32 warrants a version bump --- setup.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/setup.py b/setup.py index 0947310..e1086fa 100755 --- a/setup.py +++ b/setup.py @@ -49,7 +49,7 @@ except: setuptools.setup( name='warcprox', - version='2.1b1.dev96', + version='2.2b1.dev97', description='WARC writing MITM HTTP/S proxy', url='https://github.com/internetarchive/warcprox', author='Noah Levitt', From b89f834ce37a2b317e55d0517934dcd49137b5ae Mon Sep 17 00:00:00 2001 From: Noah Levitt Date: Thu, 7 Sep 2017 12:01:51 -0700 Subject: [PATCH 4/4] no SIGQUIT on windows, so no SIGQUIT handler --- setup.py | 2 +- warcprox/main.py | 6 +++++- 2 files changed, 6 insertions(+), 2 deletions(-) diff --git a/setup.py b/setup.py index e1086fa..20fceb2 100755 --- a/setup.py +++ b/setup.py @@ -49,7 +49,7 @@ except: setuptools.setup( name='warcprox', - version='2.2b1.dev97', + version='2.2b1.dev98', description='WARC writing MITM HTTP/S proxy', url='https://github.com/internetarchive/warcprox', author='Noah Levitt', diff --git a/warcprox/main.py b/warcprox/main.py index 1180339..b4dc2e5 100644 --- a/warcprox/main.py +++ b/warcprox/main.py @@ -268,7 +268,11 @@ def real_main(args): signal.signal(signal.SIGTERM, lambda a,b: controller.stop.set()) signal.signal(signal.SIGINT, lambda a,b: controller.stop.set()) - signal.signal(signal.SIGQUIT, dump_state) + try: + signal.signal(signal.SIGQUIT, dump_state) + except AttributeError: + # SIGQUIT does not exist on some platforms (windows) + pass controller.run_until_shutdown()