forked from platypush/platypush
44 lines
1.2 KiB
Python
44 lines
1.2 KiB
Python
from marshmallow import fields
|
|
from marshmallow.schema import Schema
|
|
|
|
from platypush.schemas import DateTime
|
|
|
|
|
|
class RssFeedEntrySchema(Schema):
|
|
feed_title = fields.String(metadata={'description': 'Feed title'})
|
|
feed_url = fields.URL(
|
|
required=True,
|
|
metadata={
|
|
'description': 'URL of the feed',
|
|
'example': 'https://some-website/rss',
|
|
},
|
|
)
|
|
|
|
id = fields.String(
|
|
required=True,
|
|
metadata={
|
|
'description': 'Feed entry ID',
|
|
'example': '1234',
|
|
},
|
|
)
|
|
|
|
url = fields.URL(
|
|
required=True,
|
|
metadata={
|
|
'description': 'URL of the feed entry',
|
|
'example': 'https://some-website/articles/1234',
|
|
},
|
|
)
|
|
|
|
published = DateTime(
|
|
required=True, metadata={'description': 'Entry published time'}
|
|
)
|
|
|
|
title = fields.String(metadata={'description': 'Feed entry title'})
|
|
summary = fields.String(metadata={'description': 'Feed entry summary'})
|
|
content = fields.String(metadata={'description': 'Feed entry content'})
|
|
author = fields.String(metadata={'description': 'Feed entry author'})
|
|
tags = fields.List(
|
|
fields.String(),
|
|
metadata={'description': 'Feed entry tags'},
|
|
)
|