Добавлена валидация в ParsManager
This commit is contained in:
@@ -1,5 +1,6 @@
|
|||||||
import json
|
import json
|
||||||
from pprint import pprint
|
from pprint import pprint
|
||||||
|
from cerberus import Validator
|
||||||
|
|
||||||
class JsonManager:
|
class JsonManager:
|
||||||
'''Класс для работы с json файлами во время парсинга'''
|
'''Класс для работы с json файлами во время парсинга'''
|
||||||
@@ -8,6 +9,13 @@ class JsonManager:
|
|||||||
'''Конструктор
|
'''Конструктор
|
||||||
|
|
||||||
encoding: кодировка открываемого файла'''
|
encoding: кодировка открываемого файла'''
|
||||||
|
schema = {
|
||||||
|
'encoding': {'type': 'string'}
|
||||||
|
}
|
||||||
|
v = Validator(schema)
|
||||||
|
if not v.validate({'encoding': encoding}):
|
||||||
|
raise ValueError(v.errors)
|
||||||
|
|
||||||
self.encoding = encoding
|
self.encoding = encoding
|
||||||
|
|
||||||
def pprint(self, data: any) -> None:
|
def pprint(self, data: any) -> None:
|
||||||
@@ -20,6 +28,14 @@ class JsonManager:
|
|||||||
'''Получаем данные из json файла
|
'''Получаем данные из json файла
|
||||||
|
|
||||||
pathToJsonFile: путь до json файла'''
|
pathToJsonFile: путь до json файла'''
|
||||||
|
|
||||||
|
schema = {
|
||||||
|
'pathToJsonFile': {'type': 'string'}
|
||||||
|
}
|
||||||
|
v = Validator(schema)
|
||||||
|
if not v.validate({'pathToJsonFile': pathToJsonFile}):
|
||||||
|
raise ValueError(v.errors)
|
||||||
|
|
||||||
with open(pathToJsonFile, encoding=self.encoding) as jsonFile:
|
with open(pathToJsonFile, encoding=self.encoding) as jsonFile:
|
||||||
src = json.load(jsonFile)
|
src = json.load(jsonFile)
|
||||||
return src
|
return src
|
||||||
@@ -29,5 +45,13 @@ class JsonManager:
|
|||||||
|
|
||||||
pathToJsonFile: путь до json файла
|
pathToJsonFile: путь до json файла
|
||||||
data: данные которые надо записать'''
|
data: данные которые надо записать'''
|
||||||
|
|
||||||
|
schema = {
|
||||||
|
'pathToJsonFile': {'type': 'string'}
|
||||||
|
}
|
||||||
|
v = Validator(schema)
|
||||||
|
if not v.validate({'pathToJsonFile': pathToJsonFile}):
|
||||||
|
raise ValueError(v.errors)
|
||||||
|
|
||||||
with open(pathToJsonFile, 'w', encoding=self.encoding) as jsonFile:
|
with open(pathToJsonFile, 'w', encoding=self.encoding) as jsonFile:
|
||||||
json.dump(data, jsonFile, indent=4, ensure_ascii=0)
|
json.dump(data, jsonFile, indent=4, ensure_ascii=0)
|
||||||
Reference in New Issue
Block a user