Skip to content

Commit

Permalink
Get rid of HardcodedHarvester
Browse files Browse the repository at this point in the history
  • Loading branch information
jeroanan committed Aug 25, 2014
1 parent 3715a81 commit 8c1a34a
Show file tree
Hide file tree
Showing 8 changed files with 34 additions and 72 deletions.
7 changes: 7 additions & 0 deletions aquarius/Harvester.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
class Harvester(object):

def do_harvest(self):
raise NotImplementedError

def harvesting_finished(self):
raise NotImplementedError
7 changes: 4 additions & 3 deletions aquarius/bookharvesting/FileSystemHarvester.py
Original file line number Diff line number Diff line change
@@ -1,20 +1,21 @@
import os
import threading
from PyPDF2.utils import PdfReadError
from aquarius.Harvester import Harvester
from aquarius.bookformats.BookFactory import BookFactory


class FileSystemHarvester(object):
class FileSystemHarvester(Harvester):

def __init__(self, app, config):
self.__app = app
self.__config = config

def do_harvest(self):
self.__app.is_harvesting = True
self.begin_harvest_thread()
self.__begin_harvest_thread()

def begin_harvest_thread(self):
def __begin_harvest_thread(self):
threading.Thread(target=self.__harvest_config_targets).start()

def __harvest_config_targets(self):
Expand Down
28 changes: 0 additions & 28 deletions aquarius/bookharvesting/HardcodedHarvester.py

This file was deleted.

4 changes: 2 additions & 2 deletions tests/TestAquarius.py
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@
from unittest.mock import Mock

from aquarius.Aquarius import Aquarius
from aquarius.Harvester import Harvester
from aquarius.Interactor import Interactor
from aquarius.InteractorFactory import InteractorFactory
from aquarius.bookharvesting.HardcodedHarvester import HardcodedHarvester
from aquarius.interactors.AddBookInteractor import AddBookInteractor
from aquarius.interactors.GetBookDetailsInteractor import GetBookDetailsInteractor
from aquarius.interactors.GetBookTypeInteractor import GetBookTypeInteractor
Expand Down Expand Up @@ -35,7 +35,7 @@ def setup_interactors(self):
self.__interactor_factory.get_book_type_interactor = Mock(return_value=self.__get_book_type_interactor)

def __setup_harvester_mock(self):
self.__harvester = harvester = HardcodedHarvester(self.__app, None)
self.__harvester = harvester = Harvester()
harvester.do_harvest = Mock()
self.__app.set_harvester(harvester)

Expand Down
18 changes: 18 additions & 0 deletions tests/TestHarvester.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
import unittest
from aquarius.Harvester import Harvester


class TestHarvester(unittest.TestCase):

def setUp(self):
self.__target = Harvester()

def test_do_harvest(self):
self.__assert_not_implemented(self.__target.do_harvest)

def test_harvesting_finished(self):
self.__assert_not_implemented(self.__target.harvesting_finished)

def __assert_not_implemented(self, method):
with self.assertRaises(NotImplementedError):
method()
1 change: 0 additions & 1 deletion tests/TestPersistence.py
Original file line number Diff line number Diff line change
@@ -1,5 +1,4 @@
import unittest
from unittest.mock import _get_target
from aquarius.Persistence import Persistence


Expand Down
6 changes: 3 additions & 3 deletions tests/bookharvesting/TestFileSystemHarvester.py
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
import unittest

from aquarius.Aquarius import Aquarius
from aquarius.Harvester import Harvester
from aquarius.bookharvesting.FileSystemHarvester import FileSystemHarvester
from Config import Config

Expand All @@ -13,9 +14,8 @@ def setUp(self):
config.harvest_paths = ["aquarius/bookformats/tests/data"]
self.__h = MyFileSystemHarvester(self.__app, config)

def test_do_harvest_sets_harvest_flag_true_at_start_of_harvest(self):
self.__h.do_harvest()
self.assertTrue(self.__app.is_harvesting)
def test_implements_harvester(self):
self.assertIsInstance(self.__h, Harvester)


class MyFileSystemHarvester(FileSystemHarvester):
Expand Down
35 changes: 0 additions & 35 deletions tests/bookharvesting/TestHardcodedHarvester.py

This file was deleted.

0 comments on commit 8c1a34a

Please sign in to comment.