Esempio n. 1
0
 def testGetThirdChapter(self):
     nb = Notabenoid('19980')
     for l in nb.get_chapter(3):
         pass
     self.assertEqual(l, 
                      '.\r\n',
                      'wrong first chapter')
Esempio n. 2
0
 def testGetBookInfoByID(self):
     nb = Notabenoid('19980')
     self.assertEqual(nb.get_book_name(), 
                      'A DANCE WITH DRAGONS / ТАНЕЦ С ДРАКОНАМИ',
                      'wrong book name receive')
     self.assertEqual(nb.get_book_img(), 
                      'http://notabenoid.com/i//book/1/19980-45199.jpg',
                      'wrong book image url receive')
Esempio n. 3
0
class Notabenoid2FB2():
    '''
    Class for creation FB2 from Notabenoid.
    '''

    def __init__(self, book_id):
        '''
        Constructor
        '''
        self.nb = Notabenoid(book_id)
        name = self.nb.get_book_name()
        name = name.split('/')[0]
        name = name.strip()
        name = name.replace(' ', '_')
        name = name.lower()
        self.file_name = name
        fb2 = FB2Creator(name)
        fb2.set_generator(self.nb.content())
        fb2.set_notifier(self.print_chapter)
        fb2.set_end_of_chapter_symbol(self.nb.end_of_chapter())
        self.fb2 = fb2
        self.current_chapter = 0
    
    def print_chapter(self, s):
        '''
        Print log for each chapter.
        '''
        self.current_chapter += 1
        print(s + ' ' + str(self.current_chapter))
        
    def get_file_name(self):
        '''
        Get output file name.
        '''
        return self.fb2.get_file_name()
    
    def generate(self):
        '''
        Generate book.
        '''
        self.fb2.create_file()
        
    def get_chapter_number(self):
        '''
        Return number of chapter in book.
        '''
        return self.nb.get_chapter_number()
    
    def set_notifier(self, n):
        '''
        Set notifier called for each chapter.
        '''
        self.fb2.set_notifier(n)
Esempio n. 4
0
 def __init__(self, book_id):
     '''
     Constructor
     '''
     self.nb = Notabenoid(book_id)
     name = self.nb.get_book_name()
     name = name.split('/')[0]
     name = name.strip()
     name = name.replace(' ', '_')
     name = name.lower()
     self.file_name = name
     fb2 = FB2Creator(name)
     fb2.set_generator(self.nb.content())
     fb2.set_notifier(self.print_chapter)
     fb2.set_end_of_chapter_symbol(self.nb.end_of_chapter())
     self.fb2 = fb2
     self.current_chapter = 0
Esempio n. 5
0
 def testGetChapterNumber(self):
     nb = Notabenoid('19980')
     self.assertEqual(nb.get_chapter_number(), 
                      75,
                      'wrong chapter number')
Esempio n. 6
0
 def testGetFirstLine(self):
     nb = Notabenoid('19980')
     self.assertEqual(nb.content().__next__(), 
                      'ПОЯСНЕНИЯ К ХРОНОЛОГИИ\r\n',
                      'wrong first book line')
Esempio n. 7
0
 def testGetChapter(self):
     nb = Notabenoid('19980')
     links = nb.get_chapters_links()
     self.assertEqual(links[0],
                      '/book/19980/65224/ready',
                      'wrong chapters link receive')