diff --git a/setup.py b/setup.py index 7c7185f..9881520 100755 --- a/setup.py +++ b/setup.py @@ -2,7 +2,7 @@ ''' setup.py - setuptools installation configuration for warcprox -Copyright (C) 2013-2019 Internet Archive +Copyright (C) 2013-2020 Internet Archive This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License @@ -44,7 +44,7 @@ except: setuptools.setup( name='warcprox', - version='2.4.21', + version='2.4.24', description='WARC writing MITM HTTP/S proxy', url='https://github.com/internetarchive/warcprox', author='Noah Levitt', diff --git a/warcprox/controller.py b/warcprox/controller.py index 84c3b93..8d670cb 100644 --- a/warcprox/controller.py +++ b/warcprox/controller.py @@ -111,7 +111,7 @@ class Factory: assert hasattr(plugin, 'notify') ^ hasattr(plugin, '_startup') return plugin except Exception as e: - logging.fatal('problem with plugin class %r: %s', qualname, e) + logging.fatal('problem with plugin class %r', qualname, exc_info=1) sys.exit(1) @staticmethod diff --git a/warcprox/dedup.py b/warcprox/dedup.py index 17b332b..8227aa7 100644 --- a/warcprox/dedup.py +++ b/warcprox/dedup.py @@ -26,7 +26,6 @@ import os import json from hanzo import warctools import warcprox -import trough.client import sqlite3 import doublethink import datetime @@ -500,13 +499,14 @@ class TroughDedupDb(DedupDb, DedupableMixin): SCHEMA_SQL = ('create table dedup (\n' ' digest_key varchar(100) primary key,\n' ' url varchar(2100) not null,\n' - ' date datetime not null,\n' + ' date varchar(100) not null,\n' ' id varchar(100));\n') # warc record id WRITE_SQL_TMPL = ('insert or ignore into dedup\n' '(digest_key, url, date, id)\n' 'values (%s, %s, %s, %s);') def __init__(self, options=warcprox.Options()): + import trough.client DedupableMixin.__init__(self, options) self.options = options self._trough_cli = trough.client.TroughClient( diff --git a/warcprox/main.py b/warcprox/main.py index d61e6b1..3afc1bb 100644 --- a/warcprox/main.py +++ b/warcprox/main.py @@ -302,6 +302,7 @@ def main(argv=None): else: loglevel = logging.INFO + logging.root.handlers = [] logging.basicConfig( stream=sys.stdout, level=loglevel, format=( '%(asctime)s %(process)d %(levelname)s %(threadName)s '