Для проверки сущностей при создании или обновлении фида используйте следующие схемы JSON. Схемы основаны на спецификации JSON Schema . Добавив модульный тест для проверки создаваемых вами объектов, вы можете обнаружить проблемы, которые могут повлиять на качество канала. Вы также можете использовать эти схемы при разработке своего фида, чтобы избежать распространенных ошибок.
Выберите схему действий с мультимедиа
- Схема Video On Demand проверяет сущности
Movie
,TVEpisode
,TVSeries
иTVSeason
. - Схема Live TV проверяет объекты
BroadcastEvent
,BroadcastService
,CableOrSatelliteService
,Movie
,Organization
,SportsEvent
,TelevisionChannel
,TVEpisode
,TVSeason
иTVSeries
. - Music Schema проверяет объекты
MusicAlbum
,MusicGroup
,MusicPlaylist
иMusicRecording
. - Радиосхема проверяет объекты
RadioBroadcastService
.
Используйте спецификацию на этом сайте как источник истины, поскольку в этих схемах могут быть реализованы не все функции.
Выберите валидатор
Список реализаций валидаторов можно найти на сайте json-schema.org .
Предоставленные схемы написаны в проекте 7 , поэтому выбранная вами реализация должна поддерживать эту версию для правильной работы.
Пример проверки
В следующем примере показано, как проверить все объекты, присутствующие в файле feed.json
с помощью файла схемы schema.json
и модуля Python jsonschema . Сущности находятся в свойстве dataFeedElement
, как указано в документации конверта канала данных .
import json
from jsonschema import validate
# Loading the schema file
with open("schema.json", "r") as fp:
schema = json.load(fp)
# Opening the feed
with open("feed.json", "r") as fp:
feed = json.load(fp)
# Validating each entity in the feed
for entity in feed["dataFeedElement"] :
try:
validate(schema=schema, instance=entity)
print("Entity validated successfully")
except Exception as e:
# e may contain an explanation as to why the entity wasn't valid
print("Failed to validate the entity")