Skip to content

Commit 6c1fcde

Browse files
committed
Add: part extraction rules
1 parent 09dd9ee commit 6c1fcde

File tree

1 file changed

+19
-1
lines changed
  • Source/Core/Base/Parsers/Components/ChapterHeaderParser

1 file changed

+19
-1
lines changed

Source/Core/Base/Parsers/Components/ChapterHeaderParser/Manga.py

Lines changed: 19 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -93,6 +93,24 @@ def _ExtractPart(self):
9393
Buffer = ""
9494
Offset = 0
9595

96+
#---> Проверка возможности извлечения части.
97+
#==========================================================================================#
98+
IsExctractable = False
99+
100+
# Проверка по соответствию последнего слова заголовка слову идентификатору.
101+
Parts = tuple(Value.lower() for Value in self._Header.split())
102+
for Part in Parts[::-1]:
103+
if Part.isalpha():
104+
if Part == self._WordsDictionary.part: IsExctractable = True
105+
break
106+
107+
# Проверка по наличию скобочки в конце строки.
108+
if self._Header[:-1] in (")", "]"): IsExctractable = True
109+
110+
if not IsExctractable: return
111+
112+
#---> Извлечение части.
113+
#==========================================================================================#
96114
for Character in self._Header[::-1]:
97115
Offset += 1
98116
if Character.isdigit() or Character in (".",): Buffer += Character
@@ -104,7 +122,7 @@ def _ExtractPart(self):
104122
self._Number = f"{self._Number}.{Buffer}"
105123
ChapterName = self._Header[:Offset * -1]
106124
ChapterName = ChapterName.rstrip("()[] ")
107-
if ChapterName.lower().endswith(self._WordsDictionary.part): ChapterName = ChapterName[:-5]
125+
if ChapterName.lower().endswith(self._WordsDictionary.part): ChapterName = ChapterName[:len(self._WordsDictionary.part) * -1]
108126
ChapterName = ChapterName.rstrip("()[] ")
109127
self._Header = ChapterName
110128

0 commit comments

Comments
 (0)