diff --git a/HISTORY.rst b/HISTORY.rst index 8a9dd57..7da087b 100644 --- a/HISTORY.rst +++ b/HISTORY.rst @@ -1,6 +1,14 @@ History ======= +1.3.1 (2013-10-24) +++++++++++++++++++ + +- Add `is_found` attribute for `HaulResult` +- Add `to_ordered_dict()` method for `HaulResult` +- `A demo site on Heroku `_ + + 1.3.0 (2013-10-16) ++++++++++++++++++ diff --git a/haul/__init__.py b/haul/__init__.py index 4c97ea9..5e9e178 100644 --- a/haul/__init__.py +++ b/haul/__init__.py @@ -1,6 +1,6 @@ # coding: utf-8 -__version__ = '1.3.0' +__version__ = '1.3.1' from .api import find_images from .core import Haul, HaulResult diff --git a/haul/core.py b/haul/core.py index 8de1ef6..b733afb 100644 --- a/haul/core.py +++ b/haul/core.py @@ -201,6 +201,10 @@ def __init__(self): def __repr__(self): return '' % (self.content_type) + @property + def is_found(self): + return True if len(self.finder_image_urls) > 0 else False + @property def image_urls(self): """ diff --git a/setup.py b/setup.py index 96dfd87..1890105 100644 --- a/setup.py +++ b/setup.py @@ -31,7 +31,7 @@ setup( name='haul', - version='1.3.0', + version='1.3.1', description='An Extensible Image Crawler', long_description=long_description, keywords='haul web image content scraper parser crawler', diff --git a/tests/fixtures/no_image_page.html b/tests/fixtures/no_image_page.html new file mode 100644 index 0000000..2ea4a51 --- /dev/null +++ b/tests/fixtures/no_image_page.html @@ -0,0 +1,10 @@ + + + + + Hello Haul + + +

no image

+ + diff --git a/tests/test.py b/tests/test.py index 7445803..072bc14 100644 --- a/tests/test.py +++ b/tests/test.py @@ -16,6 +16,7 @@ class HaulBaseTestCase(unittest.TestCase): def setUp(self): self.complete_html = read_file(os.path.join(TESTS_DIR, 'fixtures/page.html')) + self.no_image_html = read_file(os.path.join(TESTS_DIR, 'fixtures/no_image_page.html')) self.fragmented_html = read_file(os.path.join(TESTS_DIR, 'fixtures/fragment.html')) self.blogspot_html = read_file(os.path.join(TESTS_DIR, 'fixtures/blogspot.html')) @@ -45,6 +46,24 @@ def setUp(self): self.not_supported_url = 'https://www.youtube.com/audiolibrary_download?vid=463864fcafcbc5bc' +class HaulResultTestCase(HaulBaseTestCase): + + def setUp(self): + super(HaulResultTestCase, self).setUp() + + def test_is_found_true(self): + h = Haul() + hr = h.find_images(self.complete_html) + + self.assertTrue(hr.is_found) + + def test_is_found_false(self): + h = Haul() + hr = h.find_images(self.no_image_html) + + self.assertFalse(hr.is_found) + + class FindImagesFromHTMLTestCase(HaulBaseTestCase): def setUp(self):