fix docs for (sources/filters).files
This commit is contained in:
parent
30d0270901
commit
5861836852
@ -7,6 +7,17 @@ from pddnsc.base import BaseFilterProvider
|
||||
|
||||
|
||||
class GenericTextFileFilter(BaseFilterProvider):
|
||||
"""Проверка на то что хотябы один IP адрес изменился по сравнению с текстом в файле
|
||||
|
||||
Конфигурация:
|
||||
|
||||
- filepath: имя файла
|
||||
- encoding: кодировка, по умолчанию "utf-8"
|
||||
- mode: режим открытия, по умолчанию "r"
|
||||
- check_ipv4: проверять ли IPv4, по умолчанию нет если check_ipv6 есть в конфиге иначе да
|
||||
- check_ipv6: проверять ли IPv6, по умолчанию нет если check_ipv4 есть в конфиге иначе да
|
||||
"""
|
||||
|
||||
def post_init(self):
|
||||
super().post_init()
|
||||
self.filepath = self.config["filepath"]
|
||||
@ -31,7 +42,7 @@ class GenericTextFileFilter(BaseFilterProvider):
|
||||
if self.check_ipv4:
|
||||
lst.append(addr_v6)
|
||||
new_content = "\n".join(lst)
|
||||
return new_content == self.content
|
||||
return new_content != self.content
|
||||
|
||||
async def check(self, source_provider: str, addr_v4: str, addr_v6: str) -> bool:
|
||||
if not isfile(self.filepath):
|
||||
@ -41,12 +52,7 @@ class GenericTextFileFilter(BaseFilterProvider):
|
||||
|
||||
|
||||
class StateHashFilter(GenericTextFileFilter):
|
||||
"""Проверка на то что хотябы один IP адрес изменился по хешу сохраненному в файле
|
||||
|
||||
Конфигурация:
|
||||
|
||||
- filepath: имя файла
|
||||
"""
|
||||
"""Проверка на то что хотябы один IP адрес изменился по хешу сохраненному в файле"""
|
||||
|
||||
async def check_imp(self, source_provider: str, addr_v4: str, addr_v6: str) -> bool:
|
||||
new_state_str = (self.check_ipv4 and addr_v4 or "") + (
|
||||
@ -57,16 +63,7 @@ class StateHashFilter(GenericTextFileFilter):
|
||||
|
||||
|
||||
class StateFileFilter(GenericTextFileFilter):
|
||||
"""Проверка на то что хотябы один IP адрес изменился по сравнению с данными в json файле
|
||||
|
||||
Конфигурация:
|
||||
|
||||
- filepath: имя файла
|
||||
- check_ipv4: проверка ipv4 адреса
|
||||
- check_ipv6: проверка ipv6 адреса
|
||||
|
||||
если нет ни одного параметра то проверка выполняется для всех адресов
|
||||
"""
|
||||
"""Проверка на то что хотябы один IP адрес изменился по сравнению с данными в json файле"""
|
||||
|
||||
async def check_imp(self, source_provider: str, addr_v4: str, addr_v6: str) -> bool:
|
||||
new_state = {}
|
||||
|
@ -6,6 +6,17 @@ from pddnsc.base import BaseOutputProvider
|
||||
|
||||
|
||||
class GenericTextFile(BaseOutputProvider):
|
||||
"""Сохранение IP адресов в текстовый файл
|
||||
|
||||
Конфигурация:
|
||||
|
||||
- filepath: имя файла
|
||||
- encoding: кодировка, по умолчанию "utf-8"
|
||||
- mode: режим открытия, по умолчанию "w"
|
||||
- save_ipv4: сохранять ли IPv4, по умолчанию нет если save_ipv6 есть в конфиге иначе да
|
||||
- save_ipv6: сохранять ли IPv6, по умолчанию нет если save_ipv4 есть в конфиге иначе да
|
||||
"""
|
||||
|
||||
def post_init(self):
|
||||
super().post_init()
|
||||
self.filepath = self.config["filepath"]
|
||||
@ -41,12 +52,7 @@ class GenericTextFile(BaseOutputProvider):
|
||||
|
||||
|
||||
class StateFile(GenericTextFile):
|
||||
"""Схранение всех IP адресов в json файл
|
||||
|
||||
Конфигурация:
|
||||
|
||||
- filepath: имя файла
|
||||
"""
|
||||
"""Сохранение всех IP адресов в json файл"""
|
||||
|
||||
async def set_content(self, addr_v4: str, addr_v6: str):
|
||||
state = {}
|
||||
@ -58,12 +64,7 @@ class StateFile(GenericTextFile):
|
||||
|
||||
|
||||
class StateHashFile(GenericTextFile):
|
||||
"""Сохранение хеша от всех IP адресов в файл
|
||||
|
||||
Конфигурация:
|
||||
|
||||
- filepath: имя файла
|
||||
"""
|
||||
"""Сохранение хеша от всех IP адресов в файл"""
|
||||
|
||||
async def set_content(self, addr_v4: str, addr_v6: str):
|
||||
state_str = (self.save_ipv4 and addr_v4 or "") + (
|
||||
|
Loading…
Reference in New Issue
Block a user