Commit 886bd46c authored by Dmitry Shelepnev's avatar Dmitry Shelepnev
Browse files

Fix Series scan

parent 61b7b60e
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -149,10 +149,11 @@ class FB2Base(BookFile):
        if len(res) > 0:
            title = BookFile.__normalise_string__(res[0].get('name'))
            index = BookFile.__normalise_string__(res[0].get('number'))

            if title:
                self.series_info = {
                    'title': title,
                    'index': index or None
                    'index': index
                }

    def __detect_description(self, tree):
+6 −8
Original line number Diff line number Diff line
@@ -319,20 +319,18 @@ class FB2sax(BookFile):
            self.__add_tag__(genre.lower().strip(strip_symbols))

    def __detect_series_info(self):
        for s in self.fb2parser.series.attrss:
        if len(self.fb2parser.series.attrss)>0:
            s = self.fb2parser.series.attrss[0]
            ser_name = s.get('name')
            if ser_name:
                ser_name = ser_name.strip(strip_symbols)
                ser_no = s.get('number', '0').strip(strip_symbols)
                ser_no = int(ser_no) if ser_no.isdigit() else None
                title = ser_name.strip(strip_symbols)
                index = s.get('number', '0').strip(strip_symbols)

                self.series_info = {
                    'title': ser_name,
                    'index': ser_no
                    'title': title,
                    'index': index
                }

        return None

    def __detect_description(self):
        res = ''
        if len(self.fb2parser.annotation.getvalue()) > 0:
+5 −4
Original line number Diff line number Diff line
@@ -240,11 +240,12 @@ class opdsScanner:
                    for genre in book_data.tags:
                        opdsdb.addbgenre(book,opdsdb.addgenre(genre.lower().strip(strip_symbols)))

                    for ser in self.fb2parser.series.attrss:
                        ser_name=ser.get('title').strip()
                        ser_no = ser.get('index', '0').strip()

                    if book_data.series_info:
                        ser = opdsdb.addseries(book_data.series_info['title'])
                        ser_no = book_data.series_info['index']
                        ser_no = int(ser_no) if ser_no.isdigit() else 0
                        opdsdb.addbseries(book,ser_name,ser_no)
                        opdsdb.addbseries(book,ser,ser_no)
            else:
                self.books_skipped+=1
                self.logger.debug("Book "+rel_path+"/"+name+" Already in DB.")