Added nullability to schema

This commit is contained in:
Alexander Biryukov 2019-07-18 12:50:04 +03:00
parent 5d650d0f61
commit decae705e6

View File

@ -15,52 +15,95 @@
"type": "string" "type": "string"
}, },
"duration": { "duration": {
"type": "string" "type": [
"string",
"number",
"null"
]
}, },
"formats": { "formats": {
"type": "array", "type": [
"array",
"null"
],
"items": { "items": {
"$ref": "#/definitions/format" "$ref": "#/definitions/format"
} }
}, },
"creator": { "creator": {
"type": "string" "type": [
"string",
"null"
]
}, },
"timestamp": { "timestamp": {
"type": "integer" "type": [
"integer",
"null"
]
}, },
"uploader": { "uploader": {
"type": "string" "type": [
"string",
"null"
]
}, },
"channel": { "channel": {
"type": "string" "type": [
"string",
"null"
]
}, },
"description": { "description": {
"type": "string" "type": [
"string",
"null"
]
}, },
"categories": { "categories": {
"type": "array", "type": [
"array",
"null"
],
"items": { "items": {
"type": "string" "type": [
"string",
"null"
]
} }
}, },
"tags": { "tags": {
"type": "array", "type": [
"array",
"null"
],
"items": { "items": {
"type": "string" "type": [
"string",
"null"
]
} }
}, },
"thumbnails": { "thumbnails": {
"type": "array", "type": [
"array",
"null"
],
"items": { "items": {
"$ref": "#/definitions/thumbnail" "$ref": "#/definitions/thumbnail"
} }
}, },
"thumbnail": { "thumbnail": {
"type": "string" "type": [
"string",
"null"
]
}, },
"chapters": { "chapters": {
"type": "array", "type": [
"array",
"null"
],
"items": { "items": {
"$ref": "#/definitions/chapter" "$ref": "#/definitions/chapter"
} }
@ -68,178 +111,338 @@
"subtitles": { "subtitles": {
"type": "object", "type": "object",
"additionalProperties": { "additionalProperties": {
"type": "array", "type": [
"array",
"null"
],
"items": { "items": {
"$ref": "#/definitions/subtitle" "$ref": "#/definitions/subtitle"
} }
} }
}, },
"playlist": { "playlist": {
"type": "string" "type": [
"string",
"null"
]
}, },
"comments": { "comments": {
"type": "array", "type": [
"array",
"null"
],
"items": { "items": {
"$ref": "#/definitions/comment" "$ref": "#/definitions/comment"
} }
}, },
"chapter": { "chapter": {
"type": "string" "type": [
"string",
"null"
]
}, },
"series": { "series": {
"type": "string" "type": [
"string",
"null"
]
}, },
"season": { "season": {
"type": "string" "type": [
"string",
"null"
]
}, },
"episode": { "episode": {
"type": "string" "type": [
"string",
"null"
]
}, },
"track": { "track": {
"type": "string" "type": [
"string",
"null"
]
}, },
"artist": { "artist": {
"type": "string" "type": [
"string",
"null"
]
}, },
"genre": { "genre": {
"type": "string" "type": [
"string",
"null"
]
}, },
"album": { "album": {
"type": "string" "type": [
"string",
"null"
]
}, },
"extractor": { "extractor": {
"type": "string" "type": [
"string",
"null"
]
}, },
"license": { "license": {
"type": "string" "type": [
"string",
"null"
]
}, },
"location": { "location": {
"type": "string" "type": [
"string",
"null"
]
}, },
"webpage_url": { "webpage_url": {
"type": "string" "type": [
"string",
"null"
]
}, },
"release_date": { "release_date": {
"type": "string" "type": [
"string",
"null"
]
}, },
"upload_date": { "upload_date": {
"type": "string" "type": [
"string",
"null"
]
}, },
"uploader_id": { "uploader_id": {
"type": "string" "type": [
"string",
"null"
]
}, },
"uploader_url": { "uploader_url": {
"type": "string" "type": [
"string",
"null"
]
}, },
"channel_id": { "channel_id": {
"type": "string" "type": [
"string",
"null"
]
}, },
"channel_url": { "channel_url": {
"type": "string" "type": [
"string",
"null"
]
}, },
"requested_subtitles": { "requested_subtitles": {
"type": "object", "type": "object",
"additionalProperties": { "additionalProperties": {
"type": "array", "type": [
"array",
"null"
],
"$ref": "#/definitions/subtitle" "$ref": "#/definitions/subtitle"
} }
}, },
"automatic_captions": { "automatic_captions": {
"type": "object", "type": "object",
"additionalProperties": { "additionalProperties": {
"type": "array", "type": [
"array",
"null"
],
"$ref": "#/definitions/subtitle" "$ref": "#/definitions/subtitle"
} }
}, },
"playlist_index": { "playlist_index": {
"type": "string" "type": [
"string",
"null"
]
}, },
"playlist_id": { "playlist_id": {
"type": "string" "type": [
"string",
"null"
]
}, },
"playlist_title": { "playlist_title": {
"type": "string" "type": [
"string",
"null"
]
}, },
"playlist_uploader": { "playlist_uploader": {
"type": "string" "type": [
"string",
"null"
]
}, },
"playlist_uploader_id": { "playlist_uploader_id": {
"type": "string" "type": [
"string",
"null"
]
}, },
"view_count": { "view_count": {
"type": "integer" "type": [
"integer",
"null"
]
}, },
"average_rating": { "average_rating": {
"type": "string" "type": [
"string",
"number",
"null"
]
}, },
"like_count": { "like_count": {
"type": "integer" "type": [
"integer",
"null"
]
}, },
"dislike_count": { "dislike_count": {
"type": "integer" "type": [
"integer",
"null"
]
}, },
"repost_count": { "repost_count": {
"type": "integer" "type": [
"integer",
"null"
]
}, },
"comment_count": { "comment_count": {
"type": "integer" "type": [
"integer",
"null"
]
}, },
"chapter_number": { "chapter_number": {
"type": "string" "type": [
"string",
"null"
]
}, },
"chapter_id": { "chapter_id": {
"type": "string" "type": [
"string",
"null"
]
}, },
"season_number": { "season_number": {
"type": "string" "type": [
"string",
"null"
]
}, },
"season_id": { "season_id": {
"type": "string" "type": [
"string",
"null"
]
}, },
"episode_number": { "episode_number": {
"type": "string" "type": [
"string",
"null"
]
}, },
"episode_id": { "episode_id": {
"type": "string" "type": [
"string",
"null"
]
}, },
"track_number": { "track_number": {
"type": "string" "type": [
"string",
"null"
]
}, },
"track_id": { "track_id": {
"type": "string" "type": [
"string",
"null"
]
}, },
"album_type": { "album_type": {
"type": "string" "type": [
"string",
"null"
]
}, },
"album_artist": { "album_artist": {
"type": "string" "type": [
"string",
"null"
]
}, },
"disc_number": { "disc_number": {
"type": "integer" "type": [
"integer",
"null"
]
}, },
"release_year": { "release_year": {
"type": "integer" "type": [
"integer",
"null"
]
}, },
"start_time": { "start_time": {
"type": "string" "type": [
"string",
"null"
]
}, },
"end_time": { "end_time": {
"type": "string" "type": [
"string",
"null"
]
}, },
"extractor_key": { "extractor_key": {
"type": "string" "type": [
"string",
"null"
]
}, },
"display_id": { "display_id": {
"type": "string" "type": [
"string",
"null"
]
}, },
"is_live": { "is_live": {
"type": "boolean" "type": [
"boolean",
"null"
]
}, },
"age_limit": { "age_limit": {
"type": "integer" "type": [
"integer",
"null"
]
}, },
"alt_title": { "alt_title": {
"type": "string" "type": [
"string",
"null"
]
} }
} }
}, },
@ -248,13 +451,22 @@
"id": "urn:jsonschema:youtube-dl-chapter", "id": "urn:jsonschema:youtube-dl-chapter",
"properties": { "properties": {
"title": { "title": {
"type": "string" "type": [
"string",
"null"
]
}, },
"start_time": { "start_time": {
"type": "string" "type": [
"string",
"null"
]
}, },
"end_time": { "end_time": {
"type": "string" "type": [
"string",
"null"
]
} }
} }
}, },
@ -263,30 +475,54 @@
"id": "urn:jsonschema:youtube-dl-comment", "id": "urn:jsonschema:youtube-dl-comment",
"properties": { "properties": {
"author": { "author": {
"type": "string" "type": [
"string",
"null"
]
}, },
"id": { "id": {
"type": "string" "type": [
"string",
"null"
]
}, },
"html": { "html": {
"type": "string" "type": [
"string",
"null"
]
}, },
"text": { "text": {
"type": "string" "type": [
"string",
"null"
]
}, },
"timestamp": { "timestamp": {
"type": "integer" "type": [
"integer",
"null"
]
}, },
"parent": { "parent": {
"type": "string" "type": [
"string",
"null"
]
}, },
"author_id": { "author_id": {
"type": "string" "type": [
"string",
"null"
]
} }
} }
}, },
"protocol": { "protocol": {
"type": "string", "type": [
"string",
"null"
],
"enum": [ "enum": [
"http", "http",
"https", "https",
@ -306,13 +542,22 @@
"id": "urn:jsonschema:youtube-dl-subtitle", "id": "urn:jsonschema:youtube-dl-subtitle",
"properties": { "properties": {
"url": { "url": {
"type": "string" "type": [
"string",
"null"
]
}, },
"data": { "data": {
"type": "string" "type": [
"string",
"null"
]
}, },
"ext": { "ext": {
"type": "string" "type": [
"string",
"null"
]
} }
} }
}, },
@ -321,22 +566,40 @@
"id": "urn:jsonschema:youtube-dl-thumbnail", "id": "urn:jsonschema:youtube-dl-thumbnail",
"properties": { "properties": {
"id": { "id": {
"type": "string" "type": [
"string",
"null"
]
}, },
"url": { "url": {
"type": "string" "type": [
"string",
"null"
]
}, },
"preference": { "preference": {
"type": "integer" "type": [
"integer",
"null"
]
}, },
"width": { "width": {
"type": "integer" "type": [
"integer",
"null"
]
}, },
"height": { "height": {
"type": "integer" "type": [
"integer",
"null"
]
}, },
"filesize": { "filesize": {
"type": "integer" "type": [
"integer",
"null"
]
} }
} }
}, },
@ -345,132 +608,237 @@
"id": "urn:jsonschema:youtube-dl-fragment", "id": "urn:jsonschema:youtube-dl-fragment",
"properties": { "properties": {
"url": { "url": {
"type": "string" "type": [
"string",
"null"
]
}, },
"path": { "path": {
"type": "string" "type": [
"string",
"null"
]
}, },
"duration": { "duration": {
"type": "string" "type": [
"string",
"null"
]
}, },
"filesize": { "filesize": {
"type": "integer" "type": [
"integer",
"null"
]
} }
} }
}, },
"format": { "format": {
"type": "object", "type": "object",
"id": "urn:jsonschema:youtube-dl-format", "id": "urn:jsonschema:youtube-dl-format",
"required": [
"url"
],
"properties": { "properties": {
"url": { "url": {
"type": "string" "type": [
"string",
"null"
]
}, },
"ext": { "ext": {
"type": "string" "type": [
"string",
"null"
]
}, },
"format": { "format": {
"type": "string" "type": [
"string",
"null"
]
}, },
"width": { "width": {
"type": "integer" "type": [
"integer",
"null"
]
}, },
"height": { "height": {
"type": "integer" "type": [
"integer",
"null"
]
}, },
"resolution": { "resolution": {
"type": "string" "type": [
"string",
"null"
]
}, },
"fps": { "fps": {
"type": "integer" "type": [
"integer",
"null"
]
}, },
"container": { "container": {
"type": "string" "type": [
"string",
"null"
]
}, },
"filesize": { "filesize": {
"type": "integer" "type": [
"integer",
"null"
]
}, },
"protocol": { "protocol": {
"$ref": "#/definitions/protocol" "$ref": "#/definitions/protocol"
}, },
"fragments": { "fragments": {
"type": "array", "type": [
"array",
"null"
],
"items": { "items": {
"$ref": "#/definitions/fragment" "$ref": "#/definitions/fragment"
} }
}, },
"preference": { "preference": {
"type": "string" "type": [
"string",
"null"
]
}, },
"language": { "language": {
"type": "string" "type": [
"string",
"null"
]
}, },
"quality": { "quality": {
"type": "integer" "type": [
"integer",
"null"
]
}, },
"manifest_url": { "manifest_url": {
"type": "string" "type": [
"string",
"null"
]
}, },
"format_id": { "format_id": {
"type": "string" "type": [
"string",
"null"
]
}, },
"format_note": { "format_note": {
"type": "string" "type": [
"string",
"null"
]
}, },
"tbr": { "tbr": {
"type": "integer" "type": [
"number",
"null"
]
}, },
"abr": { "abr": {
"type": "integer" "type": [
"number",
"null"
]
}, },
"acodec": { "acodec": {
"type": "string" "type": [
"string",
"null"
]
}, },
"asr": { "asr": {
"type": "integer" "type": [
"number",
"null"
]
}, },
"vbr": { "vbr": {
"type": "integer" "type": [
"number",
"null"
]
}, },
"vcodec": { "vcodec": {
"type": "string" "type": [
"string",
"null"
]
}, },
"filesize_approx": { "filesize_approx": {
"type": "string" "type": [
"string",
"null"
]
}, },
"player_url": { "player_url": {
"type": "string" "type": [
"string",
"null"
]
}, },
"fragment_base_url": { "fragment_base_url": {
"type": "string" "type": [
"string",
"null"
]
}, },
"language_preference": { "language_preference": {
"type": "integer" "type": [
"integer",
"null"
]
}, },
"source_preference": { "source_preference": {
"type": "integer" "type": [
"integer",
"null"
]
}, },
"http_headers": { "http_headers": {
"type": "object", "type": "object",
"additionalProperties": { "additionalProperties": {
"type": "string" "type": [
"string",
"null"
]
} }
}, },
"stretched_ratio": { "stretched_ratio": {
"type": "number" "type": "number"
}, },
"no_resume": { "no_resume": {
"type": "boolean" "type": [
"boolean",
"null"
]
}, },
"downloader_options": { "downloader_options": {
"type": "object", "type": "object",
"additionalProperties": { "additionalProperties": {
"type": "string" "type": [
"string",
"null"
]
} }
} }
} }
} }
}, },
"anyOf": [ "allOf": [
{ {
"$ref": "#/definitions/json-output" "$ref": "#/definitions/json-output"
}, },