Example #1
0
def _load_topic_children(topic):
	from passage_list import PassageList
	from passage_entry import PassageEntry
	child_query = "select %s from %s where parent = ? order by order_number"
	subtopics = []

	fields = ", ".join('"%s"' % name for name in ["id",] + PassageList.__fields_to_store__)
	for row in connection.execute(child_query % (fields, "topic"), (topic.id,)):
		subtopic = PassageList("")
		_load_record(subtopic, row)
		subtopic.parent = topic
		_load_topic_children(subtopic)
		subtopics.append(subtopic)

	topic.subtopics = subtopics

	fields = ", ".join(["id",] + PassageEntry.__fields_to_store__)
	passages = []
	for row in connection.execute(child_query % (fields, "passage"), (topic.id,)):
		passage = PassageEntry(None)
		passage.parent = topic
		_load_record(passage, row)
		passage.parent = topic
		passages.append(passage)

	topic.passages = passages
Example #2
0
class TestPassageListPassageListener(unittest.TestCase):
    def setUp(self):
        self._passage_list = PassageList("topic")
        self._num_times_observer_called = 0
        self._passage_list.add_passage_observers += self._addPassage

    def testAddPassageShouldCallObserver(self):
        self._passage_list.add_passage(PassageEntry(None))
        self._checkObserverHasBeenCalled()

    def _checkObserverHasBeenCalled(self):
        self.assertEqual(self._num_times_observer_called, 1)

    def _addPassage(self, passage):
        self._num_times_observer_called += 1
Example #3
0
def _setupPassageLists(test):
	"""Sets up the passage lists for the given test."""
	test._verse_list1 = VerseList([VK(("gen 2:3", "gen 2:5")), "gen 3:4", "gen 5:2"])
	test._verse_list2 = VerseList(["ex 2:2", "ex 3:5", VK(("ex 3:7", "ex 3:9"))])
	test._verse_list3 = VerseList([VK(("lev 2:3", "lev 2:5")), "lev 2:7"])
	test._verse_list4 = VerseList(["num 3:1", VK(("num 3:4", "num 3:5"))])
	test._list = PassageList.create_from_verse_list("abc", test._verse_list1)
	test._list2 = PassageList.create_from_verse_list("def", test._verse_list2)
	test._list3 = PassageList.create_from_verse_list("ghi", test._verse_list3)
	test._list4 = PassageList.create_from_verse_list("jkl", test._verse_list4)
	test._list2.add_subtopic(test._list4)
	test._list.add_subtopic(test._list2)
	test._list.add_subtopic(test._list3)
	test._manager = PassageListManager()
	test._manager.add_subtopic(test._list)
Example #4
0
class TestPassageListPassageListener(unittest.TestCase):
	def setUp(self):
		self._passage_list = PassageList("topic")
		self._num_times_observer_called = 0
		self._passage_list.add_passage_observers += self._addPassage
	
	def testAddPassageShouldCallObserver(self):
		self._passage_list.add_passage(PassageEntry(None))
		self._checkObserverHasBeenCalled()

	def _checkObserverHasBeenCalled(self):
		self.assertEqual(self._num_times_observer_called, 1)
	
	def _addPassage(self, passage):
		self._num_times_observer_called += 1
 def __init__(self, parent_topic, creation_function):
     super(AddNewTopicAction, self).__init__()
     self.parent_topic = parent_topic
     if creation_function is None:
         creation_function = lambda: PassageList(name="New Topic",
                                                 description="")
     self.topic = creation_function()
Example #6
0
class TestAddEmptySubTopic(unittest.TestCase):
	def setUp(self):
		self._list = PassageList("topic")
		self._list.add_empty_subtopic("Name", "Description")
		self._added_subtopic = self._list.subtopics[0]
	
	def testShouldHaveOneSubTopic(self):
		self.assertEqual(len(self._list.subtopics), 1)
	
	def testAddedSubTopicShouldBeEmpty(self):
		self.assertEqual(len(self._added_subtopic.subtopics), 0)
		self.assertEqual(len(self._added_subtopic.passages), 0)

	def testAddedSubTopicShouldHaveCorrectDetails(self):
		self.assertEqual(self._added_subtopic.name, "Name")
		self.assertEqual(self._added_subtopic.description, "Description")
Example #7
0
class TestAddEmptySubTopic(unittest.TestCase):
    def setUp(self):
        self._list = PassageList("topic")
        self._list.add_empty_subtopic("Name", "Description")
        self._added_subtopic = self._list.subtopics[0]

    def testShouldHaveOneSubTopic(self):
        self.assertEqual(len(self._list.subtopics), 1)

    def testAddedSubTopicShouldBeEmpty(self):
        self.assertEqual(len(self._added_subtopic.subtopics), 0)
        self.assertEqual(len(self._added_subtopic.passages), 0)

    def testAddedSubTopicShouldHaveCorrectDetails(self):
        self.assertEqual(self._added_subtopic.name, "Name")
        self.assertEqual(self._added_subtopic.description, "Description")
Example #8
0
def _setupPassageLists(test):
    """Sets up the passage lists for the given test."""
    test._verse_list1 = VerseList(
        [VK(("gen 2:3", "gen 2:5")), "gen 3:4", "gen 5:2"])
    test._verse_list2 = VerseList(
        ["ex 2:2", "ex 3:5", VK(("ex 3:7", "ex 3:9"))])
    test._verse_list3 = VerseList([VK(("lev 2:3", "lev 2:5")), "lev 2:7"])
    test._verse_list4 = VerseList(["num 3:1", VK(("num 3:4", "num 3:5"))])
    test._list = PassageList.create_from_verse_list("abc", test._verse_list1)
    test._list2 = PassageList.create_from_verse_list("def", test._verse_list2)
    test._list3 = PassageList.create_from_verse_list("ghi", test._verse_list3)
    test._list4 = PassageList.create_from_verse_list("jkl", test._verse_list4)
    test._list2.add_subtopic(test._list4)
    test._list.add_subtopic(test._list2)
    test._list.add_subtopic(test._list3)
    test._manager = PassageListManager()
    test._manager.add_subtopic(test._list)
Example #9
0
class TestPassageListSubTopicListener(unittest.TestCase):
	def setUp(self):
		self._passage_list = PassageList("topic")
		self._num_times_observer_called = 0
		self._passage_list.add_subtopic_observers += self._addSubTopic
	
	def testAddSubTopicShouldCallListener(self):
		self._passage_list.add_subtopic(PassageList("a"))
		self._checkObserverHasBeenCalled()
	
	def testAddEmptySubListShouldCallListener(self):
		self._passage_list.add_empty_subtopic("topic", "description")
		self._checkObserverHasBeenCalled()

	def _checkObserverHasBeenCalled(self):
		self.assertEqual(self._num_times_observer_called, 1)
	
	def _addSubTopic(self, subtopic):
		self._num_times_observer_called += 1
Example #10
0
class TestPassageListSubTopicListener(unittest.TestCase):
    def setUp(self):
        self._passage_list = PassageList("topic")
        self._num_times_observer_called = 0
        self._passage_list.add_subtopic_observers += self._addSubTopic

    def testAddSubTopicShouldCallListener(self):
        self._passage_list.add_subtopic(PassageList("a"))
        self._checkObserverHasBeenCalled()

    def testAddEmptySubListShouldCallListener(self):
        self._passage_list.add_empty_subtopic("topic", "description")
        self._checkObserverHasBeenCalled()

    def _checkObserverHasBeenCalled(self):
        self.assertEqual(self._num_times_observer_called, 1)

    def _addSubTopic(self, subtopic):
        self._num_times_observer_called += 1
	def save_search_results(self, search_string, search_results):
		assert search_string
		self.topic_tree.SetFocus()
		name = _(u"Search: %s") % search_string
		description = _(u"Results from the search `%s'.") % search_string

		# Tags are not displayed by default for saved search results because
		# they are not really user created and it looks dubious having tags
		# "Search: My search" littering the screen.
		self._create_topic(self._manager,
				lambda: PassageList.create_from_verse_list(name, search_results, description, display_tag=False)
			)
Example #12
0
class TestPassageListConstruction(unittest.TestCase):
    def setUp(self):
        self._list = PassageList("topic")

    def testShouldHaveValidName(self):
        self.assertEqual(self._list.name, "topic")

    def testShouldContainNoPassages(self):
        self.assertEqual(len(self._list.passages), 0)

    def testShouldContainNoSubTopics(self):
        self.assertEqual(len(self._list.subtopics), 0)

    def testShouldHaveEmptyDescription(self):
        self.assertEqual(self._list.description, "")

    def testListGlobalLookup(self):
        passage_list = lookup_passage_list(self._list.get_id())
        self.assert_(passage_list is self._list)
Example #13
0
class TestPassageListConstruction(unittest.TestCase):
	def setUp(self):
		self._list = PassageList("topic")
	
	def testShouldHaveValidName(self):
		self.assertEqual(self._list.name, "topic")
	
	def testShouldContainNoPassages(self):
		self.assertEqual(len(self._list.passages), 0)
	
	def testShouldContainNoSubTopics(self):
		self.assertEqual(len(self._list.subtopics), 0)
	
	def testShouldHaveEmptyDescription(self):
		self.assertEqual(self._list.description, "")

	def testListGlobalLookup(self):
		passage_list = lookup_passage_list(self._list.get_id())
		self.assert_(passage_list is self._list)
def _test_create_topic(name="", description="", create_function=None):
    if create_function is None:
        create_function = lambda: PassageList(name, description)
    topic = create_function()
    _add_topic_observers(topic)
    return topic
Example #15
0
	def setUp(self):
		self._passage_list = PassageList("topic")
		self._num_times_observer_called = 0
		self._passage_list.add_subtopic_observers += self._addSubTopic
Example #16
0
 def testAddSubTopicShouldCallListener(self):
     self._passage_list.add_subtopic(PassageList("a"))
     self._checkObserverHasBeenCalled()
Example #17
0
 def setUp(self):
     self._list = PassageList.create_from_verse_list(
         "name", VerseList(["gen 2:3", "gen 2:5", "gen 2:7"]),
         "description")
Example #18
0
	def setUp(self):
		self._list = PassageList("topic")
Example #19
0
	def setUp(self):
		self._list = PassageList("topic")
		self._list.add_empty_subtopic("Name", "Description")
		self._added_subtopic = self._list.subtopics[0]
Example #20
0
 def setUp(self):
     self._list = PassageList("topic")
     self._list.add_empty_subtopic("Name", "Description")
     self._added_subtopic = self._list.subtopics[0]
Example #21
0
	def setUp(self):
		self._list = PassageList.create_from_verse_list("name",
				VerseList(["gen 2:3", "gen 2:5", "gen 2:7"]), "description")
Example #22
0
 def setUp(self):
     self._list = PassageList("topic")
Example #23
0
 def setUp(self):
     self._passage_list = PassageList("topic")
     self._num_times_observer_called = 0
     self._passage_list.add_passage_observers += self._addPassage