270 lines
6.5 KiB
Python
270 lines
6.5 KiB
Python
|
VER_001 = {
|
||
|
'$schema': 'http://json-schema.org/draft-04/schema#',
|
||
|
'title': 'LBRY metadata schema 0.0.1',
|
||
|
'definitions': {
|
||
|
'fee_info': {
|
||
|
'type': 'object',
|
||
|
'properties': {
|
||
|
'amount': {
|
||
|
'type': 'number',
|
||
|
'minimum': 0,
|
||
|
'exclusiveMinimum': True,
|
||
|
},
|
||
|
'address': {
|
||
|
'type': 'string'
|
||
|
}
|
||
|
},
|
||
|
}
|
||
|
},
|
||
|
'type': 'object',
|
||
|
|
||
|
'properties': {
|
||
|
'ver': {
|
||
|
'type': 'string',
|
||
|
'default': '0.0.1'
|
||
|
},
|
||
|
'title': {
|
||
|
'type': 'string'
|
||
|
},
|
||
|
'description': {
|
||
|
'type': 'string'
|
||
|
},
|
||
|
'author': {
|
||
|
'type': 'string'
|
||
|
},
|
||
|
'language': {
|
||
|
'type': 'string'
|
||
|
},
|
||
|
'license': {
|
||
|
'type': 'string'
|
||
|
},
|
||
|
'content-type': {
|
||
|
'type': 'string'
|
||
|
},
|
||
|
'sources': {
|
||
|
'type': 'object',
|
||
|
'properties': {
|
||
|
'lbry_sd_hash': {
|
||
|
'type': 'string'
|
||
|
},
|
||
|
'btih': {
|
||
|
'type': 'string'
|
||
|
},
|
||
|
'url': {
|
||
|
'type': 'string'
|
||
|
}
|
||
|
},
|
||
|
'additionalProperties': False
|
||
|
},
|
||
|
'thumbnail': {
|
||
|
'type': 'string'
|
||
|
},
|
||
|
'preview': {
|
||
|
'type': 'string'
|
||
|
},
|
||
|
'fee': {
|
||
|
'properties': {
|
||
|
'LBC': { '$ref': '#/definitions/fee_info' },
|
||
|
'BTC': { '$ref': '#/definitions/fee_info' },
|
||
|
'USD': { '$ref': '#/definitions/fee_info' }
|
||
|
}
|
||
|
},
|
||
|
'contact': {
|
||
|
'type': 'number'
|
||
|
},
|
||
|
'pubkey': {
|
||
|
'type': 'string'
|
||
|
},
|
||
|
},
|
||
|
'required': ['title', 'description', 'author', 'language', 'license', 'content-type', 'sources'],
|
||
|
'additionalProperties': False
|
||
|
}
|
||
|
|
||
|
|
||
|
VER_002 = {
|
||
|
'$schema': 'http://json-schema.org/draft-04/schema#',
|
||
|
'title': 'LBRY metadata schema 0.0.2',
|
||
|
'definitions': {
|
||
|
'fee_info': {
|
||
|
'type': 'object',
|
||
|
'properties': {
|
||
|
'amount': {
|
||
|
'type': 'number',
|
||
|
'minimum': 0,
|
||
|
'exclusiveMinimum': True,
|
||
|
},
|
||
|
'address': {
|
||
|
'type': 'string'
|
||
|
}
|
||
|
},
|
||
|
}
|
||
|
},
|
||
|
'type': 'object',
|
||
|
|
||
|
'properties': {
|
||
|
'ver': {
|
||
|
'type': 'string',
|
||
|
'enum': ['0.0.2'],
|
||
|
},
|
||
|
'title': {
|
||
|
'type': 'string'
|
||
|
},
|
||
|
'description': {
|
||
|
'type': 'string'
|
||
|
},
|
||
|
'author': {
|
||
|
'type': 'string'
|
||
|
},
|
||
|
'language': {
|
||
|
'type': 'string'
|
||
|
},
|
||
|
'license': {
|
||
|
'type': 'string'
|
||
|
},
|
||
|
'content-type': {
|
||
|
'type': 'string'
|
||
|
},
|
||
|
'sources': {
|
||
|
'type': 'object',
|
||
|
'properties': {
|
||
|
'lbry_sd_hash': {
|
||
|
'type': 'string'
|
||
|
},
|
||
|
'btih': {
|
||
|
'type': 'string'
|
||
|
},
|
||
|
'url': {
|
||
|
'type': 'string'
|
||
|
}
|
||
|
},
|
||
|
'additionalProperties': False
|
||
|
},
|
||
|
'thumbnail': {
|
||
|
'type': 'string'
|
||
|
},
|
||
|
'preview': {
|
||
|
'type': 'string'
|
||
|
},
|
||
|
'fee': {
|
||
|
'properties': {
|
||
|
'LBC': { '$ref': '#/definitions/fee_info' },
|
||
|
'BTC': { '$ref': '#/definitions/fee_info' },
|
||
|
'USD': { '$ref': '#/definitions/fee_info' }
|
||
|
}
|
||
|
},
|
||
|
'contact': {
|
||
|
'type': 'number'
|
||
|
},
|
||
|
'pubkey': {
|
||
|
'type': 'string'
|
||
|
},
|
||
|
'license_url': {
|
||
|
'type': 'string'
|
||
|
},
|
||
|
'nsfw': {
|
||
|
'type': 'boolean',
|
||
|
'default': False
|
||
|
},
|
||
|
|
||
|
},
|
||
|
'required': ['ver', 'title', 'description', 'author', 'language', 'license', 'content-type', 'sources', 'nsfw'],
|
||
|
'additionalProperties': False
|
||
|
}
|
||
|
|
||
|
|
||
|
VER_003 = {
|
||
|
'$schema': 'http://json-schema.org/draft-04/schema#',
|
||
|
'title': 'LBRY metadata schema 0.0.3',
|
||
|
'definitions': {
|
||
|
'fee_info': {
|
||
|
'type': 'object',
|
||
|
'properties': {
|
||
|
'amount': {
|
||
|
'type': 'number',
|
||
|
'minimum': 0,
|
||
|
'exclusiveMinimum': True,
|
||
|
},
|
||
|
'address': {
|
||
|
'type': 'string'
|
||
|
}
|
||
|
},
|
||
|
}
|
||
|
},
|
||
|
'type': 'object',
|
||
|
|
||
|
'properties': {
|
||
|
'ver': {
|
||
|
'type': 'string',
|
||
|
'enum': ['0.0.3'],
|
||
|
},
|
||
|
'title': {
|
||
|
'type': 'string'
|
||
|
},
|
||
|
'description': {
|
||
|
'type': 'string'
|
||
|
},
|
||
|
'author': {
|
||
|
'type': 'string'
|
||
|
},
|
||
|
'language': {
|
||
|
'type': 'string'
|
||
|
},
|
||
|
'license': {
|
||
|
'type': 'string'
|
||
|
},
|
||
|
'content_type': {
|
||
|
'type': 'string'
|
||
|
},
|
||
|
'sources': {
|
||
|
'type': 'object',
|
||
|
'properties': {
|
||
|
'lbry_sd_hash': {
|
||
|
'type': 'string'
|
||
|
},
|
||
|
'btih': {
|
||
|
'type': 'string'
|
||
|
},
|
||
|
'url': {
|
||
|
'type': 'string'
|
||
|
}
|
||
|
},
|
||
|
'additionalProperties': False
|
||
|
},
|
||
|
'thumbnail': {
|
||
|
'type': 'string'
|
||
|
},
|
||
|
'preview': {
|
||
|
'type': 'string'
|
||
|
},
|
||
|
'fee': {
|
||
|
'properties': {
|
||
|
'LBC': { '$ref': '#/definitions/fee_info' },
|
||
|
'BTC': { '$ref': '#/definitions/fee_info' },
|
||
|
'USD': { '$ref': '#/definitions/fee_info' }
|
||
|
}
|
||
|
},
|
||
|
'contact': {
|
||
|
'type': 'number'
|
||
|
},
|
||
|
'pubkey': {
|
||
|
'type': 'string'
|
||
|
},
|
||
|
'license_url': {
|
||
|
'type': 'string'
|
||
|
},
|
||
|
'nsfw': {
|
||
|
'type': 'boolean',
|
||
|
'default': False
|
||
|
},
|
||
|
'sig': {
|
||
|
'type': 'string'
|
||
|
}
|
||
|
},
|
||
|
'required': ['ver', 'title', 'description', 'author', 'language', 'license', 'content_type', 'sources', 'nsfw'],
|
||
|
'additionalProperties': False,
|
||
|
'dependencies': {
|
||
|
'pubkey': ['sig'],
|
||
|
'sig': ['pubkey']
|
||
|
}
|
||
|
}
|