platypush/platypush/schemas/rss.py

45 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'},
)