Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
9 changes: 8 additions & 1 deletion tests/test_util.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,9 @@
import os
import zipfile, json, gzip, hashlib
from io import BytesIO
from unittest.mock import patch

from wacz.util import hash_stream, validateJSON
from wacz.util import get_py_wacz_version, hash_stream, validateJSON

TEST_DIR = os.path.join(os.path.dirname(os.path.realpath(__file__)), "fixtures")

Expand All @@ -30,6 +31,12 @@ def test_util_validate_json_fail(self):
"""validate json method should fail with valid json"""
self.assertFalse(validateJSON('test": "test"}'))

def test_get_py_wacz_version(self):
"""Get package version from installed package metadata"""
with patch("wacz.util.package_version", return_value="0.5.0") as mock_version:
self.assertEqual(get_py_wacz_version(), "0.5.0")
mock_version.assert_called_once_with("wacz")


if __name__ == "__main__":
unittest.main()
2 changes: 1 addition & 1 deletion wacz/main.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
from argparse import ArgumentParser, RawTextHelpFormatter
from io import BytesIO, StringIO, TextIOWrapper
import os, json, datetime, shutil, zipfile, sys, gzip, pkg_resources
import os, json, datetime, shutil, zipfile, sys, gzip
from wacz.waczindexer import WACZIndexer
from wacz.util import now, WACZ_VERSION, construct_passed_pages_dict
from wacz.validate import Validation, OUTDATED_WACZ
Expand Down
8 changes: 6 additions & 2 deletions wacz/util.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,10 @@
import hashlib, datetime, json, os
try:
from importlib.metadata import version as package_version
except ImportError:
from importlib_metadata import version as package_version

from warcio.timeutils import iso_date_to_timestamp
import pkg_resources

WACZ_VERSION = "1.1.1"

Expand Down Expand Up @@ -36,7 +40,7 @@ def check_http_and_https(url, ts, pages_dict):

def get_py_wacz_version():
"""Get version of the py-wacz package"""
return pkg_resources.get_distribution("wacz").version
return package_version("wacz")


def hash_stream(hash_type, stream):
Expand Down
2 changes: 1 addition & 1 deletion wacz/validate.py
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
import tempfile, os, zipfile, json, pathlib, pkg_resources, gzip
import tempfile, os, zipfile, json, pathlib, gzip
from frictionless import validate
from wacz.util import hash_stream, now
from wacz.waczindexer import WACZIndexer
Expand Down