From 6c824d9e5390e714dc4559e0db63c137f4ae4345 Mon Sep 17 00:00:00 2001 From: Paul Tremberth Date: Tue, 24 Nov 2015 17:22:44 +0100 Subject: [PATCH 1/3] Use pkgutil to load video_reqs.json --- steve/util.py | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/steve/util.py b/steve/util.py index 87e2f6c..8cba683 100644 --- a/steve/util.py +++ b/steve/util.py @@ -10,6 +10,7 @@ import datetime import json import os +import pkgutil import string import sys import textwrap @@ -301,10 +302,8 @@ def generate_filename(text): def get_video_requirements(): - fn = os.path.join(os.path.dirname(__file__), 'video_reqs.json') - fp = open(fn) - data = json.load(fp) - fp.close() + binary_json_string = pkgutil.get_data('steve', 'video_reqs.json') + data = json.loads(binary_json_string.decode('UTF-8')) return data From 6a26a23307da80cb87357f0027022cde83338396 Mon Sep 17 00:00:00 2001 From: Paul Tremberth Date: Tue, 24 Nov 2015 17:42:49 +0100 Subject: [PATCH 2/3] Add test for get_video_requirements() using pkgutil --- tests/test_utils.py | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/tests/test_utils.py b/tests/test_utils.py index 8421e64..b1b6997 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -10,6 +10,7 @@ from steve.util import ( get_video_id, + get_video_requirements, html_to_markdown, is_youtube, SteveException, @@ -162,3 +163,10 @@ def test_get_video_id(): for url in data: with pytest.raises(SteveException): get_video_id(url) + + +def test_get_video_id(): + # Test fetching video_reqs.json from package + data = get_video_requirements() + assert type(data) == list + assert len(data) > 0 From d0c2d3de80de4c72eb9b2da9da09e1611b636cfd Mon Sep 17 00:00:00 2001 From: Paul Tremberth Date: Thu, 26 Nov 2015 00:21:26 +0100 Subject: [PATCH 3/3] Fix test name --- tests/test_utils.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/tests/test_utils.py b/tests/test_utils.py index b1b6997..87e6517 100644 --- a/tests/test_utils.py +++ b/tests/test_utils.py @@ -165,7 +165,7 @@ def test_get_video_id(): get_video_id(url) -def test_get_video_id(): +def test_get_video_requirements(): # Test fetching video_reqs.json from package data = get_video_requirements() assert type(data) == list