Пример #1
0
 def selectCollection(self, collection):
     if collection == "All":
         self.versionCombo.clear()
         self.versionCombo.addItems(self.textList)
         for index, fullName in enumerate(self.parent.textFullNameList):
             self.versionCombo.setItemData(index, fullName, Qt.ToolTipRole)
         self.parallelCombo.checkAll()
         self.parallelVersesCombo.checkAll()
         self.compareCombo.checkAll()
         self.differenceCombo.checkAll()
     elif collection == "None":
         self.parallelCombo.clearAll()
         self.parallelVersesCombo.clearAll()
         self.compareCombo.clearAll()
         self.differenceCombo.clearAll()
     else:
         self.versionCombo.clear()
         self.versionCombo.addItems(config.bibleCollections[collection])
         for i in range(self.versionCombo.model().rowCount()):
             text = self.versionCombo.model().item(i).text()
             fullName = Bible(text).bibleInfo()
             self.versionCombo.setItemData(i, fullName, Qt.ToolTipRole)
         self.parallelCombo.checkFromList(
             config.bibleCollections[collection])
         self.parallelVersesCombo.checkFromList(
             config.bibleCollections[collection])
         self.compareCombo.checkFromList(
             config.bibleCollections[collection])
         self.differenceCombo.checkFromList(
             config.bibleCollections[collection])
Пример #2
0
    def getBibles(self):
        from db.BiblesSqlite import BiblesSqlite
        from db.BiblesSqlite import Bible

        bibles = BiblesSqlite().getBibleList()
        bibleInfo = []
        for bible in bibles:
            description = Bible(bible).bibleInfo()
            bibleInfo.append((bible, description))
        return bibleInfo
Пример #3
0
 def populateBooksButtons(self, bibleName):
     books = Bible(bibleName).getBookList()
     if self.bible_layout is not None:
         while self.bible_layout.count():
             child = self.bible_layout.takeAt(0)
             if child.widget():
                 child.widget().deleteLater()
     else:
         self.bible_layout = QVBoxLayout()
     self.bible_layout.setContentsMargins(0, 0, 0, 0)
     self.bible_layout.setSpacing(1)
     for bookNumGp in self.bookNumGps:
         gp = QWidget()
         layout = self.newRowLayout()
         for bookNum in bookNumGp:
             if int(bookNum) in books:
                 text = self.bookMap[bookNum]
                 button = QPushButton(text)
                 if config.developer:
                     button.setToolTip("{0} - {1}".format(
                         BibleBooks.eng[bookNum][1], bookNum))
                 else:
                     button.setToolTip("{0}".format(
                         BibleBooks.eng[bookNum][1]))
                 button.clicked.connect(
                     partial(self.bibleBookAction, bookNum))
                 layout.addWidget(button)
         gp.setLayout(layout)
         self.bible_layout.addWidget(gp)
     # for bookNumGp in self.bookNumGps[5:]:
     #     gp = QWidget()
     #     layout = self.newRowLayout()
     #     for bookNum in bookNumGp:
     #         text = self.bookMap[bookNum]
     #         button = QPushButton(text)
     #         button.clicked.connect(partial(self.bibleBookAction, bookNum))
     #         layout.addWidget(button)
     #     gp.setLayout(layout)
     #     bible_layout.addWidget(gp)
     self.bible_layout.addStretch()
     self.bible.setLayout(self.bible_layout)
Пример #4
0
 def getTwwyVerses(self, text):
     twwyVerses = (
         (23, 64, 7),
         (26, 22, 30),
         (62, 5, 14),
         (58, 4, 14, 16),
         (4, 14, 17),
         (58, 4, 14, 16),
         (58, 4, 14, 16),
         (19, 25, 11),
         (15, 9, 13),
         (24, 31, 9),
         (62, 5, 14),
         (19, 19, 14),
         (19, 33, 21),
         (1, 31, 2),
         (1, 32, 12),
         (1, 32, 9),
         (47, 1, 20),
         (47, 6, 1),
         (47, 6, 16),
         (3, 26, 12),
         (2, 32, 27),
         (23, 52, 11),
         (47, 7, 1),
         (48, 3, 16),
         (48, 3, 29),
         (40, 4, 5, 7),
         (29, 2, 29, 32),
         (44, 2, 15),
         (66, 6, 12),
         (23, 7, 10, 16),
         (40, 1, 21, 23),
         (19, 50, 14, 15),
         (40, 6, 33),
         (19, 69, 13),
         (58, 6, 15),
         (19, 89, 15, 16),
         (48, 5, 25),
         (60, 2, 23),
         (60, 2, 21),
         (60, 4, 19),
         (19, 31, 5),
         (42, 23, 46),
         (19, 16, 8),
         (19, 25, 15),
         (19, 26, 3),
         (19, 62, 5),
         (19, 141, 8),
         (19, 73, 28),
         (19, 123, 1, 2),
         (51, 3, 23),
         (19, 37, 5),
         (19, 26, 1),
         (19, 119, 55),
         (19, 31, 5),
         (18, 5, 8),
         (23, 26, 8, 9),
         (19, 39, 7),
         (19, 71, 14),
         (45, 6, 13),
         (45, 12, 1),
         (60, 2, 23),
         (60, 4, 19),
         (19, 90, 1),
         (52, 5, 17, 18),
         (46, 7, 17),
         (58, 10, 5, 7),
         (40, 26, 39),
         (40, 26, 42),
         (50, 4, 11, 13),
         (45, 8, 28, 29),
         (19, 57, 1, 2),
         (46, 7, 17),
         (18, 23, 14),
         (50, 4, 11, 13),
         (18, 23, 8, 10),
         (19, 77, 19),
         (24, 10, 23),
         (21, 5, 19),
         (19, 16, 5, 6),
         (52, 5, 17, 18),
         (43, 12, 27, 28),
         (41, 14, 36),
         (45, 8, 28, 29),
         (40, 26, 42),
         (18, 1, 21),
         (43, 21, 22),
         (19, 31, 15),
         (44, 21, 14),
         (19, 115, 3),
         (38, 14, 9),
         (25, 2, 17),
         (23, 66, 18),
         (23, 48, 11),
         (46, 8, 6),
         (51, 1, 16),
         (58, 2, 10),
         (45, 11, 36),
         (6, 7, 9),
         (11, 8, 41, 43),
         (11, 8, 59, 60),
         (11, 18, 36, 37),
         (12, 19, 15, 16),
         (12, 19, 19),
         (19, 71, 8),
         (19, 106, 47),
         (19, 79, 9),
         (19, 74, 18),
         (19, 74, 20),
         (19, 74, 22),
         (19, 83, 16),
         (19, 83, 17, 18),
         (19, 109, 27),
         (24, 14, 20, 21),
         (43, 17, 24),
         (43, 12, 27, 28),
         (19, 86, 9),
         (19, 135, 13),
         (23, 26, 8),
         (41, 12, 24),
         (5, 7, 9),
         (6, 23, 14),
         (16, 9, 8),
         (56, 1, 9),
         (10, 22, 31),
         (19, 19, 7),
         (56, 1, 2),
         (43, 10, 35),
         (66, 22, 6),
         (40, 24, 35),
         (61, 1, 19),
         (20, 30, 5),
         (55, 2, 13),
         (19, 93, 5),
         (58, 6, 17, 19),
         (52, 5, 24),
         (58, 10, 23),
         (10, 7, 28),
         (5, 32, 4),
         (19, 145, 13),
         (19, 111, 7),
         (23, 49, 7),
         (46, 1, 9),
         (53, 3, 3),
         (11, 8, 15),
         (19, 9, 10),
         (24, 17, 7, 8),
         (34, 1, 7),
         (58, 10, 35),
         (40, 8, 13),
         (44, 10, 43),
         (44, 13, 39),
         (45, 10, 4),
         (45, 1, 16),
         (43, 12, 44),
         (43, 11, 26),
         (43, 1, 12),
         (43, 3, 16),
         (44, 16, 31),
         (45, 3, 21, 22),
         (45, 4, 5),
         (19, 34, 22),
         (45, 10, 11),
         (45, 10, 9),
         (46, 1, 21),
         (55, 1, 12),
         (58, 3, 14),
         (62, 5, 1),
         (62, 5, 13),
         (43, 6, 35),
         (43, 7, 38, 39),
         (43, 14, 12),
         (49, 1, 19),
         (58, 4, 16),
         (41, 11, 24),
         (62, 3, 21, 22),
         (62, 5, 14),
         (40, 17, 20),
         (58, 11, 6),
         (41, 9, 23),
         (19, 37, 5, 6),
         (19, 125, 1),
         (23, 30, 15),
         (20, 3, 5, 6),
         (43, 12, 46),
         (43, 16, 27),
         (62, 5, 5),
         (19, 31, 19),
         (49, 6, 16),
         (20, 3, 26),
         (19, 37, 40),
         (19, 18, 30),
         (60, 1, 5),
         (19, 5, 11),
         (42, 17, 5),
         (41, 9, 24),
         (42, 22, 32),
         (44, 15, 11),
         (11, 8, 23, 24),
         (19, 31, 14),
         (23, 25, 1),
         (19, 33, 21),
         (19, 55, 23),
         (19, 26, 1),
         (19, 31, 5),
         (42, 1, 38),
         (19, 89, 1),
         (47, 3, 18),
         (23, 33, 17),
         (58, 1, 3),
         (18, 16, 19),
         (19, 45, 7),
         (19, 89, 27, 29),
         (19, 110, 1, 2),
         (19, 132, 17, 18),
         (23, 9, 6, 7),
         (23, 11, 2, 4),
         (23, 11, 10, 11),
         (23, 22, 22),
         (23, 42, 1, 4),
         (23, 44, 6),
         (23, 42, 6, 7),
         (23, 53, 5),
         (23, 53, 10, 11),
         (23, 55, 5),
         (23, 61, 1, 2),
         (58, 4, 14, 16),
         (24, 23, 6),
         (24, 33, 22),
         (26, 1, 26),
         (26, 1, 28),
         (26, 34, 23),
         (26, 37, 24),
         (28, 3, 5),
         (27, 7, 13, 14),
         (33, 5, 2),
         (33, 5, 4, 5),
         (38, 12, 10),
         (59, 2, 1),
         (51, 3, 4),
         (41, 10, 45),
         (42, 1, 32),
         (42, 19, 10),
         (42, 22, 69),
         (43, 1, 14),
         (43, 5, 19),
         (43, 10, 11),
         (43, 10, 14, 15),
         (44, 2, 23),
         (44, 4, 12),
         (44, 10, 38),
         (48, 1, 3, 4),
         (50, 2, 9, 11),
         (51, 2, 2, 3),
         (56, 2, 13, 14),
         (58, 1, 8),
         (58, 2, 10),
         (58, 2, 16, 18),
         (58, 4, 14, 15),
         (58, 5, 7, 9),
         (58, 7, 16),
         (58, 7, 25),
         (58, 9, 14),
         (58, 10, 12, 13),
         (62, 2, 2),
         (66, 1, 5),
         (66, 1, 16),
         (66, 1, 18),
         (66, 5, 4, 7),
         (66, 5, 9),
         (66, 5, 12, 13),
         (66, 19, 16),
         (66, 21, 22, 23),
         (45, 1, 20),
         (46, 8, 6),
         (27, 7, 9, 10),
         (27, 4, 17),
         (27, 4, 35),
         (45, 11, 32, 36),
         (30, 5, 8),
         (30, 4, 13),
         (35, 3, 3, 4),
         (19, 145, 3),
         (23, 40, 23),
         (24, 10, 10),
         (27, 2, 22),
         (24, 32, 19),
         (24, 10, 6, 7),
         (34, 1, 3),
         (19, 103, 19),
         (44, 17, 25),
         (36, 3, 5),
         (5, 32, 4),
         (9, 2, 2),
         (19, 77, 13),
         (9, 6, 20),
         (35, 2, 20),
         (19, 93, 2),
         (19, 33, 11),
         (18, 11, 7),
         (23, 40, 15),
         (23, 40, 17),
         (44, 17, 24, 25),
         (24, 32, 18, 19),
         (11, 8, 27),
         (24, 23, 23, 24),
         (18, 26, 14),
         (24, 32, 27),
         (42, 1, 37),
         (45, 4, 17),
         (54, 1, 17),
         (58, 4, 13),
         (19, 139, 1, 4),
         (23, 45, 24),
         (10, 24, 14),
         (33, 7, 18, 19),
         (28, 11, 4),
         (42, 6, 35),
         (19, 30, 5),
         (14, 30, 9),
         (23, 44, 22),
         (18, 36, 7),
         (34, 1, 7),
         (25, 3, 22, 23),
         (23, 30, 18),
         (19, 125, 2),
         (20, 18, 10),
         (62, 4, 10),
         (65, 1, 24),
         (19, 28, 8),
         (5, 33, 27),
         (19, 46, 1),
         (19, 147, 3),
         (45, 8, 38, 39),
         (23, 63, 9),
         (19, 23, 1, 3),
         (5, 31, 8),
         (2, 15, 11),
         (5, 3, 24),
         (7, 5, 31),
         (9, 2, 2),
         (10, 22, 2, 4),
         (13, 16, 36),
         (13, 29, 11, 13),
         (14, 14, 11),
         (14, 20, 6),
         (16, 9, 5, 6),
         (19, 18, 1),
         (19, 26, 8),
         (19, 31, 19),
         (19, 35, 27),
         (19, 36, 7),
         (19, 48, 10),
         (19, 59, 17),
         (19, 62, 12),
         (19, 71, 8),
         (19, 71, 23),
         (19, 89, 1),
         (19, 92, 4),
         (19, 93, 2),
         (19, 93, 5),
         (19, 101, 1),
         (19, 102, 12),
         (19, 115, 1),
         (19, 115, 18),
         (19, 119, 68),
         (19, 119, 73),
         (19, 130, 4),
         (19, 145, 1, 2),
         (23, 12, 1),
         (23, 25, 1),
         (23, 26, 12),
         (24, 10, 6),
         (24, 32, 17),
         (25, 5, 21),
         (27, 2, 20, 21),
         (40, 6, 9),
         (44, 4, 24),
         (58, 1, 12),
         (66, 4, 8),
         (66, 4, 11),
         (66, 5, 9, 10),
         (66, 7, 10),
         (66, 11, 17),
         (66, 15, 3, 4),
         (66, 19, 6),
         (13, 16, 35),
         (19, 9, 1),
         (19, 13, 5),
         (19, 28, 7),
         (19, 31, 7),
         (19, 57, 9),
         (19, 69, 30),
         (19, 75, 1),
         (19, 79, 13),
         (19, 86, 12),
         (19, 103, 1),
         (19, 103, 2),
         (19, 103, 22),
         (19, 116, 17),
         (19, 118, 19),
         (19, 118, 21),
         (19, 118, 28),
         (23, 12, 1),
         (23, 61, 10),
         (2, 33, 18),
         (43, 17, 24),
         (19, 106, 47),
         (19, 142, 7),
         (19, 104, 34),
         (19, 22, 25),
         (19, 9, 2),
         (19, 71, 14),
         (19, 104, 33),
         (19, 34, 1),
         (19, 9, 1, 2),
         (19, 44, 8),
         (19, 108, 1),
         (19, 13, 6),
         (19, 63, 3),
         (19, 77, 12),
         (35, 3, 17, 18),
         (45, 5, 11),
         (66, 11, 15),
         (14, 30, 9),
         (18, 14, 17),
         (19, 85, 2, 3),
         (19, 86, 5),
         (19, 103, 10, 12),
         (19, 130, 3, 4),
         (23, 43, 25),
         (23, 44, 22),
         (24, 50, 20),
         (24, 51, 10),
         (36, 3, 15),
         (38, 3, 4),
         (43, 1, 29),
         (58, 9, 22),
         (49, 1, 7),
         (62, 1, 9),
         (7, 10, 10),
         (7, 10, 15),
         (9, 12, 10),
         (15, 9, 6),
         (15, 9, 10),
         (15, 9, 13),
         (15, 9, 15),
         (16, 1, 6, 7),
         (16, 9, 32, 33),
         (19, 79, 8),
         (23, 59, 12, 13),
         (23, 64, 6, 7),
         (24, 3, 25),
         (24, 14, 7),
         (24, 14, 20, 21),
         (24, 16, 19),
         (27, 9, 8, 9),
         (27, 9, 17),
         (27, 9, 18, 19),
         (18, 42, 2, 6),
         (10, 24, 10),
         (10, 24, 17),
         (13, 21, 8),
         (19, 25, 6, 7),
         (19, 25, 11),
         (19, 32, 5),
         (19, 69, 5),
         (25, 1, 20),
         (42, 5, 8),
         (42, 11, 4),
         (42, 18, 13),
         (19, 32, 5),
         (18, 16, 19),
         (19, 130, 4),
         (27, 9, 9),
         (45, 8, 1),
         (47, 5, 19),
         (36, 3, 9),
         (38, 12, 10),
         (45, 8, 26, 27),
         (48, 4, 6),
         (19, 80, 18),
         (19, 116, 17),
         (19, 57, 8),
         (19, 116, 13),
         (9, 12, 23),
         (14, 7, 14),
         (14, 34, 27),
         (18, 33, 26),
         (19, 2, 8),
         (19, 34, 4, 5),
         (19, 37, 4, 5),
         (19, 66, 18, 20),
         (19, 72, 12),
         (19, 86, 7),
         (19, 91, 15, 16),
         (19, 102, 17),
         (19, 118, 5),
         (19, 145, 18, 19),
         (23, 30, 19),
         (23, 58, 8, 9),
         (23, 64, 4),
         (24, 29, 12, 13),
         (27, 10, 12),
         (27, 9, 23),
         (28, 14, 8),
         (40, 6, 8),
         (40, 7, 8),
         (41, 11, 24),
         (42, 11, 13),
         (43, 14, 13, 14),
         (43, 15, 7),
         (43, 15, 16),
         (43, 16, 23, 24),
         (45, 5, 2),
         (49, 2, 18),
         (49, 3, 11, 12),
         (49, 3, 20),
         (50, 4, 6, 7),
         (58, 4, 15, 16),
         (59, 5, 16),
         (62, 5, 14, 15),
         (19, 86, 3),
         (19, 28, 2),
         (19, 70, 5),
         (19, 71, 12),
         (19, 79, 8),
         (19, 102, 1, 2),
         (19, 143, 1),
         (19, 143, 7),
         (19, 69, 13),
         (19, 27, 9),
         (19, 106, 4, 5),
         (19, 66, 20),
         (19, 39, 7),
         (19, 77, 1),
         (19, 118, 21),
         (19, 116, 2),
         (19, 4, 3),
         (10, 22, 4),
         (19, 106, 8),
         (26, 36, 25, 27),
         (19, 107, 20),
         (23, 45, 17),
         (23, 55, 5),
         (23, 65, 1),
         (24, 50, 4, 5),
         (26, 11, 19, 20),
         (26, 18, 23),
         (26, 18, 32),
         (28, 2, 19, 20),
         (29, 2, 32),
         (42, 5, 32),
         (42, 19, 10),
         (43, 5, 24, 25),
         (43, 6, 37),
         (43, 6, 65),
         (43, 10, 9),
         (43, 11, 25, 26),
         (43, 14, 6),
         (43, 20, 31),
         (44, 2, 38, 39),
         (44, 3, 19, 20),
         (44, 11, 18),
         (44, 13, 38),
         (44, 16, 31),
         (44, 26, 18),
         (45, 1, 16),
         (45, 4, 5),
         (45, 5, 1),
         (45, 5, 8),
         (45, 8, 1),
         (45, 9, 16),
         (45, 10, 4),
         (45, 10, 9),
         (45, 10, 12, 13),
         (45, 10, 17),
         (46, 1, 18),
         (46, 15, 22),
         (46, 15, 49),
         (47, 5, 19),
         (47, 5, 21),
         (52, 5, 9),
         (49, 2, 8, 9),
         (54, 2, 3, 4),
         (55, 1, 10),
         (56, 3, 5, 6),
         (58, 7, 25),
         (58, 8, 10, 12),
         (58, 9, 26),
         (58, 10, 14),
         (61, 3, 9),
         (62, 5, 11, 12),
         (62, 5, 20),
         (66, 1, 5),
         (66, 22, 17),
         (13, 16, 35),
         (24, 31, 7),
         (45, 10, 1),
         (41, 10, 47),
         (19, 6, 4),
         (19, 69, 1),
         (19, 109, 21),
         (19, 116, 4),
         (19, 119, 170),
         (19, 27, 13),
         (23, 63, 16),
         (19, 62, 1),
         (1, 22, 18),
         (19, 2, 8),
         (19, 86, 9),
         (23, 49, 6),
         (41, 11, 17),
         (23, 61, 11),
         (24, 4, 1, 2),
         (26, 38, 23),
         (39, 1, 11),
         (39, 1, 14),
         (40, 24, 14),
         (45, 1, 5),
         (45, 16, 25, 26),
         (66, 7, 9, 10),
         (53, 3, 1, 2),
         (42, 10, 2),
         (19, 67, 2),
         (19, 108, 5),
         (44, 4, 30),
         (13, 16, 31),
         (19, 67, 3),
         (19, 67, 4),
         (45, 10, 1),
         (54, 2, 1, 4),
         (40, 9, 38),
         (51, 4, 2, 4),
         (49, 6, 18, 20),
         (19, 77, 14),
         (24, 16, 19),
         (19, 108, 3),
         (19, 145, 6),
         (19, 105, 1),
         (23, 12, 4),
         (23, 62, 1),
         (44, 20, 24),
         (19, 86, 9),
         (35, 2, 14),
         (19, 22, 27),
         (19, 86, 9),
         (5, 33, 3),
         (19, 32, 10),
         (19, 33, 18),
         (19, 62, 12),
         (19, 86, 5),
         (19, 89, 14),
         (19, 103, 4),
         (19, 103, 8),
         (19, 103, 11),
         (20, 16, 6),
         (23, 49, 15),
         (23, 54, 10),
         (25, 3, 22),
         (25, 3, 32),
         (33, 7, 18),
         (19, 139, 16, 18),
         (19, 142, 3),
         (28, 3, 1),
         (36, 3, 17),
         (40, 10, 29, 31),
         (43, 15, 9),
         (45, 1, 7),
         (45, 8, 31, 32),
         (45, 8, 38, 39),
         (49, 1, 4, 5),
         (62, 3, 1),
         (62, 4, 9, 10),
         (10, 22, 20),
         (19, 37, 23, 24),
         (19, 44, 3),
         (23, 40, 11),
         (19, 103, 5),
         (19, 107, 9),
         (10, 2, 6),
         (19, 17, 7),
         (19, 33, 22),
         (19, 44, 26),
         (19, 48, 9),
         (19, 51, 1),
         (19, 69, 16),
         (19, 85, 7),
         (19, 90, 14),
         (19, 109, 21),
         (19, 119, 41),
         (19, 119, 124),
         (19, 143, 8),
         (4, 14, 19),
         (19, 13, 5),
         (19, 25, 6, 7),
         (43, 17, 23),
         (43, 17, 26),
         (45, 15, 30),
         (53, 3, 5),
         (19, 117, 2),
         (19, 26, 3),
         (19, 59, 17),
         (19, 31, 21),
         (19, 5, 7),
         (19, 63, 3),
         (19, 42, 8),
         (19, 144, 2),
         (19, 59, 16),
         (19, 40, 11),
         (18, 10, 12),
         (19, 31, 7),
         (19, 13, 5),
         (62, 4, 16),
         (19, 94, 18, 19),
         (2, 15, 13),
         (19, 143, 12),
         (19, 52, 8),
         (19, 13, 5),
         (19, 86, 13),
         (19, 130, 8),
         (19, 87, 5, 6),
         (19, 133, 1),
         (19, 133, 3),
         (19, 135, 14),
         (23, 49, 15),
         (23, 54, 1),
         (48, 4, 27, 29),
         (23, 56, 7),
         (23, 58, 10, 12),
         (23, 60, 1, 5),
         (23, 60, 15),
         (23, 62, 2, 4),
         (24, 31, 31),
         (24, 31, 33, 34),
         (24, 31, 9),
         (26, 34, 31),
         (26, 37, 26, 28),
         (27, 7, 27),
         (28, 1, 10),
         (45, 9, 24, 26),
         (33, 4, 1, 2),
         (33, 7, 15),
         (36, 3, 11, 12),
         (36, 3, 19, 20),
         (38, 2, 5),
         (37, 2, 5),
         (38, 2, 10, 11),
         (38, 8, 8),
         (38, 9, 16, 17),
         (40, 13, 43),
         (40, 16, 18, 19),
         (40, 21, 13),
         (40, 25, 34),
         (40, 28, 19, 20),
         (43, 10, 4),
         (43, 10, 14, 15),
         (43, 10, 27, 28),
         (43, 17, 6),
         (43, 17, 23),
         (43, 17, 24),
         (43, 17, 26),
         (44, 20, 28),
         (46, 2, 16),
         (46, 3, 21, 23),
         (46, 12, 18),
         (46, 12, 24, 26),
         (47, 2, 14),
         (48, 3, 26, 27),
         (48, 3, 29),
         (49, 2, 6),
         (49, 2, 22),
         (49, 3, 10),
         (49, 3, 20, 21),
         (49, 4, 11, 12),
         (51, 2, 19),
         (51, 3, 3),
         (52, 5, 5),
         (58, 2, 11),
         (58, 11, 16),
         (60, 2, 5),
         (60, 2, 9),
         (62, 1, 7),
         (62, 2, 1),
         (62, 3, 2, 3),
         (65, 1, 1),
         (66, 7, 15),
         (66, 7, 17),
         (66, 21, 3, 4),
         (66, 22, 3, 5),
         (49, 1, 16, 19),
         (49, 3, 16, 17),
         (49, 3, 17),
         (43, 17, 20, 21),
         (43, 17, 23),
         (50, 1, 9, 11),
         (51, 1, 9, 10),
         (51, 1, 11, 12),
         (53, 1, 11, 12),
         (19, 35, 18),
         (19, 52, 9),
         (58, 2, 12),
         (19, 26, 12),
         (19, 111, 1),
         (19, 116, 14),
         (49, 4, 8),
         (49, 4, 11, 13),
         (10, 23, 3, 4),
         (24, 23, 4),
         (24, 3, 15),
         (24, 1, 9),
         (2, 4, 12),
         (23, 51, 16),
         (24, 23, 28, 29),
         (24, 15, 19),
         (54, 2, 1, 4),
         (11, 3, 9),
         (45, 15, 30, 32),
         (49, 6, 19, 20),
         (44, 6, 4),
         (42, 17, 10),
         (54, 1, 15),
         (44, 20, 24),
         (6, 1, 8),
         (19, 1, 2, 3),
         (20, 6, 22, 23),
         (20, 30, 5),
         (23, 55, 11),
         (41, 13, 31),
         (44, 20, 32),
         (45, 15, 4),
         (54, 4, 4, 5),
         (55, 3, 15, 17),
         (58, 4, 12),
         (59, 1, 17, 18),
         (60, 1, 23, 25),
         (61, 1, 20, 21),
         (62, 2, 14),
         (66, 1, 3),
         (19, 119, 18),
         (19, 119, 135),
         (19, 119, 49),
         (19, 119, 58),
         (19, 119, 76),
         (19, 119, 116),
         (19, 119, 77),
         (19, 119, 17),
         (19, 119, 25),
         (19, 119, 27),
         (19, 119, 169),
         (19, 119, 125),
         (19, 119, 10),
         (19, 119, 132, 133),
         (19, 119, 173),
         (19, 119, 36, 37),
         (19, 119, 29),
         (19, 119, 33, 34),
         (19, 119, 66),
         (19, 119, 22),
         (19, 119, 31),
         (19, 119, 107),
         (19, 119, 153, 154),
         (19, 119, 79),
         (19, 119, 89),
         (19, 119, 112),
         (19, 119, 15, 16),
         (19, 119, 57),
         (19, 119, 114),
         (19, 119, 147),
         (19, 119, 45),
         (24, 4, 1, 2),
         (19, 19, 7),
         (19, 110, 3),
         (23, 2, 2, 3),
         (23, 10, 20, 21),
         (23, 27, 6),
         (23, 29, 17, 19),
         (23, 29, 22),
         (23, 32, 15),
         (23, 33, 17),
         (23, 35, 1, 2),
         (23, 35, 6),
         (23, 41, 18),
         (23, 43, 20, 21),
         (23, 44, 3, 5),
         (23, 51, 3),
         (23, 54, 13),
         (24, 3, 12),
         (24, 24, 7),
         (24, 30, 17),
         (24, 30, 19),
         (24, 31, 9),
         (28, 6, 1, 3),
         (29, 2, 25),
         (5, 26, 15),
         (11, 8, 52),
         (26, 37, 9),
         (19, 85, 4, 6),
         (35, 3, 2),
         (23, 64, 1, 2),
         (19, 86, 4),
         (19, 142, 7),
         (19, 126, 4),
         (19, 43, 3),
         (19, 27, 8),
         (19, 106, 4),
         (24, 15, 16),
         (19, 40, 8),
         (19, 126, 3),
         (19, 71, 20),
         (19, 68, 9),
         (28, 6, 3),
         (19, 102, 13),
         (23, 32, 15),
         (26, 37, 14),
         (52, 1, 5),
         (26, 39, 29),
         (29, 2, 28, 29),
         (40, 3, 11),
         (42, 11, 13),
         (42, 24, 49),
         (43, 7, 37, 39),
         (43, 14, 12),
         (43, 14, 16, 17),
         (43, 14, 26, 27),
         (43, 16, 13, 14),
         (43, 20, 22),
         (44, 1, 8),
         (45, 5, 5),
         (45, 7, 6),
         (45, 8, 13),
         (45, 8, 14, 15),
         (48, 4, 6),
         (45, 8, 16),
         (46, 2, 9, 10),
         (46, 2, 12),
         (46, 12, 11),
         (47, 3, 6),
         (47, 3, 17, 18),
         (48, 5, 16),
         (48, 5, 18),
         (48, 5, 22, 23),
         (48, 6, 8),
         (62, 2, 20),
         (62, 2, 27),
         (26, 37, 9),
         (27, 9, 17),
         (19, 60, 1),
         (19, 74, 1, 2),
         (19, 80, 4),
         (19, 80, 7),
         (19, 80, 18),
         (19, 85, 4),
         (24, 14, 8, 9),
         (25, 5, 21),
         (24, 31, 18),
         (19, 68, 28),
         (19, 80, 2),
         (19, 4, 6),
         (19, 67, 1),
         (25, 5, 21),
         (19, 143, 10),
         (35, 3, 2),
         (45, 15, 13),
         (19, 89, 15),
         (23, 26, 12, 13),
         (19, 104, 30),
         (50, 1, 19),
         (3, 20, 26),
         (3, 26, 11, 12),
         (5, 7, 6),
         (9, 12, 22),
         (13, 17, 21, 22),
         (4, 18, 20),
         (56, 2, 13, 14),
         (19, 5, 2),
         (19, 22, 1),
         (19, 71, 12),
         (19, 38, 21),
         (19, 22, 10),
         (19, 25, 2),
         (27, 9, 19),
         (19, 119, 94),
         (10, 22, 3),
         (19, 31, 14),
         (19, 91, 2),
         (19, 106, 47),
         (2, 33, 13),
         (2, 33, 16),
         (5, 9, 29),
         (5, 26, 15),
         (19, 85, 6),
         (35, 1, 12),
         (9, 2, 2),
         (33, 7, 7),
         (19, 90, 1),
         (19, 18, 31),
         (19, 59, 10),
         (44, 27, 23),
         (19, 132, 3, 5),
         (19, 3, 8),
         (19, 118, 28),
         (2, 15, 2),
         (19, 79, 13),
         (1, 39, 2, 3),
         (1, 39, 21),
         (1, 39, 23),
         (6, 1, 5),
         (6, 6, 27),
         (7, 6, 12),
         (9, 3, 19),
         (9, 18, 12),
         (10, 7, 3),
         (12, 18, 7),
         (13, 11, 9),
         (11, 8, 57, 58),
         (13, 22, 11),
         (13, 28, 20),
         (37, 2, 4),
         (44, 7, 9, 10),
         (44, 10, 38),
         (1, 28, 15),
         (2, 4, 12),
         (6, 1, 9),
         (14, 15, 2),
         (19, 14, 5),
         (19, 46, 7),
         (19, 91, 1, 2),
         (19, 139, 8, 10),
         (23, 41, 10),
         (23, 43, 2),
         (23, 43, 4, 7),
         (24, 1, 8),
         (24, 1, 19),
         (24, 42, 11, 12),
         (40, 28, 19, 20),
         (44, 18, 9, 10),
         (50, 4, 9),
         (2, 33, 16),
         (19, 118, 25),
         (2, 33, 15),
         (11, 8, 57),
         (53, 1, 11, 12),
         (19, 61, 4),
         (19, 71, 3),
         (10, 14, 17),
         (13, 4, 10),
         (45, 15, 33),
         (47, 13, 14),
         (63, 1, 3),
         (23, 8, 10),
         (19, 139, 18),
         (14, 13, 12),
         (19, 73, 23, 26),
         (19, 23, 4),
         (19, 14, 5),
         (66, 21, 3),
         (2, 29, 46),
         (2, 33, 14),
         (5, 4, 7),
         (11, 6, 13),
         (19, 91, 1),
         (23, 57, 15),
         (24, 30, 21),
         (59, 4, 8),
         (19, 22, 1, 2),
         (19, 22, 11),
         (19, 38, 21),
         (24, 14, 9),
         (19, 88, 13, 14),
         (19, 73, 28),
         (19, 65, 4),
         (19, 84, 10),
         (19, 119, 151),
         (19, 75, 1),
         (19, 73, 23, 24),
         (2, 20, 24),
         (18, 8, 7),
         (18, 23, 10),
         (18, 36, 7),
         (19, 1, 3),
         (19, 36, 7, 9),
         (19, 37, 34),
         (19, 71, 21),
         (19, 102, 13),
         (20, 4, 18),
         (23, 51, 16),
         (23, 60, 10),
         (23, 65, 16),
         (23, 66, 2),
         (43, 15, 4, 5),
         (51, 1, 27),
         (19, 51, 18),
         (13, 4, 10),
         (19, 125, 4),
         (19, 86, 17),
         (2, 33, 13),
         (19, 90, 17),
         (44, 26, 22),
         (10, 22, 37),
         (10, 23, 5),
         (18, 29, 5, 6),
         (19, 16, 6),
         (19, 5, 12),
         (19, 89, 17),
         (3, 26, 13),
         (14, 30, 9),
         (19, 18, 16, 18),
         (19, 31, 21),
         (19, 69, 33),
         (23, 57, 17, 19),
         (24, 3, 12),
         (24, 3, 22),
         (24, 31, 9),
         (26, 16, 59, 60),
         (26, 37, 23),
         (28, 14, 4),
         (38, 10, 6, 7),
         (26, 22, 15),
         (26, 36, 25, 27),
         (59, 5, 19, 20),
         (19, 86, 11),
         (19, 119, 132, 133),
         (19, 143, 10),
         (19, 51, 10),
         (40, 8, 2),
         (19, 141, 3, 4),
         (19, 69, 6),
         (19, 119, 17),
         (19, 119, 25),
         (19, 119, 33, 34),
         (19, 119, 77),
         (43, 17, 11),
         (43, 17, 13),
         (43, 17, 17),
         (43, 17, 20, 21),
         (43, 17, 23),
         (50, 1, 9, 11),
         (52, 3, 11, 13),
         (51, 1, 9, 12),
         (52, 5, 23),
         (19, 119, 29),
         (19, 139, 23, 24),
         (19, 19, 14),
         (19, 101, 3),
         (19, 101, 4),
         (19, 39, 1),
         (19, 101, 2),
         (19, 119, 11),
         (19, 51, 13),
         (14, 16, 9),
         (19, 55, 22),
         (19, 68, 35),
         (19, 80, 18),
         (19, 118, 14),
         (19, 138, 3),
         (23, 28, 5, 6),
         (24, 31, 25),
         (38, 4, 6),
         (38, 10, 12),
         (45, 8, 37),
         (45, 14, 4),
         (45, 16, 25),
         (47, 4, 7),
         (47, 12, 9),
         (50, 2, 12, 13),
         (51, 1, 29),
         (2, 31, 3),
         (55, 4, 17),
         (65, 1, 24),
         (5, 32, 36),
         (9, 14, 6),
         (10, 22, 18, 19),
         (19, 10, 14),
         (19, 103, 14),
         (23, 40, 28, 31),
         (19, 111, 6),
         (19, 61, 1, 2),
         (19, 86, 16),
         (19, 119, 28),
         (19, 51, 12),
         (19, 51, 15),
         (19, 119, 36, 37),
         (44, 4, 29, 30),
         (19, 119, 112),
         (19, 73, 25, 26),
         (47, 11, 30),
         (47, 12, 10),
         (50, 4, 13),
         (19, 59, 16),
         (19, 59, 17),
         (18, 12, 22),
         (19, 18, 28),
         (19, 107, 14),
         (19, 112, 4),
         (23, 58, 10),
         (42, 1, 78, 79),
         (43, 12, 46),
         (18, 8, 21),
         (18, 35, 10),
         (19, 16, 10, 11),
         (19, 19, 8),
         (19, 30, 5),
         (19, 30, 11),
         (19, 40, 3),
         (19, 65, 8),
         (19, 97, 11),
         (23, 61, 7),
         (24, 31, 12),
         (24, 31, 13, 14),
         (43, 15, 10, 11),
         (19, 13, 3),
         (35, 1, 2),
         (19, 10, 1),
         (19, 13, 1, 2),
         (19, 79, 11),
         (18, 7, 20, 21),
         (18, 10, 2, 3),
         (18, 10, 20),
         (18, 13, 20, 26),
         (18, 23, 3, 4),
         (18, 30, 20, 21),
         (4, 11, 11, 12),
         (4, 11, 14, 15),
         (23, 64, 11, 12),
         (24, 12, 1),
         (24, 15, 18),
         (18, 14, 13),
         (25, 3, 42, 45),
         (25, 5, 21),
         (35, 1, 13),
         (19, 42, 5),
         (19, 43, 4),
         (33, 7, 8, 9),
         (19, 35, 9, 10),
         (18, 23, 8, 10),
         (18, 13, 15),
         (19, 62, 5),
         (18, 36, 15, 16),
         (19, 9, 12),
         (19, 34, 18, 19),
         (23, 14, 32),
         (23, 30, 26),
         (23, 30, 29),
         (25, 3, 31, 33),
         (34, 1, 12),
         (43, 15, 2),
         (47, 4, 16, 17),
         (58, 12, 11),
         (59, 1, 12),
         (60, 5, 10),
         (19, 37, 39),
         (19, 46, 1, 2),
         (19, 66, 12),
         (43, 16, 33),
         (19, 84, 5, 7),
         (47, 1, 10),
         (19, 10, 12),
         (19, 6, 2),
         (19, 22, 11),
         (19, 22, 19),
         (19, 25, 17),
         (19, 31, 9),
         (19, 38, 9),
         (19, 39, 12),
         (19, 69, 29),
         (19, 88, 1, 3),
         (19, 88, 7, 8),
         (19, 88, 13, 14),
         (19, 90, 13, 15),
         (19, 119, 107),
         (19, 119, 153),
         (19, 143, 11),
         (23, 38, 14),
         (23, 38, 16, 17),
         (24, 20, 7, 8),
         (25, 3, 19),
         (25, 3, 55, 57),
         (19, 39, 4),
         (19, 116, 8),
         (19, 10, 17),
         (19, 77, 2),
         (19, 66, 11, 12),
         (18, 1, 21),
         (19, 62, 1, 2),
         (19, 119, 75),
         (19, 31, 7),
         (35, 3, 17, 18),
         (1, 15, 1),
         (12, 6, 16),
         (23, 25, 7, 8),
         (24, 46, 27, 28),
         (25, 3, 57),
         (38, 8, 13),
         (42, 1, 73, 74),
         (62, 4, 18, 19),
         (3, 26, 3),
         (3, 26, 5, 6),
         (19, 119, 165),
         (23, 26, 3),
         (23, 32, 17),
         (23, 60, 17),
         (25, 3, 17),
         (19, 119, 39),
         (23, 12, 2),
         (19, 29, 11),
         (23, 26, 12),
         (42, 2, 29),
         (58, 13, 20, 21),
         (61, 1, 2),
         (23, 53, 5),
         (19, 4, 8),
         (19, 3, 6),
         (19, 27, 1),
         (19, 57, 7),
         (19, 16, 8),
         (19, 118, 6),
         (19, 56, 3),
         (19, 56, 4),
         (19, 131, 2),
         (19, 23, 4),
         (23, 12, 2),
         (58, 13, 6),
         (20, 2, 1, 7),
         (20, 3, 16, 18),
         (20, 4, 8, 9),
         (20, 8, 15, 17),
         (20, 8, 34, 35),
         (20, 9, 10, 11),
         (20, 24, 3, 4),
         (20, 24, 5, 6),
         (21, 7, 12),
         (23, 50, 4),
         (24, 3, 15),
         (40, 10, 19, 20),
         (42, 21, 15),
         (51, 2, 3),
         (59, 1, 5),
         (11, 3, 9),
         (19, 90, 12),
         (19, 119, 66),
         (19, 119, 73),
         (19, 119, 144),
         (19, 119, 169),
         (19, 143, 8),
         (19, 49, 3),
         (18, 28, 28),
         (2, 15, 13),
         (5, 1, 33),
         (19, 32, 8),
         (19, 48, 14),
         (20, 3, 5, 6),
         (20, 16, 3),
         (20, 16, 9),
         (23, 42, 16),
         (23, 48, 17),
         (19, 119, 18),
         (40, 20, 33),
         (2, 33, 13),
         (19, 43, 3),
         (19, 5, 8),
         (24, 10, 24),
         (50, 1, 9, 10),
         (51, 1, 9),
         (19, 25, 4, 5),
         (19, 86, 11),
         (19, 119, 32),
         (19, 77, 19),
         (19, 57, 2),
         (44, 2, 28),
         (5, 2, 7),
         (11, 17, 14),
         (12, 3, 16, 18),
         (19, 23, 1, 3),
         (19, 81, 10),
         (23, 33, 15, 16),
         (19, 104, 27, 28),
         (40, 6, 33),
         (42, 12, 32),
         (50, 4, 19),
         (40, 6, 11),
         (20, 30, 8, 9),
         (54, 6, 8),
         (19, 16, 5, 6),
         (19, 68, 10),
         (50, 4, 19),
         (48, 3, 5),
         (5, 33, 12),
         (18, 11, 18, 19),
         (19, 3, 5),
         (19, 4, 8),
         (19, 9, 9),
         (19, 27, 5),
         (19, 54, 4),
         (19, 75, 3),
         (19, 91, 14),
         (19, 91, 9, 11),
         (19, 121, 7, 8),
         (19, 125, 2),
         (20, 18, 10),
         (23, 46, 3, 4),
         (19, 5, 11),
         (19, 119, 117),
         (43, 17, 15),
         (19, 141, 8),
         (19, 59, 9, 10),
         (19, 94, 22),
         (19, 62, 6),
         (24, 17, 17),
         (19, 73, 28),
         (19, 92, 15),
         (19, 91, 2),
         (2, 14, 14),
         (5, 1, 30, 31),
         (5, 20, 1),
         (5, 20, 4),
         (6, 10, 8),
         (6, 10, 25),
         (12, 17, 39),
         (14, 20, 17),
         (19, 55, 18),
         (19, 81, 13, 16),
         (23, 30, 30),
         (23, 30, 32),
         (23, 41, 11, 12),
         (23, 49, 25),
         (23, 54, 15),
         (23, 54, 17),
         (24, 50, 33, 34),
         (26, 34, 27),
         (33, 2, 13),
         (19, 108, 12),
         (29, 2, 17),
         (10, 15, 31),
         (11, 8, 44, 45),
         (14, 14, 11),
         (14, 20, 12),
         (19, 44, 24),
         (19, 44, 26),
         (19, 74, 4),
         (23, 63, 17, 19),
         (19, 17, 7, 9),
         (19, 25, 1, 2),
         (19, 27, 11, 12),
         (19, 31, 15),
         (19, 35, 1),
         (19, 35, 26),
         (19, 56, 1, 2),
         (19, 59, 1),
         (19, 64, 1),
         (19, 69, 18),
         (19, 70, 2),
         (19, 86, 17),
         (19, 89, 50, 51),
         (19, 94, 2, 3),
         (19, 109, 1),
         (19, 109, 4),
         (19, 140, 8),
         (19, 141, 9, 10),
         (19, 143, 9),
         (24, 18, 19, 20),
         (24, 20, 7, 8),
         (25, 5, 1),
         (19, 119, 84),
         (19, 119, 122),
         (19, 17, 1, 2),
         (19, 35, 24),
         (9, 17, 47),
         (19, 57, 3),
         (19, 25, 15),
         (19, 59, 10),
         (10, 22, 49),
         (55, 4, 18),
         (19, 56, 3, 4),
         (25, 3, 58, 59),
         (25, 3, 61),
         (19, 27, 3),
         (19, 31, 14, 15),
         (23, 12, 2),
         (33, 7, 8),
         (1, 3, 15),
         (23, 27, 1),
         (33, 5, 11, 12),
         (42, 10, 19),
         (43, 12, 31, 32),
         (51, 1, 13),
         (51, 2, 14, 15),
         (58, 2, 14, 15),
         (59, 4, 7),
         (60, 3, 22),
         (62, 3, 8),
         (62, 4, 4),
         (62, 5, 4),
         (62, 5, 18),
         (66, 12, 10, 11),
         (66, 17, 14),
         (16, 4, 4, 5),
         (16, 6, 14),
         (19, 9, 19, 20),
         (19, 59, 12),
         (19, 74, 23),
         (19, 82, 8),
         (19, 123, 3),
         (19, 74, 10, 11),
         (23, 26, 10, 11),
         (23, 37, 17),
         (23, 64, 1, 2),
         (24, 10, 25),
         (24, 15, 15),
         (24, 18, 23),
         (47, 10, 5),
         (19, 44, 5),
         (19, 143, 12),
         (1, 17, 7),
         (5, 4, 37),
         (19, 22, 31),
         (19, 102, 28),
         (23, 44, 3, 5),
         (23, 59, 21),
         (23, 61, 9),
         (23, 65, 23, 24),
         (24, 30, 10),
         (24, 31, 16, 17),
         (5, 4, 40),
         (5, 5, 29),
         (5, 12, 28),
         (5, 5, 16),
         (5, 11, 18, 21),
         (19, 112, 1, 2),
         (20, 20, 7),
         (1, 17, 18),
         (7, 13, 8),
         (7, 13, 12),
         (11, 17, 21),
         (9, 1, 11),
         (19, 90, 16, 17),
         (40, 15, 22),
         (40, 17, 15),
         (19, 72, 4),
         (25, 2, 19),
         (41, 5, 23),
         (27, 9, 9),
         (19, 130, 4),
         (19, 27, 13),
         (19, 31, 7),
         (19, 119, 55),
         (19, 33, 21),
         (19, 101, 2),
         (20, 14, 26),
         (19, 51, 13),
         (19, 89, 17),
         (18, 23, 14),
         (19, 16, 2),
         (19, 39, 7),
         (42, 1, 38),
         (19, 34, 10),
         (15, 8, 22),
         (14, 7, 14),
         (5, 4, 29),
         (20, 28, 5),
         (23, 45, 19),
         (20, 2, 3, 5),
         (28, 10, 12),
         (42, 6, 21),
         (43, 6, 35),
         (14, 15, 4),
         (28, 6, 1, 3),
         (23, 55, 6, 7),
         (19, 24, 3, 6),
         (19, 69, 32),
         (19, 34, 4),
         (19, 22, 26),
         (19, 40, 16),
         (19, 70, 4),
         (19, 105, 3),
         (30, 5, 4),
         (40, 7, 7),
         (40, 6, 33),
         (58, 11, 6),
         (19, 63, 1, 2),
         (19, 27, 8),
         (19, 119, 58),
         (19, 42, 1),
         (19, 119, 82),
         (19, 73, 25),
         (19, 143, 6),
         (19, 143, 7, 8),
         (23, 26, 8, 9),
         (19, 119, 131),
         (19, 84, 1, 2),
         (19, 27, 4),
         (19, 119, 10),
         (19, 25, 12, 14),
         (19, 31, 19, 20),
         (19, 33, 18),
         (19, 34, 7),
         (19, 60, 4),
         (19, 103, 13),
         (19, 103, 17),
         (19, 112, 1, 2),
         (19, 112, 1),
         (19, 112, 7, 8),
         (19, 115, 13),
         (19, 128, 1, 4),
         (19, 147, 11),
         (20, 14, 26, 27),
         (20, 19, 23),
         (23, 33, 6),
         (39, 4, 2),
         (24, 32, 38, 40),
         (16, 1, 11),
         (19, 86, 11),
         (19, 119, 74),
         (19, 5, 7),
         (19, 119, 63),
         (19, 119, 120),
         (18, 6, 14),
         (47, 5, 11),
         (19, 34, 9),
         (19, 25, 8, 9),
         (19, 51, 17),
         (19, 138, 6),
         (23, 57, 15),
         (23, 66, 2),
         (19, 146, 8),
         (40, 23, 12),
         (59, 4, 6),
         (59, 4, 10),
         (60, 5, 5, 7),
         (1, 18, 27),
         (18, 42, 5, 6),
         (19, 69, 5),
         (42, 5, 8),
         (19, 79, 8),
         (19, 142, 6),
         (40, 8, 8),
         (25, 3, 1),
         (19, 116, 6),
         (7, 6, 15),
         (46, 15, 9),
         (49, 3, 8),
         (54, 1, 15),
         (19, 40, 17),
         (9, 2, 7),
         (19, 51, 17),
         (50, 4, 12, 13),
         (5, 15, 10),
         (5, 23, 20),
         (5, 24, 19),
         (19, 37, 26),
         (19, 112, 5),
         (20, 19, 17),
         (20, 28, 27),
         (42, 6, 38),
         (42, 14, 12, 14),
         (47, 9, 6),
         (47, 9, 8),
         (47, 9, 10, 11),
         (5, 26, 10),
         (5, 26, 13),
         (13, 29, 14),
         (13, 29, 16),
         (13, 29, 12),
         (13, 21, 24),
         (9, 2, 7),
         (45, 11, 36),
         (5, 11, 8),
         (14, 16, 9),
         (18, 17, 9),
         (19, 50, 23),
         (19, 84, 11, 12),
         (20, 20, 7),
         (20, 21, 21),
         (21, 2, 25, 26),
         (23, 48, 18),
         (23, 64, 5),
         (24, 7, 23),
         (41, 10, 29, 30),
         (42, 12, 42, 44),
         (42, 19, 17),
         (43, 8, 31, 32),
         (43, 14, 23),
         (43, 14, 21),
         (44, 5, 32),
         (49, 6, 8),
         (50, 4, 9),
         (55, 2, 19, 21),
         (59, 1, 25),
         (60, 3, 12),
         (62, 2, 10),
         (62, 3, 21, 22),
         (66, 1, 3),
         (66, 3, 4, 5),
         (66, 14, 13),
         (66, 22, 7),
         (43, 8, 29),
         (2, 33, 13),
         (19, 119, 173),
         (19, 119, 17),
         (19, 119, 33, 34),
         (19, 119, 58),
         (19, 119, 132, 133),
         (19, 119, 135),
         (16, 1, 11),
         (19, 68, 28),
         (19, 71, 3),
         (19, 19, 14),
         (19, 86, 11),
         (19, 143, 10),
         (19, 119, 28),
         (19, 119, 36, 37),
         (19, 141, 3, 4),
         (19, 51, 10),
         (16, 5, 19),
         (16, 13, 14),
         (12, 20, 3),
         (19, 139, 23, 24),
         (19, 119, 80),
         (19, 119, 66),
         (19, 5, 8),
         (19, 43, 3),
         (19, 25, 4, 5),
         (19, 119, 80),
         (58, 13, 20, 21),
         (19, 119, 112),
         (19, 119, 16),
         (19, 39, 1),
         (19, 101, 5),
         (19, 101, 3),
         (19, 101, 6),
         (19, 56, 12),
         (19, 71, 16),
         (19, 119, 7),
         (19, 66, 16),
         (19, 68, 20),
         (23, 53, 12),
         (58, 2, 9),
         (23, 25, 8),
         (19, 109, 31),
         (42, 1, 78, 79),
         (43, 5, 24),
         (19, 23, 4),
         (58, 2, 14, 15),
         (19, 116, 15),
         (47, 5, 1),
         (45, 8, 38, 39),
         (46, 15, 55, 57),
         (46, 15, 21),
         (66, 20, 6),
         (55, 1, 9, 10),
         (66, 1, 17, 18),
         (66, 21, 4),
         (19, 9, 13),
         (19, 18, 4, 5),
         (19, 116, 3),
         (19, 30, 9),
         (19, 13, 3),
         (19, 55, 4),
         (19, 116, 8),
         (19, 118, 18),
         (44, 7, 59),
         (50, 1, 20),
         (21, 8, 8),
         (19, 89, 48),
         (19, 49, 15),
         (18, 19, 25, 27),
         (19, 17, 15),
         (44, 2, 27),
         (19, 56, 13),
         (47, 5, 1),
         (55, 4, 8),
         (61, 3, 13),
         (19, 73, 23, 24),
         (8, 1, 9),
         (1, 48, 15, 16),
         (19, 115, 14, 15),
         (19, 144, 12),
         (4, 6, 24, 26),
         (5, 33, 11),
         (5, 33, 25),
         (6, 1, 17),
         (8, 2, 12),
         (9, 24, 19),
         (10, 15, 20),
         (11, 8, 57, 58),
         (19, 20, 1),
         (19, 20, 4, 5),
         (19, 29, 11),
         (19, 129, 8),
         (19, 134, 3),
         (45, 15, 13),
         (45, 15, 33),
         (45, 16, 25, 27),
         (46, 16, 24),
         (47, 13, 14),
         (49, 6, 23, 24),
         (53, 2, 16, 17),
         (53, 3, 5),
         (53, 3, 16),
         (54, 1, 2),
         (56, 1, 4),
         (61, 1, 2),
         (63, 1, 3),
         (65, 1, 2),
         (58, 13, 20, 21),
         (43, 1, 2),
         (65, 1, 24, 25),
         (66, 1, 4, 5),
         (41, 9, 22, 24),
         (41, 9, 28, 29),
         (42, 8, 45),
         (42, 8, 46),
         (42, 8, 48),
         (41, 6, 5, 6),
         (42, 7, 12, 15),
         (41, 2, 4, 11),
         (40, 8, 2, 3),
         (40, 15, 22, 28),
         (45, 10, 17),
         (45, 8, 31, 32),
         (58, 11, 6),
         (45, 4, 19, 21),
         (58, 11, 26),
         (19, 9, 10),
         (10, 7, 21),
         (47, 6, 16, 7, 1),
         (61, 1, 3, 4),
         (49, 3, 6),
         (47, 1, 19, 20),
         (45, 4, 16),
         (48, 3, 16),
         (24, 33, 14, 16),
         (26, 12, 28),
         (44, 7, 17),
         (58, 6, 12),
         (58, 6, 15),
         (58, 10, 35, 36),
         (58, 11, 33),
         (1, 31, 3),
         (1, 32, 9),
         (1, 32, 12),
         (2, 32, 11, 13),
         (19, 77, 7, 10),
         (10, 7, 20, 21),
         (10, 7, 25),
         (10, 7, 28, 29),
         (27, 9, 2, 3),
         (16, 1, 8, 9),
         (19, 119, 49),
         (19, 119, 58),
         (19, 119, 38),
         (19, 119, 41),
         (19, 119, 76),
         (19, 119, 116),
         (19, 119, 132, 133),
         (19, 119, 154),
         (4, 14, 17),
         (16, 9, 8),
         (11, 8, 56),
         (24, 32, 24),
         (42, 1, 38),
     )
     verses = ""
     count = 0
     biblesSqlite = BiblesSqlite()
     bible = Bible(text)
     for verse in twwyVerses:
         if len(verse) == 3:
             b, c, v = verse
             verses += "({0})\t{1}\n".format(
                 biblesSqlite.bcvToVerseReference(b, c, v),
                 biblesSqlite.readTextVerse(text, b, c, v)[3].strip())
             count += 1
         elif len(verse) == 4:
             b, c, vs, ve = verse
             verses += "({0}-{1})\t".format(
                 biblesSqlite.bcvToVerseReference(b, c, vs), ve)
             v = vs
             while (v <= ve):
                 verses += biblesSqlite.readTextVerse(text, b, c,
                                                      v)[3].strip()
                 verses += " "
                 count += 1
                 v += 1
             verses += "\n"
         elif len(verse) == 5:
             b, cs, vs, ce, ve = verse
             verses += "({0}-{1}:{2})\t".format(
                 biblesSqlite.bcvToVerseReference(b, cs, vs), ce, ve)
             c = cs
             v = vs
             while (biblesSqlite.readTextVerse(text, b, c, v)[3].strip()):
                 verses += biblesSqlite.readTextVerse(text, b, c,
                                                      v)[3].strip()
                 verses += " "
                 count += 1
                 v += 1
             c = ce
             v = 1
             while (v <= ve):
                 verses += biblesSqlite.readTextVerse(text, b, c,
                                                      v)[3].strip()
                 verses += " "
                 count += 1
                 v += 1
             verses += "\n"
     verses += "\nTotal number of verses: {0}\n".format(count)
     return verses
Пример #5
0
 def setupResourceLists(self):
     # bible versions
     self.textList = BiblesSqlite().getBibleList()
     if not config.enableHttpServer and self.textList and not config.mainText in self.textList:
         config.mainText = "KJV" if "KJV" in self.textList else self.textList[
             0]
     self.textFullNameList = [
         Bible(text).bibleInfo() for text in self.textList
     ]
     bibleOHGBiPath = os.path.join(config.marvelData, "bibles",
                                   "OHGBi.bible")
     morphologyDatabase = os.path.join(config.marvelData,
                                       "morphology.sqlite")
     self.strongBibles = ["OHGBi"] if os.path.isfile(
         bibleOHGBiPath) and os.path.isfile(morphologyDatabase) else []
     self.strongBibles += [
         text for text in self.textList if Bible(text).bibleStrong()
     ]
     #if self.versionCombo is not None and config.menuLayout in ("focus", "Starter"):
     #    for index, fullName in enumerate(self.textFullNameList):
     #        self.versionCombo.setItemData(index, fullName, Qt.ToolTipRole)
     # commentaries
     self.commentaryList = Commentary().getCommentaryList()
     if self.commentaryList and not config.commentaryText in self.commentaryList:
         config.commentaryText = "CBSC" if "CBSC" in self.commentaryList else self.commentaryList[
             0]
     #self.commentaryFullNameList = [Commentary(module).commentaryInfo() for module in self.commentaryList]
     self.commentaryFullNameList = []
     for module in self.commentaryList:
         info = Commentary(module).commentaryInfo()
         if info == "https://Marvel.Bible Commentary" and module in Commentary.marvelCommentaries:
             info = Commentary.marvelCommentaries[module]
         self.commentaryFullNameList.append(info)
     # reference book
     # menu10_dialog
     bookData = BookData()
     self.referenceBookList = [book for book, *_ in bookData.getBookList()]
     # open database
     indexes = IndexesSqlite()
     # topic
     # menu5_topics
     topicDictAbb2Name = {abb: name for abb, name in indexes.topicList}
     self.topicListAbb = list(topicDictAbb2Name.keys())
     topicDict = {name: abb for abb, name in indexes.topicList}
     self.topicList = list(topicDict.keys())
     # lexicon
     # context1_originalLexicon
     self.lexiconList = LexiconData().lexiconList
     # dictionary
     # context1_dict
     dictionaryDictAbb2Name = {
         abb: name
         for abb, name in indexes.dictionaryList
     }
     self.dictionaryListAbb = list(dictionaryDictAbb2Name.keys())
     dictionaryDict = {name: abb for abb, name in indexes.dictionaryList}
     self.dictionaryList = list(dictionaryDict.keys())
     # encyclopedia
     # context1_encyclopedia
     encyclopediaDictAbb2Name = {
         abb: name
         for abb, name in indexes.encyclopediaList
     }
     self.encyclopediaListAbb = list(encyclopediaDictAbb2Name.keys())
     encyclopediaDict = {
         name: abb
         for abb, name in indexes.encyclopediaList
     }
     self.encyclopediaList = list(encyclopediaDict.keys())
     # 3rd-party dictionary
     # menu5_3rdDict
     self.thirdPartyDictionaryList = ThirdPartyDictionary(
         self.isThridPartyDictionary(config.thirdDictionary)).moduleList
     # pdf list
     # self.pdfList = sorted([os.path.basename(file) for file in glob.glob(r"{0}/pdf/*.pdf".format(config.marvelData))])
     self.pdfList = CatalogUtil.getPDFs()
     # epub list
     self.epubList = sorted([
         os.path.basename(file)
         for file in glob.glob(r"{0}/epub/*.epub".format(config.marvelData))
     ])
     # docx list
     self.docxList = sorted([
         os.path.basename(file)
         for file in glob.glob(r"{0}/docx/*.docx".format(config.marvelData))
     ])
Пример #6
0
    def __init__(self, filetype, filename):
        super().__init__()

        from db.BiblesSqlite import Bible
        self.fontDatabase = QFontDatabase()

        self.filetype = filetype
        self.filename = filename

        self.setWindowTitle(config.thisTranslation["modify_database"])
        self.layout = QVBoxLayout()
        self.setMinimumWidth(300)

        if filetype == "bible":
            self.bible = Bible(filename)
            self.bible.addMissingColumns()
            (fontName, fontSize, css) = self.bible.getFontInfo()
            if fontName is None:
                fontName = ""
            if fontSize is None:
                fontSize = ""

            self.layout.addWidget(
                QLabel("{0}: {1}".format(config.thisTranslation["name"],
                                         filename)))

            row = QHBoxLayout()
            row.addWidget(
                QLabel("{0}: ".format(config.thisTranslation["title"])))
            self.bibleTitle = QLineEdit()
            self.bibleTitle.setText(self.bible.bibleInfo())
            self.bibleTitle.setMaxLength(100)
            row.addWidget(self.bibleTitle)
            self.layout.addLayout(row)

            grid = QGridLayout()

            self.builtinFonts = [""] + self.fontDatabase.families()
            try:
                index = self.builtinFonts.index(
                    fontName.replace(".builtin", ""))
            except:
                index = 0
            self.useBuiltinFont = QRadioButton()
            self.useBuiltinFont.clicked.connect(
                lambda: self.selectRadio("builtin"))
            grid.addWidget(self.useBuiltinFont, 0, 0)
            grid.addWidget(QLabel("{0}: ".format("Built-in font")), 0, 1)
            self.builtinFontList = QComboBox()
            self.builtinFontList.addItems(self.builtinFonts)
            self.builtinFontList.setCurrentIndex(index)
            grid.addWidget(self.builtinFontList, 0, 2)

            fonts = sorted(glob.glob(r"htmlResources/fonts/*.*"))
            self.fontFiles = [''] + [os.path.basename(font) for font in fonts]
            try:
                index = self.fontFiles.index(fontName)
            except:
                index = 0
            row = QHBoxLayout()
            self.useFileFont = QRadioButton()
            self.useFileFont.clicked.connect(lambda: self.selectRadio("file"))
            grid.addWidget(self.useFileFont, 1, 0)
            row.addStretch(1)
            grid.addWidget(QLabel("{0}: ".format("Font file")), 1, 1)
            self.fileFontList = QComboBox()
            self.fileFontList.addItems(self.fontFiles)
            self.fileFontList.setCurrentIndex(index)
            grid.addWidget(self.fileFontList, 1, 2)
            self.layout.addLayout(grid)
        else:
            self.layout.addWidget(
                QLabel("{0} is not supported".format(filetype)))

        row = QHBoxLayout()
        row.addWidget(
            QLabel("{0}: ".format(config.thisTranslation["menu2_fontSize"])))
        self.fontSize = QLineEdit()
        self.fontSize.setText(fontSize)
        self.fontSize.setMaxLength(20)
        row.addWidget(self.fontSize)
        self.layout.addLayout(row)

        self.languageCodes = [""
                              ] + [value for value in Languages.code.values()]

        row = QHBoxLayout()
        row.addWidget(
            QLabel("{0}: ".format(config.thisTranslation["menu_language"])))
        self.languageList = QComboBox()
        row.addWidget(self.languageList)
        self.languageList.addItems(self.languageCodes)
        self.languageList.setCurrentIndex(
            self.languageCodes.index(self.bible.getLanguage()))
        self.layout.addLayout(row)

        buttons = QDialogButtonBox.Ok | QDialogButtonBox.Cancel
        self.buttonBox = QDialogButtonBox(buttons)
        self.buttonBox.accepted.connect(self.save)
        self.buttonBox.accepted.connect(self.accept)
        self.buttonBox.rejected.connect(self.reject)
        self.layout.addWidget(self.buttonBox)
        self.setLayout(self.layout)

        if ".ttf" in fontName:
            self.selectRadio("file")
        else:
            self.selectRadio("builtin")