diff --git a/Makefile b/Makefile index 28affc3..c8c41e1 100644 --- a/Makefile +++ b/Makefile @@ -16,7 +16,7 @@ audit: docs: docs/index.html docs/index.html: $(source) README.md - rm -rf docs/* + pdoc --version pdoc --docformat "restructuredtext" jsonfeed jsonfeed.converters.feedparser -o docs clean: diff --git a/README.md b/README.md index 85a0613..1186c23 100644 --- a/README.md +++ b/README.md @@ -8,10 +8,16 @@ This package's constructor arguments and class variables exactly match the field ### Installation -In this directory, run: +Install this package with `pip`: ```shell -$ pip install . +$ pip install jsonfeed-util +``` + +In your Python code, include the line + +```python +import jsonfeed ``` ### Parsing a JSON feed diff --git a/docs/index.html b/docs/index.html index 9cc99b0..bc8e76c 100644 --- a/docs/index.html +++ b/docs/index.html @@ -1,250 +1,7 @@ - + - - - Module List – pdoc 7.1.1 - - - - - - - - + - -
- - pdoc logo - - -
-
-
- - - - \ No newline at end of file + diff --git a/docs/jsonfeed.html b/docs/jsonfeed.html index db068d8..006114d 100644 --- a/docs/jsonfeed.html +++ b/docs/jsonfeed.html @@ -3,54 +3,38 @@ - + jsonfeed API documentation - - - - - - - -
-
+

jsonfeed

@@ -160,14 +142,24 @@

Usage

Installation

-

In this directory, run:

+

Install this package with pip:

+ +
+
$ pip install jsonfeed-util
+
+
-
$ pip install .
-
+

In your Python code, include the line

+ +
+
import jsonfeed
+
+

Parsing a JSON feed

-
import jsonfeed as jf
+
+
import jsonfeed as jf
 import requests
 
 # Requesting a valid JSON feed!
@@ -177,11 +169,13 @@ 

Parsing a JSON feed

# ...or parse JSON separately. r_json = r.json() feed_from_json = jf.Feed.parse(r_json) -
+
+

Constructing a JSON feed

-
import jsonfeed as jf
+
+
import jsonfeed as jf
 
 me = jf.Author(
   name="Lukas Schwab",
@@ -192,7 +186,8 @@ 

Constructing a JSON feed

feed.items.append(item) print(feed.toJSON()) -
+
+

jsonfeed exposes constructors for five classes of JSON feed objects:

@@ -233,321 +228,321 @@

Notes

-
- View Source -
""".. include:: ../README.md"""
-import json
-from typing import List
-
-
-class ParseError(Exception):
-    pass
-
-
-class MissingRequiredValueError(ParseError):
-    def __init__(self, structure: str, key: str):
-        self.structure = structure
-        self.key = key
-
-
-class Feed:
-    version = "https://jsonfeed.org/version/1.1"
-
-    def __init__(
-        self,
-        title: str,
-        home_page_url: str = None,
-        feed_url: str = None,
-        description: str = None,
-        user_comment: str = None,
-        next_url: str = None,
-        icon: str = None,
-        favicon: str = None,
-        author=None,  # 1.1 deprecated; use authors.
-        authors: List['Author'] = None,
-        expired: bool = False,
-        language: str = None,
-        hubs: List['Hub'] = [],
-        items: List['Item'] = []
-    ):
-        assert title
-        self.title = title
-        self.home_page_url = home_page_url
-        self.feed_url = feed_url
-        self.description = description
-        self.user_comment = user_comment
-        self.next_url = next_url
-        self.icon = icon
-        self.favicon = favicon
-        self.author = author
-        self.authors = authors
-        self.expired = expired
-        self.language = language
-        self.hubs = hubs
-        self.items = items
-
-    @staticmethod
-    def parse(maybeFeed: dict) -> 'Feed':
-        if 'title' not in maybeFeed or not maybeFeed['title']:
-            raise MissingRequiredValueError("Feed", "title")
-        # The only required field exists.
-        parsed = Feed(maybeFeed['title'])
-        # Basic string fields.
-        parsed.home_page_url = maybeFeed.get('home_page_url')
-        parsed.feed_url = maybeFeed.get('feed_url')
-        parsed.description = maybeFeed.get('description')
-        parsed.user_comment = maybeFeed.get('user_comment')
-        parsed.next_url = maybeFeed.get('next_url')
-        parsed.icon = maybeFeed.get('icon')
-        parsed.favicon = maybeFeed.get('favicon')
-        parsed.expired = maybeFeed.get('expired', False)
-        parsed.language = maybeFeed.get('language')
-        # Structures requiring additional parsing.
-        if 'author' in maybeFeed:
-            parsed.author = Author.parse(maybeFeed['author'])
-        if 'authors' in maybeFeed:
-            parsed.authors = [Author.parse(a) for a in maybeFeed['authors']]
-        if 'hubs' in maybeFeed:
-            parsed.hubs = [Hub.parse(h) for h in maybeFeed['hubs']]
-        if 'items' in maybeFeed:
-            parsed.items = [Item.parse(i) for i in maybeFeed['items']]
-        return parsed
-
-    @staticmethod
-    def parse_string(maybeFeed: str) -> 'Feed':
-        return Feed.parse(json.loads(maybeFeed))
-
-    def to_json(self, **kwargs) -> str:
-        return json.dumps(self._to_ordered_dict(), **kwargs)
-
-    def _to_ordered_dict(self) -> dict:
-        ordered = {
-            'version': self.version,
-            'title': self.title,
-            'expired': self.expired
-        }
-        if self.home_page_url: ordered['home_page_url'] = self.home_page_url
-        if self.feed_url: ordered['feed_url'] = self.feed_url
-        if self.description: ordered['description'] = self.description
-        if self.user_comment: ordered['user_comment'] = self.user_comment
-        if self.next_url: ordered['next_url'] = self.next_url
-        if self.icon: ordered['icon'] = self.icon
-        if self.favicon: ordered['favicon'] = self.favicon
-        if self.author: ordered['author'] = self.author._to_ordered_dict()
-        if self.authors:
-            ordered['authors'] = [a._to_ordered_dict() for a in self.authors]
-        if self.hubs:
-            ordered['hubs'] = [h._to_ordered_dict() for h in self.hubs]
-        ordered['items'] = [i._to_ordered_dict() for i in self.items]
-        return ordered
-
-    def __str__(self) -> str:
-        return self.to_json()
-
-    def __repr__(self) -> str:
-        return self.__str__()
-
-
-class Author:
-    def __init__(self, name: str = None, url: str = None, avatar: str = None):
-        self.name = name
-        self.url = url
-        self.avatar = avatar
-
-    @staticmethod
-    def parse(maybeAuthor: dict) -> 'Author':
-        return Author(
-            name=maybeAuthor.get('name'),
-            url=maybeAuthor.get('url'),
-            avatar=maybeAuthor.get('avatar')
-        )
-
-    def _to_ordered_dict(self) -> dict:
-        ordered = {}
-        if self.name: ordered['name'] = self.name
-        if self.url: ordered['url'] = self.url
-        if self.avatar: ordered['avatar'] = self.avatar
-        return ordered
-
-    def __str__(self) -> str:
-        return json.dumps(self._to_ordered_dict())
-
-    def __repr__(self) -> str:
-        return self.__str__()
-
-
-class Hub:
-    def __init__(self, type: str, url: str):
-        self.type = type
-        self.url = url
-
-    @staticmethod
-    def parse(maybeHub: dict) -> 'Hub':
-        if 'type' not in maybeHub or not maybeHub['type']:
-            raise MissingRequiredValueError("Hub", "type")
-        if 'url' not in maybeHub or not maybeHub['url']:
-            raise MissingRequiredValueError("Hub", "url")
-        return Hub(maybeHub['type'], maybeHub['url'])
-
-    def _to_ordered_dict(self) -> dict:
-        return {'type': self.type, 'url': self.url}
-
-    def __str__(self) -> str:
-        return json.dumps(self._to_ordered_dict())
-
-    def __repr__(self) -> str:
-        return self.__str__()
-
-
-# TODO: validate that dates are in RFC 3339 format OR a datetime that can be
-# represented in RFC 3339.
-class Item:
-    def __init__(
-        self,
-        id,
-        url: str = None,
-        external_url: str = None,
-        title: str = None,
-        content_html: str = None,
-        content_text: str = None,
-        summary: str = None,
-        image: str = None,
-        banner_image: str = None,
-        date_published: str = None,
-        date_modified: str = None,
-        author=None,  # 1.1 deprecated; use authors.
-        authors: List[Author] = None,
-        tags: List[str] = [],
-        attachments: List['Attachment'] = []
-    ):
-        self.id = id
-        self.url = url
-        self.external_url = external_url
-        self.title = title
-        self.content_html = content_html
-        self.content_text = content_text
-        self.summary = summary
-        self.image = image
-        self.banner_image = banner_image
-        self.date_published = date_published
-        self.date_modified = date_modified
-        self.author = author
-        self.authors = authors
-        self.tags = tags
-        self.attachments = attachments
-
-    @staticmethod
-    def parse(maybeItem: dict) -> 'Item':
-        if 'id' not in maybeItem or not maybeItem['id']:
-            raise MissingRequiredValueError("Item", "id")
-        parsed = Item(maybeItem['id'])
-        parsed.url = maybeItem.get('url')
-        parsed.external_url = maybeItem.get('external_url')
-        parsed.title = maybeItem.get('title')
-        parsed.content_html = maybeItem.get('content_html')
-        parsed.content_text = maybeItem.get('content_text')
-        parsed.summary = maybeItem.get('summary')
-        parsed.image = maybeItem.get('image')
-        parsed.banner_image = maybeItem.get('banner_image')
-        parsed.date_published = maybeItem.get('date_published')
-        parsed.date_modified = maybeItem.get('date_modified')
-        parsed.tags = maybeItem.get('tags', [])
-        if 'authors' in maybeItem:
-            parsed.authors = [Author.parse(a) for a in maybeItem['authors']]
-        if 'author' in maybeItem and maybeItem['author']:
-            parsed.author = Author.parse(maybeItem['author'])
-        if 'attachments' in maybeItem and maybeItem['attachments']:
-            parsed.attachments = [Attachment.parse(a) for a in maybeItem['attachments']]
-        return parsed
-
-    def _to_ordered_dict(self) -> dict:
-        ordered = {'id': self.id}
-        if self.url: ordered['url'] = self.url
-        if self.external_url: ordered['external_url'] = self.url
-        if self.title: ordered['title'] = self.title
-        if self.content_html: ordered['content_html'] = self.content_html
-        if self.content_text: ordered['content_text'] = self.content_text
-        if self.summary: ordered['summary'] = self.summary
-        if self.image: ordered['image'] = self.image
-        if self.banner_image: ordered['banner_image'] = self.banner_image
-        if self.date_published: ordered['date_published'] = self.date_published
-        if self.date_modified: ordered['date_modified'] = self.date_modified
-        if self.tags: ordered['tags'] = self.tags
-        if self.author: ordered['author'] = self.author._to_ordered_dict()
-        if self.authors:
-            ordered['authors'] = [a._to_ordered_dict() for a in self.authors]
-        if self.attachments:
-            ordered['attachments'] = [a._to_ordered_dict() for a in self.attachments]
-        return ordered
-
-    def __str__(self) -> str:
-        return json.dumps(self._to_ordered_dict())
-
-    def __repr__(self) -> str:
-        return self.__str__()
-
-
-class Attachment:
-    def __init__(
-        self,
-        url: str,
-        mime_type: str,
-        title: str = None,
-        size_in_bytes: int = None,
-        duration_in_seconds: int = None
-    ):
-        self.url = url
-        self.mime_type = mime_type
-        self.title = title
-        self.size_in_bytes = size_in_bytes
-        self.duration_in_seconds = duration_in_seconds
-
-    @staticmethod
-    def parse(maybeAttachment: dict) -> 'Attachment':
-        if 'url' not in maybeAttachment or not maybeAttachment['url']:
-            raise MissingRequiredValueError("Attachment", "url")
-        if 'mime_type' not in maybeAttachment or not maybeAttachment['mime_type']:
-            raise MissingRequiredValueError("Attachment", "mime_type")
-        parsed = Attachment(maybeAttachment['url'], maybeAttachment['mime_type'])
-        parsed.title = maybeAttachment.get('title')
-        parsed.size_in_bytes = maybeAttachment.get('size_in_bytes'),
-        parsed.duration_in_seconds = maybeAttachment.get('duration_in_seconds')
-        return parsed
-
-    def _to_ordered_dict(self) -> dict:
-        ordered = {'url': self.url, 'mime_type': self.mime_type}
-        if self.title: ordered['title'] = self.title
-        if self.size_in_bytes: ordered['size_in_bytes'] = self.size_in_bytes
-        if self.duration_in_seconds:
-            ordered['duration_in_seconds'] = self.duration_in_seconds
-        return ordered
-
-    def __str__(self) -> str:
-        return json.dumps(self._to_ordered_dict())
-
-    def __repr__(self) -> str:
-        return self.__str__()
-
- -
+ + + + +
  1""".. include:: ../README.md"""
+  2import json
+  3from typing import List
+  4
+  5
+  6class ParseError(Exception):
+  7    pass
+  8
+  9
+ 10class MissingRequiredValueError(ParseError):
+ 11    def __init__(self, structure: str, key: str):
+ 12        self.structure = structure
+ 13        self.key = key
+ 14
+ 15
+ 16class Feed:
+ 17    version = "https://jsonfeed.org/version/1.1"
+ 18
+ 19    def __init__(
+ 20        self,
+ 21        title: str,
+ 22        home_page_url: str = None,
+ 23        feed_url: str = None,
+ 24        description: str = None,
+ 25        user_comment: str = None,
+ 26        next_url: str = None,
+ 27        icon: str = None,
+ 28        favicon: str = None,
+ 29        author=None,  # 1.1 deprecated; use authors.
+ 30        authors: List['Author'] = None,
+ 31        expired: bool = False,
+ 32        language: str = None,
+ 33        hubs: List['Hub'] = [],
+ 34        items: List['Item'] = []
+ 35    ):
+ 36        assert title
+ 37        self.title = title
+ 38        self.home_page_url = home_page_url
+ 39        self.feed_url = feed_url
+ 40        self.description = description
+ 41        self.user_comment = user_comment
+ 42        self.next_url = next_url
+ 43        self.icon = icon
+ 44        self.favicon = favicon
+ 45        self.author = author
+ 46        self.authors = authors
+ 47        self.expired = expired
+ 48        self.language = language
+ 49        self.hubs = hubs
+ 50        self.items = items
+ 51
+ 52    @staticmethod
+ 53    def parse(maybeFeed: dict) -> 'Feed':
+ 54        if 'title' not in maybeFeed or not maybeFeed['title']:
+ 55            raise MissingRequiredValueError("Feed", "title")
+ 56        # The only required field exists.
+ 57        parsed = Feed(maybeFeed['title'])
+ 58        # Basic string fields.
+ 59        parsed.home_page_url = maybeFeed.get('home_page_url')
+ 60        parsed.feed_url = maybeFeed.get('feed_url')
+ 61        parsed.description = maybeFeed.get('description')
+ 62        parsed.user_comment = maybeFeed.get('user_comment')
+ 63        parsed.next_url = maybeFeed.get('next_url')
+ 64        parsed.icon = maybeFeed.get('icon')
+ 65        parsed.favicon = maybeFeed.get('favicon')
+ 66        parsed.expired = maybeFeed.get('expired', False)
+ 67        parsed.language = maybeFeed.get('language')
+ 68        # Structures requiring additional parsing.
+ 69        if 'author' in maybeFeed:
+ 70            parsed.author = Author.parse(maybeFeed['author'])
+ 71        if 'authors' in maybeFeed:
+ 72            parsed.authors = [Author.parse(a) for a in maybeFeed['authors']]
+ 73        if 'hubs' in maybeFeed:
+ 74            parsed.hubs = [Hub.parse(h) for h in maybeFeed['hubs']]
+ 75        if 'items' in maybeFeed:
+ 76            parsed.items = [Item.parse(i) for i in maybeFeed['items']]
+ 77        return parsed
+ 78
+ 79    @staticmethod
+ 80    def parse_string(maybeFeed: str) -> 'Feed':
+ 81        return Feed.parse(json.loads(maybeFeed))
+ 82
+ 83    def to_json(self, **kwargs) -> str:
+ 84        return json.dumps(self._to_ordered_dict(), **kwargs)
+ 85
+ 86    def _to_ordered_dict(self) -> dict:
+ 87        ordered = {
+ 88            'version': self.version,
+ 89            'title': self.title,
+ 90            'expired': self.expired
+ 91        }
+ 92        if self.home_page_url: ordered['home_page_url'] = self.home_page_url
+ 93        if self.feed_url: ordered['feed_url'] = self.feed_url
+ 94        if self.description: ordered['description'] = self.description
+ 95        if self.user_comment: ordered['user_comment'] = self.user_comment
+ 96        if self.next_url: ordered['next_url'] = self.next_url
+ 97        if self.icon: ordered['icon'] = self.icon
+ 98        if self.favicon: ordered['favicon'] = self.favicon
+ 99        if self.author: ordered['author'] = self.author._to_ordered_dict()
+100        if self.authors:
+101            ordered['authors'] = [a._to_ordered_dict() for a in self.authors]
+102        if self.hubs:
+103            ordered['hubs'] = [h._to_ordered_dict() for h in self.hubs]
+104        ordered['items'] = [i._to_ordered_dict() for i in self.items]
+105        return ordered
+106
+107    def __str__(self) -> str:
+108        return self.to_json()
+109
+110    def __repr__(self) -> str:
+111        return self.__str__()
+112
+113
+114class Author:
+115    def __init__(self, name: str = None, url: str = None, avatar: str = None):
+116        self.name = name
+117        self.url = url
+118        self.avatar = avatar
+119
+120    @staticmethod
+121    def parse(maybeAuthor: dict) -> 'Author':
+122        return Author(
+123            name=maybeAuthor.get('name'),
+124            url=maybeAuthor.get('url'),
+125            avatar=maybeAuthor.get('avatar')
+126        )
+127
+128    def _to_ordered_dict(self) -> dict:
+129        ordered = {}
+130        if self.name: ordered['name'] = self.name
+131        if self.url: ordered['url'] = self.url
+132        if self.avatar: ordered['avatar'] = self.avatar
+133        return ordered
+134
+135    def __str__(self) -> str:
+136        return json.dumps(self._to_ordered_dict())
+137
+138    def __repr__(self) -> str:
+139        return self.__str__()
+140
+141
+142class Hub:
+143    def __init__(self, type: str, url: str):
+144        self.type = type
+145        self.url = url
+146
+147    @staticmethod
+148    def parse(maybeHub: dict) -> 'Hub':
+149        if 'type' not in maybeHub or not maybeHub['type']:
+150            raise MissingRequiredValueError("Hub", "type")
+151        if 'url' not in maybeHub or not maybeHub['url']:
+152            raise MissingRequiredValueError("Hub", "url")
+153        return Hub(maybeHub['type'], maybeHub['url'])
+154
+155    def _to_ordered_dict(self) -> dict:
+156        return {'type': self.type, 'url': self.url}
+157
+158    def __str__(self) -> str:
+159        return json.dumps(self._to_ordered_dict())
+160
+161    def __repr__(self) -> str:
+162        return self.__str__()
+163
+164
+165# TODO: validate that dates are in RFC 3339 format OR a datetime that can be
+166# represented in RFC 3339.
+167class Item:
+168    def __init__(
+169        self,
+170        id,
+171        url: str = None,
+172        external_url: str = None,
+173        title: str = None,
+174        content_html: str = None,
+175        content_text: str = None,
+176        summary: str = None,
+177        image: str = None,
+178        banner_image: str = None,
+179        date_published: str = None,
+180        date_modified: str = None,
+181        author=None,  # 1.1 deprecated; use authors.
+182        authors: List[Author] = None,
+183        tags: List[str] = [],
+184        attachments: List['Attachment'] = []
+185    ):
+186        self.id = id
+187        self.url = url
+188        self.external_url = external_url
+189        self.title = title
+190        self.content_html = content_html
+191        self.content_text = content_text
+192        self.summary = summary
+193        self.image = image
+194        self.banner_image = banner_image
+195        self.date_published = date_published
+196        self.date_modified = date_modified
+197        self.author = author
+198        self.authors = authors
+199        self.tags = tags
+200        self.attachments = attachments
+201
+202    @staticmethod
+203    def parse(maybeItem: dict) -> 'Item':
+204        if 'id' not in maybeItem or not maybeItem['id']:
+205            raise MissingRequiredValueError("Item", "id")
+206        parsed = Item(maybeItem['id'])
+207        parsed.url = maybeItem.get('url')
+208        parsed.external_url = maybeItem.get('external_url')
+209        parsed.title = maybeItem.get('title')
+210        parsed.content_html = maybeItem.get('content_html')
+211        parsed.content_text = maybeItem.get('content_text')
+212        parsed.summary = maybeItem.get('summary')
+213        parsed.image = maybeItem.get('image')
+214        parsed.banner_image = maybeItem.get('banner_image')
+215        parsed.date_published = maybeItem.get('date_published')
+216        parsed.date_modified = maybeItem.get('date_modified')
+217        parsed.tags = maybeItem.get('tags', [])
+218        if 'authors' in maybeItem:
+219            parsed.authors = [Author.parse(a) for a in maybeItem['authors']]
+220        if 'author' in maybeItem and maybeItem['author']:
+221            parsed.author = Author.parse(maybeItem['author'])
+222        if 'attachments' in maybeItem and maybeItem['attachments']:
+223            parsed.attachments = [Attachment.parse(a) for a in maybeItem['attachments']]
+224        return parsed
+225
+226    def _to_ordered_dict(self) -> dict:
+227        ordered = {'id': self.id}
+228        if self.url: ordered['url'] = self.url
+229        if self.external_url: ordered['external_url'] = self.url
+230        if self.title: ordered['title'] = self.title
+231        if self.content_html: ordered['content_html'] = self.content_html
+232        if self.content_text: ordered['content_text'] = self.content_text
+233        if self.summary: ordered['summary'] = self.summary
+234        if self.image: ordered['image'] = self.image
+235        if self.banner_image: ordered['banner_image'] = self.banner_image
+236        if self.date_published: ordered['date_published'] = self.date_published
+237        if self.date_modified: ordered['date_modified'] = self.date_modified
+238        if self.tags: ordered['tags'] = self.tags
+239        if self.author: ordered['author'] = self.author._to_ordered_dict()
+240        if self.authors:
+241            ordered['authors'] = [a._to_ordered_dict() for a in self.authors]
+242        if self.attachments:
+243            ordered['attachments'] = [a._to_ordered_dict() for a in self.attachments]
+244        return ordered
+245
+246    def __str__(self) -> str:
+247        return json.dumps(self._to_ordered_dict())
+248
+249    def __repr__(self) -> str:
+250        return self.__str__()
+251
+252
+253class Attachment:
+254    def __init__(
+255        self,
+256        url: str,
+257        mime_type: str,
+258        title: str = None,
+259        size_in_bytes: int = None,
+260        duration_in_seconds: int = None
+261    ):
+262        self.url = url
+263        self.mime_type = mime_type
+264        self.title = title
+265        self.size_in_bytes = size_in_bytes
+266        self.duration_in_seconds = duration_in_seconds
+267
+268    @staticmethod
+269    def parse(maybeAttachment: dict) -> 'Attachment':
+270        if 'url' not in maybeAttachment or not maybeAttachment['url']:
+271            raise MissingRequiredValueError("Attachment", "url")
+272        if 'mime_type' not in maybeAttachment or not maybeAttachment['mime_type']:
+273            raise MissingRequiredValueError("Attachment", "mime_type")
+274        parsed = Attachment(maybeAttachment['url'], maybeAttachment['mime_type'])
+275        parsed.title = maybeAttachment.get('title')
+276        parsed.size_in_bytes = maybeAttachment.get('size_in_bytes'),
+277        parsed.duration_in_seconds = maybeAttachment.get('duration_in_seconds')
+278        return parsed
+279
+280    def _to_ordered_dict(self) -> dict:
+281        ordered = {'url': self.url, 'mime_type': self.mime_type}
+282        if self.title: ordered['title'] = self.title
+283        if self.size_in_bytes: ordered['size_in_bytes'] = self.size_in_bytes
+284        if self.duration_in_seconds:
+285            ordered['duration_in_seconds'] = self.duration_in_seconds
+286        return ordered
+287
+288    def __str__(self) -> str:
+289        return json.dumps(self._to_ordered_dict())
+290
+291    def __repr__(self) -> str:
+292        return self.__str__()
+
+
-
- #   + +
+ + class + ParseError(builtins.Exception): - - class - ParseError(builtins.Exception): -
+ -
- View Source -
class ParseError(Exception):
-    pass
-
+
+ +
7class ParseError(Exception):
+8    pass
+
-

Common base class for all non-exit exceptions.

@@ -562,50 +557,48 @@
Inherited Members
builtins.BaseException
with_traceback
-
args
-
- #   + +
+ + class + MissingRequiredValueError(ParseError): - - class - MissingRequiredValueError(ParseError): -
+ -
- View Source -
class MissingRequiredValueError(ParseError):
-    def __init__(self, structure: str, key: str):
-        self.structure = structure
-        self.key = key
-
+
+ +
11class MissingRequiredValueError(ParseError):
+12    def __init__(self, structure: str, key: str):
+13        self.structure = structure
+14        self.key = key
+
-

Common base class for all non-exit exceptions.

-
#   + +
+ + MissingRequiredValueError(structure: str, key: str) - - MissingRequiredValueError(structure: str, key: str) -
+ -
- View Source -
    def __init__(self, structure: str, key: str):
-        self.structure = structure
-        self.key = key
-
+
+ +
12    def __init__(self, structure: str, key: str):
+13        self.structure = structure
+14        self.key = key
+
- @@ -615,974 +608,913 @@
Inherited Members
builtins.BaseException
with_traceback
-
args
-
- #   + +
+ + class + Feed: + + - - class - Feed:
+ +
 17class Feed:
+ 18    version = "https://jsonfeed.org/version/1.1"
+ 19
+ 20    def __init__(
+ 21        self,
+ 22        title: str,
+ 23        home_page_url: str = None,
+ 24        feed_url: str = None,
+ 25        description: str = None,
+ 26        user_comment: str = None,
+ 27        next_url: str = None,
+ 28        icon: str = None,
+ 29        favicon: str = None,
+ 30        author=None,  # 1.1 deprecated; use authors.
+ 31        authors: List['Author'] = None,
+ 32        expired: bool = False,
+ 33        language: str = None,
+ 34        hubs: List['Hub'] = [],
+ 35        items: List['Item'] = []
+ 36    ):
+ 37        assert title
+ 38        self.title = title
+ 39        self.home_page_url = home_page_url
+ 40        self.feed_url = feed_url
+ 41        self.description = description
+ 42        self.user_comment = user_comment
+ 43        self.next_url = next_url
+ 44        self.icon = icon
+ 45        self.favicon = favicon
+ 46        self.author = author
+ 47        self.authors = authors
+ 48        self.expired = expired
+ 49        self.language = language
+ 50        self.hubs = hubs
+ 51        self.items = items
+ 52
+ 53    @staticmethod
+ 54    def parse(maybeFeed: dict) -> 'Feed':
+ 55        if 'title' not in maybeFeed or not maybeFeed['title']:
+ 56            raise MissingRequiredValueError("Feed", "title")
+ 57        # The only required field exists.
+ 58        parsed = Feed(maybeFeed['title'])
+ 59        # Basic string fields.
+ 60        parsed.home_page_url = maybeFeed.get('home_page_url')
+ 61        parsed.feed_url = maybeFeed.get('feed_url')
+ 62        parsed.description = maybeFeed.get('description')
+ 63        parsed.user_comment = maybeFeed.get('user_comment')
+ 64        parsed.next_url = maybeFeed.get('next_url')
+ 65        parsed.icon = maybeFeed.get('icon')
+ 66        parsed.favicon = maybeFeed.get('favicon')
+ 67        parsed.expired = maybeFeed.get('expired', False)
+ 68        parsed.language = maybeFeed.get('language')
+ 69        # Structures requiring additional parsing.
+ 70        if 'author' in maybeFeed:
+ 71            parsed.author = Author.parse(maybeFeed['author'])
+ 72        if 'authors' in maybeFeed:
+ 73            parsed.authors = [Author.parse(a) for a in maybeFeed['authors']]
+ 74        if 'hubs' in maybeFeed:
+ 75            parsed.hubs = [Hub.parse(h) for h in maybeFeed['hubs']]
+ 76        if 'items' in maybeFeed:
+ 77            parsed.items = [Item.parse(i) for i in maybeFeed['items']]
+ 78        return parsed
+ 79
+ 80    @staticmethod
+ 81    def parse_string(maybeFeed: str) -> 'Feed':
+ 82        return Feed.parse(json.loads(maybeFeed))
+ 83
+ 84    def to_json(self, **kwargs) -> str:
+ 85        return json.dumps(self._to_ordered_dict(), **kwargs)
+ 86
+ 87    def _to_ordered_dict(self) -> dict:
+ 88        ordered = {
+ 89            'version': self.version,
+ 90            'title': self.title,
+ 91            'expired': self.expired
+ 92        }
+ 93        if self.home_page_url: ordered['home_page_url'] = self.home_page_url
+ 94        if self.feed_url: ordered['feed_url'] = self.feed_url
+ 95        if self.description: ordered['description'] = self.description
+ 96        if self.user_comment: ordered['user_comment'] = self.user_comment
+ 97        if self.next_url: ordered['next_url'] = self.next_url
+ 98        if self.icon: ordered['icon'] = self.icon
+ 99        if self.favicon: ordered['favicon'] = self.favicon
+100        if self.author: ordered['author'] = self.author._to_ordered_dict()
+101        if self.authors:
+102            ordered['authors'] = [a._to_ordered_dict() for a in self.authors]
+103        if self.hubs:
+104            ordered['hubs'] = [h._to_ordered_dict() for h in self.hubs]
+105        ordered['items'] = [i._to_ordered_dict() for i in self.items]
+106        return ordered
+107
+108    def __str__(self) -> str:
+109        return self.to_json()
+110
+111    def __repr__(self) -> str:
+112        return self.__str__()
+
-
- View Source -
class Feed:
-    version = "https://jsonfeed.org/version/1.1"
-
-    def __init__(
-        self,
-        title: str,
-        home_page_url: str = None,
-        feed_url: str = None,
-        description: str = None,
-        user_comment: str = None,
-        next_url: str = None,
-        icon: str = None,
-        favicon: str = None,
-        author=None,  # 1.1 deprecated; use authors.
-        authors: List['Author'] = None,
-        expired: bool = False,
-        language: str = None,
-        hubs: List['Hub'] = [],
-        items: List['Item'] = []
-    ):
-        assert title
-        self.title = title
-        self.home_page_url = home_page_url
-        self.feed_url = feed_url
-        self.description = description
-        self.user_comment = user_comment
-        self.next_url = next_url
-        self.icon = icon
-        self.favicon = favicon
-        self.author = author
-        self.authors = authors
-        self.expired = expired
-        self.language = language
-        self.hubs = hubs
-        self.items = items
-
-    @staticmethod
-    def parse(maybeFeed: dict) -> 'Feed':
-        if 'title' not in maybeFeed or not maybeFeed['title']:
-            raise MissingRequiredValueError("Feed", "title")
-        # The only required field exists.
-        parsed = Feed(maybeFeed['title'])
-        # Basic string fields.
-        parsed.home_page_url = maybeFeed.get('home_page_url')
-        parsed.feed_url = maybeFeed.get('feed_url')
-        parsed.description = maybeFeed.get('description')
-        parsed.user_comment = maybeFeed.get('user_comment')
-        parsed.next_url = maybeFeed.get('next_url')
-        parsed.icon = maybeFeed.get('icon')
-        parsed.favicon = maybeFeed.get('favicon')
-        parsed.expired = maybeFeed.get('expired', False)
-        parsed.language = maybeFeed.get('language')
-        # Structures requiring additional parsing.
-        if 'author' in maybeFeed:
-            parsed.author = Author.parse(maybeFeed['author'])
-        if 'authors' in maybeFeed:
-            parsed.authors = [Author.parse(a) for a in maybeFeed['authors']]
-        if 'hubs' in maybeFeed:
-            parsed.hubs = [Hub.parse(h) for h in maybeFeed['hubs']]
-        if 'items' in maybeFeed:
-            parsed.items = [Item.parse(i) for i in maybeFeed['items']]
-        return parsed
-
-    @staticmethod
-    def parse_string(maybeFeed: str) -> 'Feed':
-        return Feed.parse(json.loads(maybeFeed))
-
-    def to_json(self, **kwargs) -> str:
-        return json.dumps(self._to_ordered_dict(), **kwargs)
-
-    def _to_ordered_dict(self) -> dict:
-        ordered = {
-            'version': self.version,
-            'title': self.title,
-            'expired': self.expired
-        }
-        if self.home_page_url: ordered['home_page_url'] = self.home_page_url
-        if self.feed_url: ordered['feed_url'] = self.feed_url
-        if self.description: ordered['description'] = self.description
-        if self.user_comment: ordered['user_comment'] = self.user_comment
-        if self.next_url: ordered['next_url'] = self.next_url
-        if self.icon: ordered['icon'] = self.icon
-        if self.favicon: ordered['favicon'] = self.favicon
-        if self.author: ordered['author'] = self.author._to_ordered_dict()
-        if self.authors:
-            ordered['authors'] = [a._to_ordered_dict() for a in self.authors]
-        if self.hubs:
-            ordered['hubs'] = [h._to_ordered_dict() for h in self.hubs]
-        ordered['items'] = [i._to_ordered_dict() for i in self.items]
-        return ordered
-
-    def __str__(self) -> str:
-        return self.to_json()
-
-    def __repr__(self) -> str:
-        return self.__str__()
-
- -
-
#   - - - Feed( - title: str, - home_page_url: str = None, - feed_url: str = None, - description: str = None, - user_comment: str = None, - next_url: str = None, - icon: str = None, - favicon: str = None, - author=None, - authors: list[jsonfeed.Author] = None, - expired: bool = False, - language: str = None, - hubs: list[jsonfeed.Hub] = [], - items: list[jsonfeed.Item] = [] -) -
- -
- View Source -
    def __init__(
-        self,
-        title: str,
-        home_page_url: str = None,
-        feed_url: str = None,
-        description: str = None,
-        user_comment: str = None,
-        next_url: str = None,
-        icon: str = None,
-        favicon: str = None,
-        author=None,  # 1.1 deprecated; use authors.
-        authors: List['Author'] = None,
-        expired: bool = False,
-        language: str = None,
-        hubs: List['Hub'] = [],
-        items: List['Item'] = []
-    ):
-        assert title
-        self.title = title
-        self.home_page_url = home_page_url
-        self.feed_url = feed_url
-        self.description = description
-        self.user_comment = user_comment
-        self.next_url = next_url
-        self.icon = icon
-        self.favicon = favicon
-        self.author = author
-        self.authors = authors
-        self.expired = expired
-        self.language = language
-        self.hubs = hubs
-        self.items = items
-
- -
+ +
+ + Feed( title: str, home_page_url: str = None, feed_url: str = None, description: str = None, user_comment: str = None, next_url: str = None, icon: str = None, favicon: str = None, author=None, authors: List[jsonfeed.Author] = None, expired: bool = False, language: str = None, hubs: List[jsonfeed.Hub] = [], items: List[jsonfeed.Item] = []) - - -
-
-
#   + - version = 'https://jsonfeed.org/version/1.1'
+ +
20    def __init__(
+21        self,
+22        title: str,
+23        home_page_url: str = None,
+24        feed_url: str = None,
+25        description: str = None,
+26        user_comment: str = None,
+27        next_url: str = None,
+28        icon: str = None,
+29        favicon: str = None,
+30        author=None,  # 1.1 deprecated; use authors.
+31        authors: List['Author'] = None,
+32        expired: bool = False,
+33        language: str = None,
+34        hubs: List['Hub'] = [],
+35        items: List['Item'] = []
+36    ):
+37        assert title
+38        self.title = title
+39        self.home_page_url = home_page_url
+40        self.feed_url = feed_url
+41        self.description = description
+42        self.user_comment = user_comment
+43        self.next_url = next_url
+44        self.icon = icon
+45        self.favicon = favicon
+46        self.author = author
+47        self.authors = authors
+48        self.expired = expired
+49        self.language = language
+50        self.hubs = hubs
+51        self.items = items
+
+
-
#   + +
+
@staticmethod
+ + def + parse(maybeFeed: dict) -> jsonfeed.Feed: -
@staticmethod
+ - def - parse(maybeFeed: dict) -> jsonfeed.Feed:
+ +
53    @staticmethod
+54    def parse(maybeFeed: dict) -> 'Feed':
+55        if 'title' not in maybeFeed or not maybeFeed['title']:
+56            raise MissingRequiredValueError("Feed", "title")
+57        # The only required field exists.
+58        parsed = Feed(maybeFeed['title'])
+59        # Basic string fields.
+60        parsed.home_page_url = maybeFeed.get('home_page_url')
+61        parsed.feed_url = maybeFeed.get('feed_url')
+62        parsed.description = maybeFeed.get('description')
+63        parsed.user_comment = maybeFeed.get('user_comment')
+64        parsed.next_url = maybeFeed.get('next_url')
+65        parsed.icon = maybeFeed.get('icon')
+66        parsed.favicon = maybeFeed.get('favicon')
+67        parsed.expired = maybeFeed.get('expired', False)
+68        parsed.language = maybeFeed.get('language')
+69        # Structures requiring additional parsing.
+70        if 'author' in maybeFeed:
+71            parsed.author = Author.parse(maybeFeed['author'])
+72        if 'authors' in maybeFeed:
+73            parsed.authors = [Author.parse(a) for a in maybeFeed['authors']]
+74        if 'hubs' in maybeFeed:
+75            parsed.hubs = [Hub.parse(h) for h in maybeFeed['hubs']]
+76        if 'items' in maybeFeed:
+77            parsed.items = [Item.parse(i) for i in maybeFeed['items']]
+78        return parsed
+
-
- View Source -
    @staticmethod
-    def parse(maybeFeed: dict) -> 'Feed':
-        if 'title' not in maybeFeed or not maybeFeed['title']:
-            raise MissingRequiredValueError("Feed", "title")
-        # The only required field exists.
-        parsed = Feed(maybeFeed['title'])
-        # Basic string fields.
-        parsed.home_page_url = maybeFeed.get('home_page_url')
-        parsed.feed_url = maybeFeed.get('feed_url')
-        parsed.description = maybeFeed.get('description')
-        parsed.user_comment = maybeFeed.get('user_comment')
-        parsed.next_url = maybeFeed.get('next_url')
-        parsed.icon = maybeFeed.get('icon')
-        parsed.favicon = maybeFeed.get('favicon')
-        parsed.expired = maybeFeed.get('expired', False)
-        parsed.language = maybeFeed.get('language')
-        # Structures requiring additional parsing.
-        if 'author' in maybeFeed:
-            parsed.author = Author.parse(maybeFeed['author'])
-        if 'authors' in maybeFeed:
-            parsed.authors = [Author.parse(a) for a in maybeFeed['authors']]
-        if 'hubs' in maybeFeed:
-            parsed.hubs = [Hub.parse(h) for h in maybeFeed['hubs']]
-        if 'items' in maybeFeed:
-            parsed.items = [Item.parse(i) for i in maybeFeed['items']]
-        return parsed
-
- -
-
#   + +
+
@staticmethod
-
@staticmethod
+ def + parse_string(maybeFeed: str) -> jsonfeed.Feed: - def - parse_string(maybeFeed: str) -> jsonfeed.Feed: -
+ -
- View Source -
    @staticmethod
-    def parse_string(maybeFeed: str) -> 'Feed':
-        return Feed.parse(json.loads(maybeFeed))
-
+
+ +
80    @staticmethod
+81    def parse_string(maybeFeed: str) -> 'Feed':
+82        return Feed.parse(json.loads(maybeFeed))
+
-
-
#   + +
+ + def + to_json(self, **kwargs) -> str: - - def - to_json(self, **kwargs) -> str: -
+ -
- View Source -
    def to_json(self, **kwargs) -> str:
-        return json.dumps(self._to_ordered_dict(), **kwargs)
-
+
+ +
84    def to_json(self, **kwargs) -> str:
+85        return json.dumps(self._to_ordered_dict(), **kwargs)
+
-
-
- #   + +
+ + class + Author: + + - - class - Author:
+ +
115class Author:
+116    def __init__(self, name: str = None, url: str = None, avatar: str = None):
+117        self.name = name
+118        self.url = url
+119        self.avatar = avatar
+120
+121    @staticmethod
+122    def parse(maybeAuthor: dict) -> 'Author':
+123        return Author(
+124            name=maybeAuthor.get('name'),
+125            url=maybeAuthor.get('url'),
+126            avatar=maybeAuthor.get('avatar')
+127        )
+128
+129    def _to_ordered_dict(self) -> dict:
+130        ordered = {}
+131        if self.name: ordered['name'] = self.name
+132        if self.url: ordered['url'] = self.url
+133        if self.avatar: ordered['avatar'] = self.avatar
+134        return ordered
+135
+136    def __str__(self) -> str:
+137        return json.dumps(self._to_ordered_dict())
+138
+139    def __repr__(self) -> str:
+140        return self.__str__()
+
-
- View Source -
class Author:
-    def __init__(self, name: str = None, url: str = None, avatar: str = None):
-        self.name = name
-        self.url = url
-        self.avatar = avatar
-
-    @staticmethod
-    def parse(maybeAuthor: dict) -> 'Author':
-        return Author(
-            name=maybeAuthor.get('name'),
-            url=maybeAuthor.get('url'),
-            avatar=maybeAuthor.get('avatar')
-        )
-
-    def _to_ordered_dict(self) -> dict:
-        ordered = {}
-        if self.name: ordered['name'] = self.name
-        if self.url: ordered['url'] = self.url
-        if self.avatar: ordered['avatar'] = self.avatar
-        return ordered
-
-    def __str__(self) -> str:
-        return json.dumps(self._to_ordered_dict())
-
-    def __repr__(self) -> str:
-        return self.__str__()
-
- -
-
#   + +
+ + Author(name: str = None, url: str = None, avatar: str = None) - - Author(name: str = None, url: str = None, avatar: str = None) -
+ -
- View Source -
    def __init__(self, name: str = None, url: str = None, avatar: str = None):
-        self.name = name
-        self.url = url
-        self.avatar = avatar
-
+
+ +
116    def __init__(self, name: str = None, url: str = None, avatar: str = None):
+117        self.name = name
+118        self.url = url
+119        self.avatar = avatar
+
-
-
#   + +
+
@staticmethod
-
@staticmethod
+ def + parse(maybeAuthor: dict) -> jsonfeed.Author: - def - parse(maybeAuthor: dict) -> jsonfeed.Author: -
+ -
- View Source -
    @staticmethod
-    def parse(maybeAuthor: dict) -> 'Author':
-        return Author(
-            name=maybeAuthor.get('name'),
-            url=maybeAuthor.get('url'),
-            avatar=maybeAuthor.get('avatar')
-        )
-
+
+ +
121    @staticmethod
+122    def parse(maybeAuthor: dict) -> 'Author':
+123        return Author(
+124            name=maybeAuthor.get('name'),
+125            url=maybeAuthor.get('url'),
+126            avatar=maybeAuthor.get('avatar')
+127        )
+
-
-
- #   - - - class - Hub: -
- -
- View Source -
class Hub:
-    def __init__(self, type: str, url: str):
-        self.type = type
-        self.url = url
+                            
+
+ + class + Hub: - @staticmethod - def parse(maybeHub: dict) -> 'Hub': - if 'type' not in maybeHub or not maybeHub['type']: - raise MissingRequiredValueError("Hub", "type") - if 'url' not in maybeHub or not maybeHub['url']: - raise MissingRequiredValueError("Hub", "url") - return Hub(maybeHub['type'], maybeHub['url']) + - def _to_ordered_dict(self) -> dict: - return {'type': self.type, 'url': self.url} - - def __str__(self) -> str: - return json.dumps(self._to_ordered_dict()) - - def __repr__(self) -> str: - return self.__str__() -
+ + +
143class Hub:
+144    def __init__(self, type: str, url: str):
+145        self.type = type
+146        self.url = url
+147
+148    @staticmethod
+149    def parse(maybeHub: dict) -> 'Hub':
+150        if 'type' not in maybeHub or not maybeHub['type']:
+151            raise MissingRequiredValueError("Hub", "type")
+152        if 'url' not in maybeHub or not maybeHub['url']:
+153            raise MissingRequiredValueError("Hub", "url")
+154        return Hub(maybeHub['type'], maybeHub['url'])
+155
+156    def _to_ordered_dict(self) -> dict:
+157        return {'type': self.type, 'url': self.url}
+158
+159    def __str__(self) -> str:
+160        return json.dumps(self._to_ordered_dict())
+161
+162    def __repr__(self) -> str:
+163        return self.__str__()
+
-
-
#   + +
+ + Hub(type: str, url: str) - - Hub(type: str, url: str) -
+ -
- View Source -
    def __init__(self, type: str, url: str):
-        self.type = type
-        self.url = url
-
+
+ +
144    def __init__(self, type: str, url: str):
+145        self.type = type
+146        self.url = url
+
-
-
#   + +
+
@staticmethod
-
@staticmethod
+ def + parse(maybeHub: dict) -> jsonfeed.Hub: - def - parse(maybeHub: dict) -> jsonfeed.Hub: -
+ -
- View Source -
    @staticmethod
-    def parse(maybeHub: dict) -> 'Hub':
-        if 'type' not in maybeHub or not maybeHub['type']:
-            raise MissingRequiredValueError("Hub", "type")
-        if 'url' not in maybeHub or not maybeHub['url']:
-            raise MissingRequiredValueError("Hub", "url")
-        return Hub(maybeHub['type'], maybeHub['url'])
-
+
+ +
148    @staticmethod
+149    def parse(maybeHub: dict) -> 'Hub':
+150        if 'type' not in maybeHub or not maybeHub['type']:
+151            raise MissingRequiredValueError("Hub", "type")
+152        if 'url' not in maybeHub or not maybeHub['url']:
+153            raise MissingRequiredValueError("Hub", "url")
+154        return Hub(maybeHub['type'], maybeHub['url'])
+
-
-
- #   + +
+ + class + Item: + + - - class - Item:
+ +
168class Item:
+169    def __init__(
+170        self,
+171        id,
+172        url: str = None,
+173        external_url: str = None,
+174        title: str = None,
+175        content_html: str = None,
+176        content_text: str = None,
+177        summary: str = None,
+178        image: str = None,
+179        banner_image: str = None,
+180        date_published: str = None,
+181        date_modified: str = None,
+182        author=None,  # 1.1 deprecated; use authors.
+183        authors: List[Author] = None,
+184        tags: List[str] = [],
+185        attachments: List['Attachment'] = []
+186    ):
+187        self.id = id
+188        self.url = url
+189        self.external_url = external_url
+190        self.title = title
+191        self.content_html = content_html
+192        self.content_text = content_text
+193        self.summary = summary
+194        self.image = image
+195        self.banner_image = banner_image
+196        self.date_published = date_published
+197        self.date_modified = date_modified
+198        self.author = author
+199        self.authors = authors
+200        self.tags = tags
+201        self.attachments = attachments
+202
+203    @staticmethod
+204    def parse(maybeItem: dict) -> 'Item':
+205        if 'id' not in maybeItem or not maybeItem['id']:
+206            raise MissingRequiredValueError("Item", "id")
+207        parsed = Item(maybeItem['id'])
+208        parsed.url = maybeItem.get('url')
+209        parsed.external_url = maybeItem.get('external_url')
+210        parsed.title = maybeItem.get('title')
+211        parsed.content_html = maybeItem.get('content_html')
+212        parsed.content_text = maybeItem.get('content_text')
+213        parsed.summary = maybeItem.get('summary')
+214        parsed.image = maybeItem.get('image')
+215        parsed.banner_image = maybeItem.get('banner_image')
+216        parsed.date_published = maybeItem.get('date_published')
+217        parsed.date_modified = maybeItem.get('date_modified')
+218        parsed.tags = maybeItem.get('tags', [])
+219        if 'authors' in maybeItem:
+220            parsed.authors = [Author.parse(a) for a in maybeItem['authors']]
+221        if 'author' in maybeItem and maybeItem['author']:
+222            parsed.author = Author.parse(maybeItem['author'])
+223        if 'attachments' in maybeItem and maybeItem['attachments']:
+224            parsed.attachments = [Attachment.parse(a) for a in maybeItem['attachments']]
+225        return parsed
+226
+227    def _to_ordered_dict(self) -> dict:
+228        ordered = {'id': self.id}
+229        if self.url: ordered['url'] = self.url
+230        if self.external_url: ordered['external_url'] = self.url
+231        if self.title: ordered['title'] = self.title
+232        if self.content_html: ordered['content_html'] = self.content_html
+233        if self.content_text: ordered['content_text'] = self.content_text
+234        if self.summary: ordered['summary'] = self.summary
+235        if self.image: ordered['image'] = self.image
+236        if self.banner_image: ordered['banner_image'] = self.banner_image
+237        if self.date_published: ordered['date_published'] = self.date_published
+238        if self.date_modified: ordered['date_modified'] = self.date_modified
+239        if self.tags: ordered['tags'] = self.tags
+240        if self.author: ordered['author'] = self.author._to_ordered_dict()
+241        if self.authors:
+242            ordered['authors'] = [a._to_ordered_dict() for a in self.authors]
+243        if self.attachments:
+244            ordered['attachments'] = [a._to_ordered_dict() for a in self.attachments]
+245        return ordered
+246
+247    def __str__(self) -> str:
+248        return json.dumps(self._to_ordered_dict())
+249
+250    def __repr__(self) -> str:
+251        return self.__str__()
+
-
- View Source -
class Item:
-    def __init__(
-        self,
-        id,
-        url: str = None,
-        external_url: str = None,
-        title: str = None,
-        content_html: str = None,
-        content_text: str = None,
-        summary: str = None,
-        image: str = None,
-        banner_image: str = None,
-        date_published: str = None,
-        date_modified: str = None,
-        author=None,  # 1.1 deprecated; use authors.
-        authors: List[Author] = None,
-        tags: List[str] = [],
-        attachments: List['Attachment'] = []
-    ):
-        self.id = id
-        self.url = url
-        self.external_url = external_url
-        self.title = title
-        self.content_html = content_html
-        self.content_text = content_text
-        self.summary = summary
-        self.image = image
-        self.banner_image = banner_image
-        self.date_published = date_published
-        self.date_modified = date_modified
-        self.author = author
-        self.authors = authors
-        self.tags = tags
-        self.attachments = attachments
-
-    @staticmethod
-    def parse(maybeItem: dict) -> 'Item':
-        if 'id' not in maybeItem or not maybeItem['id']:
-            raise MissingRequiredValueError("Item", "id")
-        parsed = Item(maybeItem['id'])
-        parsed.url = maybeItem.get('url')
-        parsed.external_url = maybeItem.get('external_url')
-        parsed.title = maybeItem.get('title')
-        parsed.content_html = maybeItem.get('content_html')
-        parsed.content_text = maybeItem.get('content_text')
-        parsed.summary = maybeItem.get('summary')
-        parsed.image = maybeItem.get('image')
-        parsed.banner_image = maybeItem.get('banner_image')
-        parsed.date_published = maybeItem.get('date_published')
-        parsed.date_modified = maybeItem.get('date_modified')
-        parsed.tags = maybeItem.get('tags', [])
-        if 'authors' in maybeItem:
-            parsed.authors = [Author.parse(a) for a in maybeItem['authors']]
-        if 'author' in maybeItem and maybeItem['author']:
-            parsed.author = Author.parse(maybeItem['author'])
-        if 'attachments' in maybeItem and maybeItem['attachments']:
-            parsed.attachments = [Attachment.parse(a) for a in maybeItem['attachments']]
-        return parsed
-
-    def _to_ordered_dict(self) -> dict:
-        ordered = {'id': self.id}
-        if self.url: ordered['url'] = self.url
-        if self.external_url: ordered['external_url'] = self.url
-        if self.title: ordered['title'] = self.title
-        if self.content_html: ordered['content_html'] = self.content_html
-        if self.content_text: ordered['content_text'] = self.content_text
-        if self.summary: ordered['summary'] = self.summary
-        if self.image: ordered['image'] = self.image
-        if self.banner_image: ordered['banner_image'] = self.banner_image
-        if self.date_published: ordered['date_published'] = self.date_published
-        if self.date_modified: ordered['date_modified'] = self.date_modified
-        if self.tags: ordered['tags'] = self.tags
-        if self.author: ordered['author'] = self.author._to_ordered_dict()
-        if self.authors:
-            ordered['authors'] = [a._to_ordered_dict() for a in self.authors]
-        if self.attachments:
-            ordered['attachments'] = [a._to_ordered_dict() for a in self.attachments]
-        return ordered
-
-    def __str__(self) -> str:
-        return json.dumps(self._to_ordered_dict())
-
-    def __repr__(self) -> str:
-        return self.__str__()
-
- -
-
#   - - - Item( - id, - url: str = None, - external_url: str = None, - title: str = None, - content_html: str = None, - content_text: str = None, - summary: str = None, - image: str = None, - banner_image: str = None, - date_published: str = None, - date_modified: str = None, - author=None, - authors: List[jsonfeed.Author] = None, - tags: List[str] = [], - attachments: list[jsonfeed.Attachment] = [] -) + +
+ + Item( id, url: str = None, external_url: str = None, title: str = None, content_html: str = None, content_text: str = None, summary: str = None, image: str = None, banner_image: str = None, date_published: str = None, date_modified: str = None, author=None, authors: List[jsonfeed.Author] = None, tags: List[str] = [], attachments: List[jsonfeed.Attachment] = []) + + +
+ +
169    def __init__(
+170        self,
+171        id,
+172        url: str = None,
+173        external_url: str = None,
+174        title: str = None,
+175        content_html: str = None,
+176        content_text: str = None,
+177        summary: str = None,
+178        image: str = None,
+179        banner_image: str = None,
+180        date_published: str = None,
+181        date_modified: str = None,
+182        author=None,  # 1.1 deprecated; use authors.
+183        authors: List[Author] = None,
+184        tags: List[str] = [],
+185        attachments: List['Attachment'] = []
+186    ):
+187        self.id = id
+188        self.url = url
+189        self.external_url = external_url
+190        self.title = title
+191        self.content_html = content_html
+192        self.content_text = content_text
+193        self.summary = summary
+194        self.image = image
+195        self.banner_image = banner_image
+196        self.date_published = date_published
+197        self.date_modified = date_modified
+198        self.author = author
+199        self.authors = authors
+200        self.tags = tags
+201        self.attachments = attachments
+
-
- View Source -
    def __init__(
-        self,
-        id,
-        url: str = None,
-        external_url: str = None,
-        title: str = None,
-        content_html: str = None,
-        content_text: str = None,
-        summary: str = None,
-        image: str = None,
-        banner_image: str = None,
-        date_published: str = None,
-        date_modified: str = None,
-        author=None,  # 1.1 deprecated; use authors.
-        authors: List[Author] = None,
-        tags: List[str] = [],
-        attachments: List['Attachment'] = []
-    ):
-        self.id = id
-        self.url = url
-        self.external_url = external_url
-        self.title = title
-        self.content_html = content_html
-        self.content_text = content_text
-        self.summary = summary
-        self.image = image
-        self.banner_image = banner_image
-        self.date_published = date_published
-        self.date_modified = date_modified
-        self.author = author
-        self.authors = authors
-        self.tags = tags
-        self.attachments = attachments
-
- -
-
#   + +
+
@staticmethod
-
@staticmethod
+ def + parse(maybeItem: dict) -> jsonfeed.Item: + + - def - parse(maybeItem: dict) -> jsonfeed.Item:
+ +
203    @staticmethod
+204    def parse(maybeItem: dict) -> 'Item':
+205        if 'id' not in maybeItem or not maybeItem['id']:
+206            raise MissingRequiredValueError("Item", "id")
+207        parsed = Item(maybeItem['id'])
+208        parsed.url = maybeItem.get('url')
+209        parsed.external_url = maybeItem.get('external_url')
+210        parsed.title = maybeItem.get('title')
+211        parsed.content_html = maybeItem.get('content_html')
+212        parsed.content_text = maybeItem.get('content_text')
+213        parsed.summary = maybeItem.get('summary')
+214        parsed.image = maybeItem.get('image')
+215        parsed.banner_image = maybeItem.get('banner_image')
+216        parsed.date_published = maybeItem.get('date_published')
+217        parsed.date_modified = maybeItem.get('date_modified')
+218        parsed.tags = maybeItem.get('tags', [])
+219        if 'authors' in maybeItem:
+220            parsed.authors = [Author.parse(a) for a in maybeItem['authors']]
+221        if 'author' in maybeItem and maybeItem['author']:
+222            parsed.author = Author.parse(maybeItem['author'])
+223        if 'attachments' in maybeItem and maybeItem['attachments']:
+224            parsed.attachments = [Attachment.parse(a) for a in maybeItem['attachments']]
+225        return parsed
+
-
- View Source -
    @staticmethod
-    def parse(maybeItem: dict) -> 'Item':
-        if 'id' not in maybeItem or not maybeItem['id']:
-            raise MissingRequiredValueError("Item", "id")
-        parsed = Item(maybeItem['id'])
-        parsed.url = maybeItem.get('url')
-        parsed.external_url = maybeItem.get('external_url')
-        parsed.title = maybeItem.get('title')
-        parsed.content_html = maybeItem.get('content_html')
-        parsed.content_text = maybeItem.get('content_text')
-        parsed.summary = maybeItem.get('summary')
-        parsed.image = maybeItem.get('image')
-        parsed.banner_image = maybeItem.get('banner_image')
-        parsed.date_published = maybeItem.get('date_published')
-        parsed.date_modified = maybeItem.get('date_modified')
-        parsed.tags = maybeItem.get('tags', [])
-        if 'authors' in maybeItem:
-            parsed.authors = [Author.parse(a) for a in maybeItem['authors']]
-        if 'author' in maybeItem and maybeItem['author']:
-            parsed.author = Author.parse(maybeItem['author'])
-        if 'attachments' in maybeItem and maybeItem['attachments']:
-            parsed.attachments = [Attachment.parse(a) for a in maybeItem['attachments']]
-        return parsed
-
- -
-
- #   + +
+ + class + Attachment: + + - - class - Attachment:
+ +
254class Attachment:
+255    def __init__(
+256        self,
+257        url: str,
+258        mime_type: str,
+259        title: str = None,
+260        size_in_bytes: int = None,
+261        duration_in_seconds: int = None
+262    ):
+263        self.url = url
+264        self.mime_type = mime_type
+265        self.title = title
+266        self.size_in_bytes = size_in_bytes
+267        self.duration_in_seconds = duration_in_seconds
+268
+269    @staticmethod
+270    def parse(maybeAttachment: dict) -> 'Attachment':
+271        if 'url' not in maybeAttachment or not maybeAttachment['url']:
+272            raise MissingRequiredValueError("Attachment", "url")
+273        if 'mime_type' not in maybeAttachment or not maybeAttachment['mime_type']:
+274            raise MissingRequiredValueError("Attachment", "mime_type")
+275        parsed = Attachment(maybeAttachment['url'], maybeAttachment['mime_type'])
+276        parsed.title = maybeAttachment.get('title')
+277        parsed.size_in_bytes = maybeAttachment.get('size_in_bytes'),
+278        parsed.duration_in_seconds = maybeAttachment.get('duration_in_seconds')
+279        return parsed
+280
+281    def _to_ordered_dict(self) -> dict:
+282        ordered = {'url': self.url, 'mime_type': self.mime_type}
+283        if self.title: ordered['title'] = self.title
+284        if self.size_in_bytes: ordered['size_in_bytes'] = self.size_in_bytes
+285        if self.duration_in_seconds:
+286            ordered['duration_in_seconds'] = self.duration_in_seconds
+287        return ordered
+288
+289    def __str__(self) -> str:
+290        return json.dumps(self._to_ordered_dict())
+291
+292    def __repr__(self) -> str:
+293        return self.__str__()
+
-
- View Source -
class Attachment:
-    def __init__(
-        self,
-        url: str,
-        mime_type: str,
-        title: str = None,
-        size_in_bytes: int = None,
-        duration_in_seconds: int = None
-    ):
-        self.url = url
-        self.mime_type = mime_type
-        self.title = title
-        self.size_in_bytes = size_in_bytes
-        self.duration_in_seconds = duration_in_seconds
-
-    @staticmethod
-    def parse(maybeAttachment: dict) -> 'Attachment':
-        if 'url' not in maybeAttachment or not maybeAttachment['url']:
-            raise MissingRequiredValueError("Attachment", "url")
-        if 'mime_type' not in maybeAttachment or not maybeAttachment['mime_type']:
-            raise MissingRequiredValueError("Attachment", "mime_type")
-        parsed = Attachment(maybeAttachment['url'], maybeAttachment['mime_type'])
-        parsed.title = maybeAttachment.get('title')
-        parsed.size_in_bytes = maybeAttachment.get('size_in_bytes'),
-        parsed.duration_in_seconds = maybeAttachment.get('duration_in_seconds')
-        return parsed
-
-    def _to_ordered_dict(self) -> dict:
-        ordered = {'url': self.url, 'mime_type': self.mime_type}
-        if self.title: ordered['title'] = self.title
-        if self.size_in_bytes: ordered['size_in_bytes'] = self.size_in_bytes
-        if self.duration_in_seconds:
-            ordered['duration_in_seconds'] = self.duration_in_seconds
-        return ordered
-
-    def __str__(self) -> str:
-        return json.dumps(self._to_ordered_dict())
-
-    def __repr__(self) -> str:
-        return self.__str__()
-
- -
-
#   - - - Attachment( - url: str, - mime_type: str, - title: str = None, - size_in_bytes: int = None, - duration_in_seconds: int = None -) + +
+ + Attachment( url: str, mime_type: str, title: str = None, size_in_bytes: int = None, duration_in_seconds: int = None) + + +
+ +
255    def __init__(
+256        self,
+257        url: str,
+258        mime_type: str,
+259        title: str = None,
+260        size_in_bytes: int = None,
+261        duration_in_seconds: int = None
+262    ):
+263        self.url = url
+264        self.mime_type = mime_type
+265        self.title = title
+266        self.size_in_bytes = size_in_bytes
+267        self.duration_in_seconds = duration_in_seconds
+
-
- View Source -
    def __init__(
-        self,
-        url: str,
-        mime_type: str,
-        title: str = None,
-        size_in_bytes: int = None,
-        duration_in_seconds: int = None
-    ):
-        self.url = url
-        self.mime_type = mime_type
-        self.title = title
-        self.size_in_bytes = size_in_bytes
-        self.duration_in_seconds = duration_in_seconds
-
- -
-
#   + +
+
@staticmethod
+ + def + parse(maybeAttachment: dict) -> jsonfeed.Attachment: -
@staticmethod
+ - def - parse(maybeAttachment: dict) -> jsonfeed.Attachment:
+ +
269    @staticmethod
+270    def parse(maybeAttachment: dict) -> 'Attachment':
+271        if 'url' not in maybeAttachment or not maybeAttachment['url']:
+272            raise MissingRequiredValueError("Attachment", "url")
+273        if 'mime_type' not in maybeAttachment or not maybeAttachment['mime_type']:
+274            raise MissingRequiredValueError("Attachment", "mime_type")
+275        parsed = Attachment(maybeAttachment['url'], maybeAttachment['mime_type'])
+276        parsed.title = maybeAttachment.get('title')
+277        parsed.size_in_bytes = maybeAttachment.get('size_in_bytes'),
+278        parsed.duration_in_seconds = maybeAttachment.get('duration_in_seconds')
+279        return parsed
+
-
- View Source -
    @staticmethod
-    def parse(maybeAttachment: dict) -> 'Attachment':
-        if 'url' not in maybeAttachment or not maybeAttachment['url']:
-            raise MissingRequiredValueError("Attachment", "url")
-        if 'mime_type' not in maybeAttachment or not maybeAttachment['mime_type']:
-            raise MissingRequiredValueError("Attachment", "mime_type")
-        parsed = Attachment(maybeAttachment['url'], maybeAttachment['mime_type'])
-        parsed.title = maybeAttachment.get('title')
-        parsed.size_in_bytes = maybeAttachment.get('size_in_bytes'),
-        parsed.duration_in_seconds = maybeAttachment.get('duration_in_seconds')
-        return parsed
-
- -
- - - + } else if ( + e.key === "Enter" + ) { + focused.querySelector("a").click(); + } + } + }); + \ No newline at end of file diff --git a/docs/jsonfeed/converters/feedparser.html b/docs/jsonfeed/converters/feedparser.html index f9479d3..44bba75 100644 --- a/docs/jsonfeed/converters/feedparser.html +++ b/docs/jsonfeed/converters/feedparser.html @@ -3,35 +3,28 @@ - + jsonfeed.converters.feedparser API documentation - + + + + + + + +
-
+

jsonfeed.converters.feedparser

-
- View Source -
from typing import List
-from jsonfeed import Feed, Author, Item, Attachment
-from feedparser import FeedParserDict
-
-# This file provides some bodge utils for converting feedparser-parsed ATOM or
-# RSS feeds into JSON feeds. It makes few guarantees about feed quality (for
-# example, it makes no effort to convert datetime formats) so it should probably
-# not be used in any serious application.
-#
-# Example usage:
-#
-#   import jsonfeed.converters as jfc
-#   import feedparser
-#   obj = feedparser.parse('https://www.schneier.com/blog/atom.xml')
-#   feed = jfc.from_feedparser_obj(obj)
-#
-# Filter example:
-#
-#   obj = feedparser.parse('https://www.schneier.com/blog/atom.xml')
-#   feed = from_feedparser_obj(obj)
-#   feed.items = [e for e in feed.items if not e.tags or "squid" not in e.tags]
-#   feed.toJSON()
-
-
-def from_feedparser_obj(feedparser_obj: FeedParserDict) -> Feed:
-    author = Author(
-        name=feedparser_obj.feed.author,
-    ) if "author" in feedparser_obj.feed else None
-    items = [from_feedparser_entry(e) for e in feedparser_obj.entries]
-    return Feed(
-        title=feedparser_obj.feed.title if "title" in feedparser_obj.feed else None,
-        description=feedparser_obj.feed.info if "info" in feedparser_obj.feed else None,
-        icon=feedparser_obj.feed.image.href if "image" in feedparser_obj.feed else None,
-        favicon=feedparser_obj.feed.icon if "icon" in feedparser_obj.feed else None,
-        language=feedparser_obj.feed.language if "language" in feedparser_obj.feed else None,
-        author=author,
-        authors=[author] if author else None,
-        items=items
-    )
-
-
-def from_feedparser_entry(entry: FeedParserDict) -> Item:
-    author = Author(name=entry.author) if "author" in entry else None
-    return Item(
-        id=entry.id if "id" in entry else None,
-        url=entry.link if "link" in entry else None,
-        external_url=entry.source.link if "source" in entry else None,
-        title=entry.title if "title" in entry else None,
-        content_html=get_content(entry, "text/html"),
-        content_text=get_content(entry, "text/plain"),
-        summary=entry.summary if "summary" in entry else None,
-        date_published=entry.published if "published" in entry else None,
-        date_modified=entry.updated if "updated" in entry else None,
-        author=author,
-        authors=[author] if author else None,
-        tags=[t.term for t in entry.tags] if "tags" in entry else None,
-        attachments=from_feedparser_links(entry.links) if "links" in entry else None,
-    )
-
-
-def from_feedparser_links(links: List[FeedParserDict]) -> List[Attachment]:
-    return [from_feedparser_link(link) for link in links]
-
-
-def from_feedparser_link(link: FeedParserDict) -> Attachment:
-    # TODO: extract the standard fieldnames.
-    return Attachment(
-        link.href,
-        link.type,
-        None,
-        link.length if "length" in link else None,
-        None
-    )
-
-
-# A helper for pulling a content body with a specific format out of a feedparser
-# entry's array of contents.
-#
-# For our purposes, content_type is "text/html" or "text/plain".
-def get_content(entry: FeedParserDict, content_type: str) -> str:
-    if "content" not in entry:
-        return None
-    for content in entry.content:
-        if content.type == content_type:
-            return content.value
-    return None
-
- -
+ + + + +
 1from typing import List
+ 2from jsonfeed import Feed, Author, Item, Attachment
+ 3from feedparser import FeedParserDict
+ 4
+ 5# This file provides some bodge utils for converting feedparser-parsed ATOM or
+ 6# RSS feeds into JSON feeds. It makes few guarantees about feed quality (for
+ 7# example, it makes no effort to convert datetime formats) so it should probably
+ 8# not be used in any serious application.
+ 9#
+10# Example usage:
+11#
+12#   import jsonfeed.converters as jfc
+13#   import feedparser
+14#   obj = feedparser.parse('https://www.schneier.com/blog/atom.xml')
+15#   feed = jfc.from_feedparser_obj(obj)
+16#
+17# Filter example:
+18#
+19#   obj = feedparser.parse('https://www.schneier.com/blog/atom.xml')
+20#   feed = from_feedparser_obj(obj)
+21#   feed.items = [e for e in feed.items if not e.tags or "squid" not in e.tags]
+22#   feed.toJSON()
+23
+24
+25def from_feedparser_obj(feedparser_obj: FeedParserDict) -> Feed:
+26    author = Author(
+27        name=feedparser_obj.feed.author,
+28    ) if "author" in feedparser_obj.feed else None
+29    items = [from_feedparser_entry(e) for e in feedparser_obj.entries]
+30    return Feed(
+31        title=feedparser_obj.feed.title if "title" in feedparser_obj.feed else None,
+32        description=feedparser_obj.feed.info if "info" in feedparser_obj.feed else None,
+33        icon=feedparser_obj.feed.image.href if "image" in feedparser_obj.feed else None,
+34        favicon=feedparser_obj.feed.icon if "icon" in feedparser_obj.feed else None,
+35        language=feedparser_obj.feed.language if "language" in feedparser_obj.feed else None,
+36        author=author,
+37        authors=[author] if author else None,
+38        items=items
+39    )
+40
+41
+42def from_feedparser_entry(entry: FeedParserDict) -> Item:
+43    author = Author(name=entry.author) if "author" in entry else None
+44    return Item(
+45        id=entry.id if "id" in entry else None,
+46        url=entry.link if "link" in entry else None,
+47        external_url=entry.source.link if "source" in entry else None,
+48        title=entry.title if "title" in entry else None,
+49        content_html=get_content(entry, "text/html"),
+50        content_text=get_content(entry, "text/plain"),
+51        summary=entry.summary if "summary" in entry else None,
+52        date_published=entry.published if "published" in entry else None,
+53        date_modified=entry.updated if "updated" in entry else None,
+54        author=author,
+55        authors=[author] if author else None,
+56        tags=[t.term for t in entry.tags] if "tags" in entry else None,
+57        attachments=from_feedparser_links(entry.links) if "links" in entry else None,
+58    )
+59
+60
+61def from_feedparser_links(links: List[FeedParserDict]) -> List[Attachment]:
+62    return [from_feedparser_link(link) for link in links]
+63
+64
+65def from_feedparser_link(link: FeedParserDict) -> Attachment:
+66    # TODO: extract the standard fieldnames.
+67    return Attachment(
+68        link.href,
+69        link.type,
+70        None,
+71        link.length if "length" in link else None,
+72        None
+73    )
+74
+75
+76# A helper for pulling a content body with a specific format out of a feedparser
+77# entry's array of contents.
+78#
+79# For our purposes, content_type is "text/html" or "text/plain".
+80def get_content(entry: FeedParserDict, content_type: str) -> str:
+81    if "content" not in entry:
+82        return None
+83    for content in entry.content:
+84        if content.type == content_type:
+85            return content.value
+86    return None
+
+
-
#   + +
+ + def + from_feedparser_obj(feedparser_obj: feedparser.util.FeedParserDict) -> jsonfeed.Feed: + + - - def - from_feedparser_obj(feedparser_obj: feedparser.util.FeedParserDict) -> jsonfeed.Feed:
+ +
26def from_feedparser_obj(feedparser_obj: FeedParserDict) -> Feed:
+27    author = Author(
+28        name=feedparser_obj.feed.author,
+29    ) if "author" in feedparser_obj.feed else None
+30    items = [from_feedparser_entry(e) for e in feedparser_obj.entries]
+31    return Feed(
+32        title=feedparser_obj.feed.title if "title" in feedparser_obj.feed else None,
+33        description=feedparser_obj.feed.info if "info" in feedparser_obj.feed else None,
+34        icon=feedparser_obj.feed.image.href if "image" in feedparser_obj.feed else None,
+35        favicon=feedparser_obj.feed.icon if "icon" in feedparser_obj.feed else None,
+36        language=feedparser_obj.feed.language if "language" in feedparser_obj.feed else None,
+37        author=author,
+38        authors=[author] if author else None,
+39        items=items
+40    )
+
-
- View Source -
def from_feedparser_obj(feedparser_obj: FeedParserDict) -> Feed:
-    author = Author(
-        name=feedparser_obj.feed.author,
-    ) if "author" in feedparser_obj.feed else None
-    items = [from_feedparser_entry(e) for e in feedparser_obj.entries]
-    return Feed(
-        title=feedparser_obj.feed.title if "title" in feedparser_obj.feed else None,
-        description=feedparser_obj.feed.info if "info" in feedparser_obj.feed else None,
-        icon=feedparser_obj.feed.image.href if "image" in feedparser_obj.feed else None,
-        favicon=feedparser_obj.feed.icon if "icon" in feedparser_obj.feed else None,
-        language=feedparser_obj.feed.language if "language" in feedparser_obj.feed else None,
-        author=author,
-        authors=[author] if author else None,
-        items=items
-    )
-
- -
-
#   + +
+ + def + from_feedparser_entry(entry: feedparser.util.FeedParserDict) -> jsonfeed.Item: + + - - def - from_feedparser_entry(entry: feedparser.util.FeedParserDict) -> jsonfeed.Item:
+ +
43def from_feedparser_entry(entry: FeedParserDict) -> Item:
+44    author = Author(name=entry.author) if "author" in entry else None
+45    return Item(
+46        id=entry.id if "id" in entry else None,
+47        url=entry.link if "link" in entry else None,
+48        external_url=entry.source.link if "source" in entry else None,
+49        title=entry.title if "title" in entry else None,
+50        content_html=get_content(entry, "text/html"),
+51        content_text=get_content(entry, "text/plain"),
+52        summary=entry.summary if "summary" in entry else None,
+53        date_published=entry.published if "published" in entry else None,
+54        date_modified=entry.updated if "updated" in entry else None,
+55        author=author,
+56        authors=[author] if author else None,
+57        tags=[t.term for t in entry.tags] if "tags" in entry else None,
+58        attachments=from_feedparser_links(entry.links) if "links" in entry else None,
+59    )
+
-
- View Source -
def from_feedparser_entry(entry: FeedParserDict) -> Item:
-    author = Author(name=entry.author) if "author" in entry else None
-    return Item(
-        id=entry.id if "id" in entry else None,
-        url=entry.link if "link" in entry else None,
-        external_url=entry.source.link if "source" in entry else None,
-        title=entry.title if "title" in entry else None,
-        content_html=get_content(entry, "text/html"),
-        content_text=get_content(entry, "text/plain"),
-        summary=entry.summary if "summary" in entry else None,
-        date_published=entry.published if "published" in entry else None,
-        date_modified=entry.updated if "updated" in entry else None,
-        author=author,
-        authors=[author] if author else None,
-        tags=[t.term for t in entry.tags] if "tags" in entry else None,
-        attachments=from_feedparser_links(entry.links) if "links" in entry else None,
-    )
-
- -
-
#   + +
+ + def + get_content(entry: feedparser.util.FeedParserDict, content_type: str) -> str: - - def - get_content(entry: feedparser.util.FeedParserDict, content_type: str) -> str: -
+ -
- View Source -
def get_content(entry: FeedParserDict, content_type: str) -> str:
-    if "content" not in entry:
-        return None
-    for content in entry.content:
-        if content.type == content_type:
-            return content.value
-    return None
-
+
+ +
81def get_content(entry: FeedParserDict, content_type: str) -> str:
+82    if "content" not in entry:
+83        return None
+84    for content in entry.content:
+85        if content.type == content_type:
+86            return content.value
+87    return None
+
-
- - - + } else if ( + e.key === "Enter" + ) { + focused.querySelector("a").click(); + } + } + }); + \ No newline at end of file diff --git a/docs/search.js b/docs/search.js new file mode 100644 index 0000000..c81eced --- /dev/null +++ b/docs/search.js @@ -0,0 +1,46 @@ +window.pdocSearch = (function(){ +/** elasticlunr - http://weixsong.github.io * Copyright (C) 2017 Oliver Nightingale * Copyright (C) 2017 Wei Song * MIT Licensed */!function(){function e(e){if(null===e||"object"!=typeof e)return e;var t=e.constructor();for(var n in e)e.hasOwnProperty(n)&&(t[n]=e[n]);return t}var t=function(e){var n=new t.Index;return n.pipeline.add(t.trimmer,t.stopWordFilter,t.stemmer),e&&e.call(n,n),n};t.version="0.9.5",lunr=t,t.utils={},t.utils.warn=function(e){return function(t){e.console&&console.warn&&console.warn(t)}}(this),t.utils.toString=function(e){return void 0===e||null===e?"":e.toString()},t.EventEmitter=function(){this.events={}},t.EventEmitter.prototype.addListener=function(){var e=Array.prototype.slice.call(arguments),t=e.pop(),n=e;if("function"!=typeof t)throw new TypeError("last argument must be a function");n.forEach(function(e){this.hasHandler(e)||(this.events[e]=[]),this.events[e].push(t)},this)},t.EventEmitter.prototype.removeListener=function(e,t){if(this.hasHandler(e)){var n=this.events[e].indexOf(t);-1!==n&&(this.events[e].splice(n,1),0==this.events[e].length&&delete this.events[e])}},t.EventEmitter.prototype.emit=function(e){if(this.hasHandler(e)){var t=Array.prototype.slice.call(arguments,1);this.events[e].forEach(function(e){e.apply(void 0,t)},this)}},t.EventEmitter.prototype.hasHandler=function(e){return e in this.events},t.tokenizer=function(e){if(!arguments.length||null===e||void 0===e)return[];if(Array.isArray(e)){var n=e.filter(function(e){return null===e||void 0===e?!1:!0});n=n.map(function(e){return t.utils.toString(e).toLowerCase()});var i=[];return n.forEach(function(e){var n=e.split(t.tokenizer.seperator);i=i.concat(n)},this),i}return e.toString().trim().toLowerCase().split(t.tokenizer.seperator)},t.tokenizer.defaultSeperator=/[\s\-]+/,t.tokenizer.seperator=t.tokenizer.defaultSeperator,t.tokenizer.setSeperator=function(e){null!==e&&void 0!==e&&"object"==typeof e&&(t.tokenizer.seperator=e)},t.tokenizer.resetSeperator=function(){t.tokenizer.seperator=t.tokenizer.defaultSeperator},t.tokenizer.getSeperator=function(){return t.tokenizer.seperator},t.Pipeline=function(){this._queue=[]},t.Pipeline.registeredFunctions={},t.Pipeline.registerFunction=function(e,n){n in t.Pipeline.registeredFunctions&&t.utils.warn("Overwriting existing registered function: "+n),e.label=n,t.Pipeline.registeredFunctions[n]=e},t.Pipeline.getRegisteredFunction=function(e){return e in t.Pipeline.registeredFunctions!=!0?null:t.Pipeline.registeredFunctions[e]},t.Pipeline.warnIfFunctionNotRegistered=function(e){var n=e.label&&e.label in this.registeredFunctions;n||t.utils.warn("Function is not registered with pipeline. This may cause problems when serialising the index.\n",e)},t.Pipeline.load=function(e){var n=new t.Pipeline;return e.forEach(function(e){var i=t.Pipeline.getRegisteredFunction(e);if(!i)throw new Error("Cannot load un-registered function: "+e);n.add(i)}),n},t.Pipeline.prototype.add=function(){var e=Array.prototype.slice.call(arguments);e.forEach(function(e){t.Pipeline.warnIfFunctionNotRegistered(e),this._queue.push(e)},this)},t.Pipeline.prototype.after=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i+1,0,n)},t.Pipeline.prototype.before=function(e,n){t.Pipeline.warnIfFunctionNotRegistered(n);var i=this._queue.indexOf(e);if(-1===i)throw new Error("Cannot find existingFn");this._queue.splice(i,0,n)},t.Pipeline.prototype.remove=function(e){var t=this._queue.indexOf(e);-1!==t&&this._queue.splice(t,1)},t.Pipeline.prototype.run=function(e){for(var t=[],n=e.length,i=this._queue.length,o=0;n>o;o++){for(var r=e[o],s=0;i>s&&(r=this._queue[s](r,o,e),void 0!==r&&null!==r);s++);void 0!==r&&null!==r&&t.push(r)}return t},t.Pipeline.prototype.reset=function(){this._queue=[]},t.Pipeline.prototype.get=function(){return this._queue},t.Pipeline.prototype.toJSON=function(){return this._queue.map(function(e){return t.Pipeline.warnIfFunctionNotRegistered(e),e.label})},t.Index=function(){this._fields=[],this._ref="id",this.pipeline=new t.Pipeline,this.documentStore=new t.DocumentStore,this.index={},this.eventEmitter=new t.EventEmitter,this._idfCache={},this.on("add","remove","update",function(){this._idfCache={}}.bind(this))},t.Index.prototype.on=function(){var e=Array.prototype.slice.call(arguments);return this.eventEmitter.addListener.apply(this.eventEmitter,e)},t.Index.prototype.off=function(e,t){return this.eventEmitter.removeListener(e,t)},t.Index.load=function(e){e.version!==t.version&&t.utils.warn("version mismatch: current "+t.version+" importing "+e.version);var n=new this;n._fields=e.fields,n._ref=e.ref,n.documentStore=t.DocumentStore.load(e.documentStore),n.pipeline=t.Pipeline.load(e.pipeline),n.index={};for(var i in e.index)n.index[i]=t.InvertedIndex.load(e.index[i]);return n},t.Index.prototype.addField=function(e){return this._fields.push(e),this.index[e]=new t.InvertedIndex,this},t.Index.prototype.setRef=function(e){return this._ref=e,this},t.Index.prototype.saveDocument=function(e){return this.documentStore=new t.DocumentStore(e),this},t.Index.prototype.addDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.addDoc(i,e),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));this.documentStore.addFieldLength(i,n,o.length);var r={};o.forEach(function(e){e in r?r[e]+=1:r[e]=1},this);for(var s in r){var u=r[s];u=Math.sqrt(u),this.index[n].addToken(s,{ref:i,tf:u})}},this),n&&this.eventEmitter.emit("add",e,this)}},t.Index.prototype.removeDocByRef=function(e){if(e&&this.documentStore.isDocStored()!==!1&&this.documentStore.hasDoc(e)){var t=this.documentStore.getDoc(e);this.removeDoc(t,!1)}},t.Index.prototype.removeDoc=function(e,n){if(e){var n=void 0===n?!0:n,i=e[this._ref];this.documentStore.hasDoc(i)&&(this.documentStore.removeDoc(i),this._fields.forEach(function(n){var o=this.pipeline.run(t.tokenizer(e[n]));o.forEach(function(e){this.index[n].removeToken(e,i)},this)},this),n&&this.eventEmitter.emit("remove",e,this))}},t.Index.prototype.updateDoc=function(e,t){var t=void 0===t?!0:t;this.removeDocByRef(e[this._ref],!1),this.addDoc(e,!1),t&&this.eventEmitter.emit("update",e,this)},t.Index.prototype.idf=function(e,t){var n="@"+t+"/"+e;if(Object.prototype.hasOwnProperty.call(this._idfCache,n))return this._idfCache[n];var i=this.index[t].getDocFreq(e),o=1+Math.log(this.documentStore.length/(i+1));return this._idfCache[n]=o,o},t.Index.prototype.getFields=function(){return this._fields.slice()},t.Index.prototype.search=function(e,n){if(!e)return[];e="string"==typeof e?{any:e}:JSON.parse(JSON.stringify(e));var i=null;null!=n&&(i=JSON.stringify(n));for(var o=new t.Configuration(i,this.getFields()).get(),r={},s=Object.keys(e),u=0;u0&&t.push(e);for(var i in n)"docs"!==i&&"df"!==i&&this.expandToken(e+i,t,n[i]);return t},t.InvertedIndex.prototype.toJSON=function(){return{root:this.root}},t.Configuration=function(e,n){var e=e||"";if(void 0==n||null==n)throw new Error("fields should not be null");this.config={};var i;try{i=JSON.parse(e),this.buildUserConfig(i,n)}catch(o){t.utils.warn("user configuration parse failed, will use default configuration"),this.buildDefaultConfig(n)}},t.Configuration.prototype.buildDefaultConfig=function(e){this.reset(),e.forEach(function(e){this.config[e]={boost:1,bool:"OR",expand:!1}},this)},t.Configuration.prototype.buildUserConfig=function(e,n){var i="OR",o=!1;if(this.reset(),"bool"in e&&(i=e.bool||i),"expand"in e&&(o=e.expand||o),"fields"in e)for(var r in e.fields)if(n.indexOf(r)>-1){var s=e.fields[r],u=o;void 0!=s.expand&&(u=s.expand),this.config[r]={boost:s.boost||0===s.boost?s.boost:1,bool:s.bool||i,expand:u}}else t.utils.warn("field name in user configuration not found in index instance fields");else this.addAllFields2UserConfig(i,o,n)},t.Configuration.prototype.addAllFields2UserConfig=function(e,t,n){n.forEach(function(n){this.config[n]={boost:1,bool:e,expand:t}},this)},t.Configuration.prototype.get=function(){return this.config},t.Configuration.prototype.reset=function(){this.config={}},lunr.SortedSet=function(){this.length=0,this.elements=[]},lunr.SortedSet.load=function(e){var t=new this;return t.elements=e,t.length=e.length,t},lunr.SortedSet.prototype.add=function(){var e,t;for(e=0;e1;){if(r===e)return o;e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o]}return r===e?o:-1},lunr.SortedSet.prototype.locationFor=function(e){for(var t=0,n=this.elements.length,i=n-t,o=t+Math.floor(i/2),r=this.elements[o];i>1;)e>r&&(t=o),r>e&&(n=o),i=n-t,o=t+Math.floor(i/2),r=this.elements[o];return r>e?o:e>r?o+1:void 0},lunr.SortedSet.prototype.intersect=function(e){for(var t=new lunr.SortedSet,n=0,i=0,o=this.length,r=e.length,s=this.elements,u=e.elements;;){if(n>o-1||i>r-1)break;s[n]!==u[i]?s[n]u[i]&&i++:(t.add(s[n]),n++,i++)}return t},lunr.SortedSet.prototype.clone=function(){var e=new lunr.SortedSet;return e.elements=this.toArray(),e.length=e.elements.length,e},lunr.SortedSet.prototype.union=function(e){var t,n,i;this.length>=e.length?(t=this,n=e):(t=e,n=this),i=t.clone();for(var o=0,r=n.toArray();ojsonfeed \"Python\n\n

jsonfeed is a Python package for parsing and constructing JSON Feeds. It explicitly supports JSON Feed Version 1.1.

\n\n

Usage

\n\n

This package's constructor arguments and class variables exactly match the field names defined in the JSON feed spec. I hope that the code is clear enough that the spec can be its granular documentation.

\n\n

Installation

\n\n

Install this package with pip:

\n\n
\n
$ pip install jsonfeed-util\n
\n
\n\n

In your Python code, include the line

\n\n
\n
import jsonfeed\n
\n
\n\n

Parsing a JSON feed

\n\n
\n
import jsonfeed as jf\nimport requests\n\n# Requesting a valid JSON feed!\nr = requests.get('https://arxiv-feeds.appspot.com/json/test')\n# Parse from raw text...\nfeed_from_text = jf.parse(r.text)\n# ...or parse JSON separately.\nr_json = r.json()\nfeed_from_json = jf.Feed.parse(r_json)\n
\n
\n\n

Constructing a JSON feed

\n\n
\n
import jsonfeed as jf\n\nme = jf.Author(\n  name="Lukas Schwab",\n  url="https://github.com/lukasschwab"\n)\nfeed = jf.Feed("My Feed Title", authors=[me])\nitem = jf.Item("some_item_id")\nfeed.items.append(item)\n\nprint(feed.toJSON())\n
\n
\n\n

jsonfeed exposes constructors for five classes of JSON feed objects:

\n\n
    \n
  • Feed
  • \n
  • Author
  • \n
  • Hub
  • \n
  • Item
  • \n
  • Attachment
  • \n
\n\n

Note, jsonfeed is designed to be minimally restrictive. It does not require fields that are not required in the JSON Feed spec. This means it's possible to construct nonmeaningful JSON feeds (e.g. with this valid Author object: {}).

\n\n

Examples

\n\n\n\n

Deprecations

\n\n

See the spec for an overview of deprecated JSON Feed fields. This project (especially the converters and the parsing functions) will stay backwards-compatible when possible, but using deprecated fields when constructing feeds is discouraged.

\n\n

JSON Feed 1.1

\n\n
    \n
  • Feed.author is deprecated. Use Feed.authors.
  • \n
  • Item.author is deprecated. Use Item.authors.
  • \n
\n\n

Notes

\n\n
    \n
  • Dictionaries maintain insertion order as of Python 3.6. jsonfeed takes advantage of this to retain the order suggested in the JSON Feed spec (namely, that version appear at the top of the JSON object). This order may not be enforced in earlier versions of Python, but out-of-order JSON Feeds are not invalid.

  • \n
  • I made a conscious decision to shoot for code that's readable\u2013\u2013vis \u00e0 vis the JSON Feed spec\u2013\u2013rather than code that's minimal or performant. Additionally, I opted to avoid dependencies outside of the standard library. Hopefully this makes for easy maintenance.

  • \n
\n"}, "jsonfeed.ParseError": {"fullname": "jsonfeed.ParseError", "modulename": "jsonfeed", "qualname": "ParseError", "kind": "class", "doc": "

Common base class for all non-exit exceptions.

\n", "bases": "builtins.Exception"}, "jsonfeed.MissingRequiredValueError": {"fullname": "jsonfeed.MissingRequiredValueError", "modulename": "jsonfeed", "qualname": "MissingRequiredValueError", "kind": "class", "doc": "

Common base class for all non-exit exceptions.

\n", "bases": "ParseError"}, "jsonfeed.MissingRequiredValueError.__init__": {"fullname": "jsonfeed.MissingRequiredValueError.__init__", "modulename": "jsonfeed", "qualname": "MissingRequiredValueError.__init__", "kind": "function", "doc": "

\n", "signature": "(structure: str, key: str)"}, "jsonfeed.Feed": {"fullname": "jsonfeed.Feed", "modulename": "jsonfeed", "qualname": "Feed", "kind": "class", "doc": "

\n"}, "jsonfeed.Feed.__init__": {"fullname": "jsonfeed.Feed.__init__", "modulename": "jsonfeed", "qualname": "Feed.__init__", "kind": "function", "doc": "

\n", "signature": "(\ttitle: str,\thome_page_url: str = None,\tfeed_url: str = None,\tdescription: str = None,\tuser_comment: str = None,\tnext_url: str = None,\ticon: str = None,\tfavicon: str = None,\tauthor=None,\tauthors: List[jsonfeed.Author] = None,\texpired: bool = False,\tlanguage: str = None,\thubs: List[jsonfeed.Hub] = [],\titems: List[jsonfeed.Item] = [])"}, "jsonfeed.Feed.parse": {"fullname": "jsonfeed.Feed.parse", "modulename": "jsonfeed", "qualname": "Feed.parse", "kind": "function", "doc": "

\n", "signature": "(maybeFeed: dict) -> jsonfeed.Feed:", "funcdef": "def"}, "jsonfeed.Feed.parse_string": {"fullname": "jsonfeed.Feed.parse_string", "modulename": "jsonfeed", "qualname": "Feed.parse_string", "kind": "function", "doc": "

\n", "signature": "(maybeFeed: str) -> jsonfeed.Feed:", "funcdef": "def"}, "jsonfeed.Feed.to_json": {"fullname": "jsonfeed.Feed.to_json", "modulename": "jsonfeed", "qualname": "Feed.to_json", "kind": "function", "doc": "

\n", "signature": "(self, **kwargs) -> str:", "funcdef": "def"}, "jsonfeed.Author": {"fullname": "jsonfeed.Author", "modulename": "jsonfeed", "qualname": "Author", "kind": "class", "doc": "

\n"}, "jsonfeed.Author.__init__": {"fullname": "jsonfeed.Author.__init__", "modulename": "jsonfeed", "qualname": "Author.__init__", "kind": "function", "doc": "

\n", "signature": "(name: str = None, url: str = None, avatar: str = None)"}, "jsonfeed.Author.parse": {"fullname": "jsonfeed.Author.parse", "modulename": "jsonfeed", "qualname": "Author.parse", "kind": "function", "doc": "

\n", "signature": "(maybeAuthor: dict) -> jsonfeed.Author:", "funcdef": "def"}, "jsonfeed.Hub": {"fullname": "jsonfeed.Hub", "modulename": "jsonfeed", "qualname": "Hub", "kind": "class", "doc": "

\n"}, "jsonfeed.Hub.__init__": {"fullname": "jsonfeed.Hub.__init__", "modulename": "jsonfeed", "qualname": "Hub.__init__", "kind": "function", "doc": "

\n", "signature": "(type: str, url: str)"}, "jsonfeed.Hub.parse": {"fullname": "jsonfeed.Hub.parse", "modulename": "jsonfeed", "qualname": "Hub.parse", "kind": "function", "doc": "

\n", "signature": "(maybeHub: dict) -> jsonfeed.Hub:", "funcdef": "def"}, "jsonfeed.Item": {"fullname": "jsonfeed.Item", "modulename": "jsonfeed", "qualname": "Item", "kind": "class", "doc": "

\n"}, "jsonfeed.Item.__init__": {"fullname": "jsonfeed.Item.__init__", "modulename": "jsonfeed", "qualname": "Item.__init__", "kind": "function", "doc": "

\n", "signature": "(\tid,\turl: str = None,\texternal_url: str = None,\ttitle: str = None,\tcontent_html: str = None,\tcontent_text: str = None,\tsummary: str = None,\timage: str = None,\tbanner_image: str = None,\tdate_published: str = None,\tdate_modified: str = None,\tauthor=None,\tauthors: List[jsonfeed.Author] = None,\ttags: List[str] = [],\tattachments: List[jsonfeed.Attachment] = [])"}, "jsonfeed.Item.parse": {"fullname": "jsonfeed.Item.parse", "modulename": "jsonfeed", "qualname": "Item.parse", "kind": "function", "doc": "

\n", "signature": "(maybeItem: dict) -> jsonfeed.Item:", "funcdef": "def"}, "jsonfeed.Attachment": {"fullname": "jsonfeed.Attachment", "modulename": "jsonfeed", "qualname": "Attachment", "kind": "class", "doc": "

\n"}, "jsonfeed.Attachment.__init__": {"fullname": "jsonfeed.Attachment.__init__", "modulename": "jsonfeed", "qualname": "Attachment.__init__", "kind": "function", "doc": "

\n", "signature": "(\turl: str,\tmime_type: str,\ttitle: str = None,\tsize_in_bytes: int = None,\tduration_in_seconds: int = None)"}, "jsonfeed.Attachment.parse": {"fullname": "jsonfeed.Attachment.parse", "modulename": "jsonfeed", "qualname": "Attachment.parse", "kind": "function", "doc": "

\n", "signature": "(maybeAttachment: dict) -> jsonfeed.Attachment:", "funcdef": "def"}, "jsonfeed.converters.feedparser": {"fullname": "jsonfeed.converters.feedparser", "modulename": "jsonfeed.converters.feedparser", "kind": "module", "doc": "

\n"}, "jsonfeed.converters.feedparser.from_feedparser_obj": {"fullname": "jsonfeed.converters.feedparser.from_feedparser_obj", "modulename": "jsonfeed.converters.feedparser", "qualname": "from_feedparser_obj", "kind": "function", "doc": "

\n", "signature": "(feedparser_obj: feedparser.util.FeedParserDict) -> jsonfeed.Feed:", "funcdef": "def"}, "jsonfeed.converters.feedparser.from_feedparser_entry": {"fullname": "jsonfeed.converters.feedparser.from_feedparser_entry", "modulename": "jsonfeed.converters.feedparser", "qualname": "from_feedparser_entry", "kind": "function", "doc": "

\n", "signature": "(entry: feedparser.util.FeedParserDict) -> jsonfeed.Item:", "funcdef": "def"}, "jsonfeed.converters.feedparser.from_feedparser_links": {"fullname": "jsonfeed.converters.feedparser.from_feedparser_links", "modulename": "jsonfeed.converters.feedparser", "qualname": "from_feedparser_links", "kind": "function", "doc": "

\n", "signature": "(links: List[feedparser.util.FeedParserDict]) -> List[jsonfeed.Attachment]:", "funcdef": "def"}, "jsonfeed.converters.feedparser.from_feedparser_link": {"fullname": "jsonfeed.converters.feedparser.from_feedparser_link", "modulename": "jsonfeed.converters.feedparser", "qualname": "from_feedparser_link", "kind": "function", "doc": "

\n", "signature": "(link: feedparser.util.FeedParserDict) -> jsonfeed.Attachment:", "funcdef": "def"}, "jsonfeed.converters.feedparser.get_content": {"fullname": "jsonfeed.converters.feedparser.get_content", "modulename": "jsonfeed.converters.feedparser", "qualname": "get_content", "kind": "function", "doc": "

\n", "signature": "(entry: feedparser.util.FeedParserDict, content_type: str) -> str:", "funcdef": "def"}}, "docInfo": {"jsonfeed": {"qualname": 0, "fullname": 1, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 831}, "jsonfeed.ParseError": {"qualname": 1, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 2, "doc": 11}, "jsonfeed.MissingRequiredValueError": {"qualname": 1, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 1, "doc": 11}, "jsonfeed.MissingRequiredValueError.__init__": {"qualname": 3, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 24, "bases": 0, "doc": 3}, "jsonfeed.Feed": {"qualname": 1, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "jsonfeed.Feed.__init__": {"qualname": 3, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 280, "bases": 0, "doc": 3}, "jsonfeed.Feed.parse": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 24, "bases": 0, "doc": 3}, "jsonfeed.Feed.parse_string": {"qualname": 3, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 24, "bases": 0, "doc": 3}, "jsonfeed.Feed.to_json": {"qualname": 3, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 21, "bases": 0, "doc": 3}, "jsonfeed.Author": {"qualname": 1, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "jsonfeed.Author.__init__": {"qualname": 3, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 55, "bases": 0, "doc": 3}, "jsonfeed.Author.parse": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 24, "bases": 0, "doc": 3}, "jsonfeed.Hub": {"qualname": 1, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "jsonfeed.Hub.__init__": {"qualname": 3, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 24, "bases": 0, "doc": 3}, "jsonfeed.Hub.parse": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 24, "bases": 0, "doc": 3}, "jsonfeed.Item": {"qualname": 1, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "jsonfeed.Item.__init__": {"qualname": 3, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 289, "bases": 0, "doc": 3}, "jsonfeed.Item.parse": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 24, "bases": 0, "doc": 3}, "jsonfeed.Attachment": {"qualname": 1, "fullname": 2, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "jsonfeed.Attachment.__init__": {"qualname": 3, "fullname": 4, "annotation": 0, "default_value": 0, "signature": 85, "bases": 0, "doc": 3}, "jsonfeed.Attachment.parse": {"qualname": 2, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 24, "bases": 0, "doc": 3}, "jsonfeed.converters.feedparser": {"qualname": 0, "fullname": 3, "annotation": 0, "default_value": 0, "signature": 0, "bases": 0, "doc": 3}, "jsonfeed.converters.feedparser.from_feedparser_obj": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 35, "bases": 0, "doc": 3}, "jsonfeed.converters.feedparser.from_feedparser_entry": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 34, "bases": 0, "doc": 3}, "jsonfeed.converters.feedparser.from_feedparser_links": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 46, "bases": 0, "doc": 3}, "jsonfeed.converters.feedparser.from_feedparser_link": {"qualname": 3, "fullname": 6, "annotation": 0, "default_value": 0, "signature": 34, "bases": 0, "doc": 3}, "jsonfeed.converters.feedparser.get_content": {"qualname": 2, "fullname": 5, "annotation": 0, "default_value": 0, "signature": 40, "bases": 0, "doc": 3}}, "length": 27, "save": true}, "index": {"qualname": {"root": {"docs": {"jsonfeed.MissingRequiredValueError.__init__": {"tf": 1}, "jsonfeed.Feed.__init__": {"tf": 1}, "jsonfeed.Author.__init__": {"tf": 1}, "jsonfeed.Hub.__init__": {"tf": 1}, "jsonfeed.Item.__init__": {"tf": 1}, "jsonfeed.Attachment.__init__": {"tf": 1}}, "df": 6, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed.Feed.parse": {"tf": 1}, "jsonfeed.Feed.parse_string": {"tf": 1}, "jsonfeed.Author.parse": {"tf": 1}, "jsonfeed.Hub.parse": {"tf": 1}, "jsonfeed.Item.parse": {"tf": 1}, "jsonfeed.Attachment.parse": {"tf": 1}}, "df": 6, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed.ParseError": {"tf": 1}}, "df": 1}}}}}}}}}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed.MissingRequiredValueError": {"tf": 1}, "jsonfeed.MissingRequiredValueError.__init__": {"tf": 1}}, "df": 2}}}}}}}}}}}}}}}}}}}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed.MissingRequiredValueError.__init__": {"tf": 1}, "jsonfeed.Feed.__init__": {"tf": 1}, "jsonfeed.Author.__init__": {"tf": 1}, "jsonfeed.Hub.__init__": {"tf": 1}, "jsonfeed.Item.__init__": {"tf": 1}, "jsonfeed.Attachment.__init__": {"tf": 1}}, "df": 6}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"jsonfeed.Item": {"tf": 1}, "jsonfeed.Item.__init__": {"tf": 1}, "jsonfeed.Item.parse": {"tf": 1}}, "df": 3}}}}, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"jsonfeed.Feed": {"tf": 1}, "jsonfeed.Feed.__init__": {"tf": 1}, "jsonfeed.Feed.parse": {"tf": 1}, "jsonfeed.Feed.parse_string": {"tf": 1}, "jsonfeed.Feed.to_json": {"tf": 1}}, "df": 5, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed.converters.feedparser.from_feedparser_obj": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_entry": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_links": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_link": {"tf": 1}}, "df": 4}}}}}}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"jsonfeed.converters.feedparser.from_feedparser_obj": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_entry": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_links": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_link": {"tf": 1}}, "df": 4}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"jsonfeed.Feed.parse_string": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "o": {"docs": {"jsonfeed.Feed.to_json": {"tf": 1}}, "df": 1}}, "j": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"jsonfeed.Feed.to_json": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed.Author": {"tf": 1}, "jsonfeed.Author.__init__": {"tf": 1}, "jsonfeed.Author.parse": {"tf": 1}}, "df": 3}}}}}, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed.Attachment": {"tf": 1}, "jsonfeed.Attachment.__init__": {"tf": 1}, "jsonfeed.Attachment.parse": {"tf": 1}}, "df": 3}}}}}}}}}}, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {"jsonfeed.Hub": {"tf": 1}, "jsonfeed.Hub.__init__": {"tf": 1}, "jsonfeed.Hub.parse": {"tf": 1}}, "df": 3}}}, "o": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "j": {"docs": {"jsonfeed.converters.feedparser.from_feedparser_obj": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"jsonfeed.converters.feedparser.from_feedparser_entry": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "k": {"docs": {"jsonfeed.converters.feedparser.from_feedparser_link": {"tf": 1}}, "df": 1, "s": {"docs": {"jsonfeed.converters.feedparser.from_feedparser_links": {"tf": 1}}, "df": 1}}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed.converters.feedparser.get_content": {"tf": 1}}, "df": 1}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed.converters.feedparser.get_content": {"tf": 1}}, "df": 1}}}}}}}}}, "fullname": {"root": {"docs": {"jsonfeed.MissingRequiredValueError.__init__": {"tf": 1}, "jsonfeed.Feed.__init__": {"tf": 1}, "jsonfeed.Author.__init__": {"tf": 1}, "jsonfeed.Hub.__init__": {"tf": 1}, "jsonfeed.Item.__init__": {"tf": 1}, "jsonfeed.Attachment.__init__": {"tf": 1}}, "df": 6, "j": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"jsonfeed.Feed.to_json": {"tf": 1}}, "df": 1, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"jsonfeed": {"tf": 1}, "jsonfeed.ParseError": {"tf": 1}, "jsonfeed.MissingRequiredValueError": {"tf": 1}, "jsonfeed.MissingRequiredValueError.__init__": {"tf": 1}, "jsonfeed.Feed": {"tf": 1}, "jsonfeed.Feed.__init__": {"tf": 1}, "jsonfeed.Feed.parse": {"tf": 1}, "jsonfeed.Feed.parse_string": {"tf": 1}, "jsonfeed.Feed.to_json": {"tf": 1}, "jsonfeed.Author": {"tf": 1}, "jsonfeed.Author.__init__": {"tf": 1}, "jsonfeed.Author.parse": {"tf": 1}, "jsonfeed.Hub": {"tf": 1}, "jsonfeed.Hub.__init__": {"tf": 1}, "jsonfeed.Hub.parse": {"tf": 1}, "jsonfeed.Item": {"tf": 1}, "jsonfeed.Item.__init__": {"tf": 1}, "jsonfeed.Item.parse": {"tf": 1}, "jsonfeed.Attachment": {"tf": 1}, "jsonfeed.Attachment.__init__": {"tf": 1}, "jsonfeed.Attachment.parse": {"tf": 1}, "jsonfeed.converters.feedparser": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_obj": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_entry": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_links": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_link": {"tf": 1}, "jsonfeed.converters.feedparser.get_content": {"tf": 1}}, "df": 27}}}}}}}}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed.Feed.parse": {"tf": 1}, "jsonfeed.Feed.parse_string": {"tf": 1}, "jsonfeed.Author.parse": {"tf": 1}, "jsonfeed.Hub.parse": {"tf": 1}, "jsonfeed.Item.parse": {"tf": 1}, "jsonfeed.Attachment.parse": {"tf": 1}}, "df": 6, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed.ParseError": {"tf": 1}}, "df": 1}}}}}}}}}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed.MissingRequiredValueError": {"tf": 1}, "jsonfeed.MissingRequiredValueError.__init__": {"tf": 1}}, "df": 2}}}}}}}}}}}}}}}}}}}}}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed.MissingRequiredValueError.__init__": {"tf": 1}, "jsonfeed.Feed.__init__": {"tf": 1}, "jsonfeed.Author.__init__": {"tf": 1}, "jsonfeed.Hub.__init__": {"tf": 1}, "jsonfeed.Item.__init__": {"tf": 1}, "jsonfeed.Attachment.__init__": {"tf": 1}}, "df": 6}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"jsonfeed.Item": {"tf": 1}, "jsonfeed.Item.__init__": {"tf": 1}, "jsonfeed.Item.parse": {"tf": 1}}, "df": 3}}}}, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"jsonfeed.Feed": {"tf": 1}, "jsonfeed.Feed.__init__": {"tf": 1}, "jsonfeed.Feed.parse": {"tf": 1}, "jsonfeed.Feed.parse_string": {"tf": 1}, "jsonfeed.Feed.to_json": {"tf": 1}}, "df": 5, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed.converters.feedparser": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_obj": {"tf": 1.4142135623730951}, "jsonfeed.converters.feedparser.from_feedparser_entry": {"tf": 1.4142135623730951}, "jsonfeed.converters.feedparser.from_feedparser_links": {"tf": 1.4142135623730951}, "jsonfeed.converters.feedparser.from_feedparser_link": {"tf": 1.4142135623730951}, "jsonfeed.converters.feedparser.get_content": {"tf": 1}}, "df": 6}}}}}}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"jsonfeed.converters.feedparser.from_feedparser_obj": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_entry": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_links": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_link": {"tf": 1}}, "df": 4}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"jsonfeed.Feed.parse_string": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "o": {"docs": {"jsonfeed.Feed.to_json": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed.Author": {"tf": 1}, "jsonfeed.Author.__init__": {"tf": 1}, "jsonfeed.Author.parse": {"tf": 1}}, "df": 3}}}}}, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed.Attachment": {"tf": 1}, "jsonfeed.Attachment.__init__": {"tf": 1}, "jsonfeed.Attachment.parse": {"tf": 1}}, "df": 3}}}}}}}}}}, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {"jsonfeed.Hub": {"tf": 1}, "jsonfeed.Hub.__init__": {"tf": 1}, "jsonfeed.Hub.parse": {"tf": 1}}, "df": 3}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"jsonfeed.converters.feedparser": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_obj": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_entry": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_links": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_link": {"tf": 1}, "jsonfeed.converters.feedparser.get_content": {"tf": 1}}, "df": 6}}}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed.converters.feedparser.get_content": {"tf": 1}}, "df": 1}}}}}}}, "o": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "j": {"docs": {"jsonfeed.converters.feedparser.from_feedparser_obj": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"jsonfeed.converters.feedparser.from_feedparser_entry": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "k": {"docs": {"jsonfeed.converters.feedparser.from_feedparser_link": {"tf": 1}}, "df": 1, "s": {"docs": {"jsonfeed.converters.feedparser.from_feedparser_links": {"tf": 1}}, "df": 1}}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed.converters.feedparser.get_content": {"tf": 1}}, "df": 1}}}}}, "annotation": {"root": {"docs": {}, "df": 0}}, "default_value": {"root": {"docs": {}, "df": 0}}, "signature": {"root": {"docs": {"jsonfeed.MissingRequiredValueError.__init__": {"tf": 4.47213595499958}, "jsonfeed.Feed.__init__": {"tf": 15.198684153570664}, "jsonfeed.Feed.parse": {"tf": 4.47213595499958}, "jsonfeed.Feed.parse_string": {"tf": 4.47213595499958}, "jsonfeed.Feed.to_json": {"tf": 4.242640687119285}, "jsonfeed.Author.__init__": {"tf": 6.782329983125268}, "jsonfeed.Author.parse": {"tf": 4.47213595499958}, "jsonfeed.Hub.__init__": {"tf": 4.47213595499958}, "jsonfeed.Hub.parse": {"tf": 4.47213595499958}, "jsonfeed.Item.__init__": {"tf": 15.427248620541512}, "jsonfeed.Item.parse": {"tf": 4.47213595499958}, "jsonfeed.Attachment.__init__": {"tf": 8.18535277187245}, "jsonfeed.Attachment.parse": {"tf": 4.47213595499958}, "jsonfeed.converters.feedparser.from_feedparser_obj": {"tf": 5.291502622129181}, "jsonfeed.converters.feedparser.from_feedparser_entry": {"tf": 5.291502622129181}, "jsonfeed.converters.feedparser.from_feedparser_links": {"tf": 6.164414002968976}, "jsonfeed.converters.feedparser.from_feedparser_link": {"tf": 5.291502622129181}, "jsonfeed.converters.feedparser.get_content": {"tf": 5.656854249492381}}, "df": 18, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed.MissingRequiredValueError.__init__": {"tf": 1.4142135623730951}, "jsonfeed.Feed.__init__": {"tf": 3}, "jsonfeed.Feed.parse_string": {"tf": 1}, "jsonfeed.Feed.to_json": {"tf": 1}, "jsonfeed.Author.__init__": {"tf": 1.7320508075688772}, "jsonfeed.Hub.__init__": {"tf": 1.4142135623730951}, "jsonfeed.Item.__init__": {"tf": 3.3166247903554}, "jsonfeed.Attachment.__init__": {"tf": 1.7320508075688772}, "jsonfeed.converters.feedparser.get_content": {"tf": 1.4142135623730951}}, "df": 9, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed.MissingRequiredValueError.__init__": {"tf": 1}}, "df": 1}}}}}}}}, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "f": {"docs": {"jsonfeed.Feed.to_json": {"tf": 1}}, "df": 1}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {"jsonfeed.Attachment.__init__": {"tf": 1}}, "df": 1}}}}}}, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"jsonfeed.Item.__init__": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "z": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed.Attachment.__init__": {"tf": 1}}, "df": 1}}}}, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "y": {"docs": {"jsonfeed.MissingRequiredValueError.__init__": {"tf": 1}}, "df": 1}}, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "s": {"docs": {"jsonfeed.Feed.to_json": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed.Feed.__init__": {"tf": 1}, "jsonfeed.Item.__init__": {"tf": 1}, "jsonfeed.Attachment.__init__": {"tf": 1}}, "df": 3}}}}, "y": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed.Hub.__init__": {"tf": 1}, "jsonfeed.Attachment.__init__": {"tf": 1}, "jsonfeed.converters.feedparser.get_content": {"tf": 1}}, "df": 3}}}, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed.Item.__init__": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "s": {"docs": {"jsonfeed.Item.__init__": {"tf": 1}}, "df": 1}}}}, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed.Feed.__init__": {"tf": 1}}, "df": 1}}}, "u": {"docs": {}, "df": 0, "b": {"docs": {"jsonfeed.Feed.__init__": {"tf": 1}, "jsonfeed.Hub.parse": {"tf": 1}}, "df": 2, "s": {"docs": {"jsonfeed.Feed.__init__": {"tf": 1}}, "df": 1}}}, "t": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "l": {"docs": {"jsonfeed.Item.__init__": {"tf": 1}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed.Feed.__init__": {"tf": 1}}, "df": 1}}}, "u": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"jsonfeed.Item.__init__": {"tf": 1}}, "df": 1}}}}}}}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "l": {"docs": {"jsonfeed.Feed.__init__": {"tf": 1.7320508075688772}, "jsonfeed.Author.__init__": {"tf": 1}, "jsonfeed.Hub.__init__": {"tf": 1}, "jsonfeed.Item.__init__": {"tf": 1.4142135623730951}, "jsonfeed.Attachment.__init__": {"tf": 1}}, "df": 5}}, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed.Feed.__init__": {"tf": 1}}, "df": 1}}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {"jsonfeed.converters.feedparser.from_feedparser_obj": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_entry": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_links": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_link": {"tf": 1}, "jsonfeed.converters.feedparser.get_content": {"tf": 1}}, "df": 5}}}}, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed.Feed.__init__": {"tf": 3.1622776601683795}, "jsonfeed.Author.__init__": {"tf": 1.7320508075688772}, "jsonfeed.Item.__init__": {"tf": 3.4641016151377544}, "jsonfeed.Attachment.__init__": {"tf": 1.7320508075688772}}, "df": 4}}}, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed.Feed.__init__": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed.Author.__init__": {"tf": 1}}, "df": 1}}}}, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"jsonfeed.Feed.__init__": {"tf": 1}, "jsonfeed.Feed.parse": {"tf": 1}, "jsonfeed.Feed.parse_string": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_obj": {"tf": 1}}, "df": 4, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed.converters.feedparser.from_feedparser_obj": {"tf": 1.4142135623730951}, "jsonfeed.converters.feedparser.from_feedparser_entry": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_links": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_link": {"tf": 1}, "jsonfeed.converters.feedparser.get_content": {"tf": 1}}, "df": 5, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed.converters.feedparser.from_feedparser_obj": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_entry": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_links": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_link": {"tf": 1}, "jsonfeed.converters.feedparser.get_content": {"tf": 1}}, "df": 5}}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"jsonfeed.Feed.__init__": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed.Feed.__init__": {"tf": 1}}, "df": 1}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"jsonfeed.Feed.__init__": {"tf": 1}}, "df": 1}}}}}}}}}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed.Feed.parse": {"tf": 1}, "jsonfeed.Author.parse": {"tf": 1}, "jsonfeed.Hub.parse": {"tf": 1}, "jsonfeed.Item.parse": {"tf": 1}, "jsonfeed.Attachment.parse": {"tf": 1}}, "df": 5}}}, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed.Item.__init__": {"tf": 1.4142135623730951}}, "df": 1}}}, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"jsonfeed.Attachment.__init__": {"tf": 1}}, "df": 1}}}}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed.Feed.__init__": {"tf": 1}}, "df": 1}}}}}, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed.Item.__init__": {"tf": 1.4142135623730951}, "jsonfeed.converters.feedparser.get_content": {"tf": 1}}, "df": 2}}}}}}}, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"jsonfeed.Feed.__init__": {"tf": 1}}, "df": 1}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"jsonfeed.Feed.__init__": {"tf": 1}, "jsonfeed.Item.parse": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_entry": {"tf": 1}}, "df": 3, "s": {"docs": {"jsonfeed.Feed.__init__": {"tf": 1}}, "df": 1}}}}, "d": {"docs": {"jsonfeed.Item.__init__": {"tf": 1}}, "df": 1}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed.Item.__init__": {"tf": 1.4142135623730951}}, "df": 1}}}}, "n": {"docs": {"jsonfeed.Attachment.__init__": {"tf": 1.4142135623730951}}, "df": 1, "t": {"docs": {"jsonfeed.Attachment.__init__": {"tf": 1.4142135623730951}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed.Feed.__init__": {"tf": 1.4142135623730951}, "jsonfeed.Author.parse": {"tf": 1}, "jsonfeed.Item.__init__": {"tf": 1.4142135623730951}}, "df": 3, "s": {"docs": {"jsonfeed.Feed.__init__": {"tf": 1}, "jsonfeed.Item.__init__": {"tf": 1}}, "df": 2}}}}}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed.Author.__init__": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed.Item.__init__": {"tf": 1}, "jsonfeed.Attachment.parse": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_links": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_link": {"tf": 1}}, "df": 4, "s": {"docs": {"jsonfeed.Item.__init__": {"tf": 1}}, "df": 1}}}}}}}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed.Feed.__init__": {"tf": 1.7320508075688772}, "jsonfeed.Item.__init__": {"tf": 1.7320508075688772}, "jsonfeed.converters.feedparser.from_feedparser_links": {"tf": 1.4142135623730951}}, "df": 3}}, "n": {"docs": {}, "df": 0, "k": {"docs": {"jsonfeed.converters.feedparser.from_feedparser_link": {"tf": 1}}, "df": 1, "s": {"docs": {"jsonfeed.converters.feedparser.from_feedparser_links": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed.Feed.__init__": {"tf": 1}}, "df": 1}}}}}}}}, "j": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"jsonfeed.Feed.__init__": {"tf": 1.7320508075688772}, "jsonfeed.Feed.parse": {"tf": 1}, "jsonfeed.Feed.parse_string": {"tf": 1}, "jsonfeed.Author.parse": {"tf": 1}, "jsonfeed.Hub.parse": {"tf": 1}, "jsonfeed.Item.__init__": {"tf": 1.4142135623730951}, "jsonfeed.Item.parse": {"tf": 1}, "jsonfeed.Attachment.parse": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_obj": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_entry": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_links": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_link": {"tf": 1}}, "df": 12}}}}}}}}, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"jsonfeed.Feed.__init__": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"jsonfeed.Item.__init__": {"tf": 1}}, "df": 1}}}}}}}, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"jsonfeed.converters.feedparser.from_feedparser_entry": {"tf": 1}, "jsonfeed.converters.feedparser.get_content": {"tf": 1}}, "df": 2}}}}}, "b": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "l": {"docs": {"jsonfeed.Feed.__init__": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed.Item.__init__": {"tf": 1}}, "df": 1}}}}}, "y": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"jsonfeed.Attachment.__init__": {"tf": 1}}, "df": 1}}}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"jsonfeed.Feed.parse": {"tf": 1}, "jsonfeed.Feed.parse_string": {"tf": 1}}, "df": 2}}}}, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed.Author.parse": {"tf": 1}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed.Attachment.parse": {"tf": 1}}, "df": 1}}}}}}}}}}, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {"jsonfeed.Hub.parse": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"jsonfeed.Item.parse": {"tf": 1}}, "df": 1}}}}}}}}, "o": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"jsonfeed.Item.__init__": {"tf": 1}}, "df": 1}}}}}}}, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed.Attachment.__init__": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "j": {"docs": {"jsonfeed.converters.feedparser.from_feedparser_obj": {"tf": 1}}, "df": 1}}}}}, "bases": {"root": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"jsonfeed.ParseError": {"tf": 1}}, "df": 1}}}}}}}}, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"jsonfeed.ParseError": {"tf": 1}}, "df": 1}}}}}}}}}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed.MissingRequiredValueError": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "doc": {"root": {"1": {"docs": {"jsonfeed": {"tf": 2}}, "df": 1}, "3": {"9": {"docs": {"jsonfeed": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {"jsonfeed": {"tf": 1}}, "df": 1}, "6": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}, "docs": {"jsonfeed": {"tf": 20.688160865577203}, "jsonfeed.ParseError": {"tf": 1.7320508075688772}, "jsonfeed.MissingRequiredValueError": {"tf": 1.7320508075688772}, "jsonfeed.MissingRequiredValueError.__init__": {"tf": 1.7320508075688772}, "jsonfeed.Feed": {"tf": 1.7320508075688772}, "jsonfeed.Feed.__init__": {"tf": 1.7320508075688772}, "jsonfeed.Feed.parse": {"tf": 1.7320508075688772}, "jsonfeed.Feed.parse_string": {"tf": 1.7320508075688772}, "jsonfeed.Feed.to_json": {"tf": 1.7320508075688772}, "jsonfeed.Author": {"tf": 1.7320508075688772}, "jsonfeed.Author.__init__": {"tf": 1.7320508075688772}, "jsonfeed.Author.parse": {"tf": 1.7320508075688772}, "jsonfeed.Hub": {"tf": 1.7320508075688772}, "jsonfeed.Hub.__init__": {"tf": 1.7320508075688772}, "jsonfeed.Hub.parse": {"tf": 1.7320508075688772}, "jsonfeed.Item": {"tf": 1.7320508075688772}, "jsonfeed.Item.__init__": {"tf": 1.7320508075688772}, "jsonfeed.Item.parse": {"tf": 1.7320508075688772}, "jsonfeed.Attachment": {"tf": 1.7320508075688772}, "jsonfeed.Attachment.__init__": {"tf": 1.7320508075688772}, "jsonfeed.Attachment.parse": {"tf": 1.7320508075688772}, "jsonfeed.converters.feedparser": {"tf": 1.7320508075688772}, "jsonfeed.converters.feedparser.from_feedparser_obj": {"tf": 1.7320508075688772}, "jsonfeed.converters.feedparser.from_feedparser_entry": {"tf": 1.7320508075688772}, "jsonfeed.converters.feedparser.from_feedparser_links": {"tf": 1.7320508075688772}, "jsonfeed.converters.feedparser.from_feedparser_link": {"tf": 1.7320508075688772}, "jsonfeed.converters.feedparser.get_content": {"tf": 1.7320508075688772}}, "df": 27, "j": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"jsonfeed": {"tf": 4.795831523312719}}, "df": 1, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"jsonfeed": {"tf": 3.1622776601683795}}, "df": 1}}}}}}}, "f": {"docs": {"jsonfeed": {"tf": 2.6457513110645907}}, "df": 1}}, "i": {"docs": {"jsonfeed": {"tf": 1.7320508075688772}}, "df": 1, "s": {"docs": {"jsonfeed": {"tf": 2.449489742783178}}, "df": 1}, "t": {"docs": {"jsonfeed": {"tf": 1.7320508075688772}}, "df": 1, "s": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}, "e": {"docs": {}, "df": 0, "m": {"docs": {"jsonfeed": {"tf": 2.6457513110645907}}, "df": 1, "s": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}, "n": {"docs": {"jsonfeed": {"tf": 2.23606797749979}}, "df": 1, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {"jsonfeed": {"tf": 1.4142135623730951}}, "df": 1, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}, "c": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed": {"tf": 2}}, "df": 1}}}}}, "d": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}, "a": {"docs": {"jsonfeed": {"tf": 2.6457513110645907}}, "df": 1, "n": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1, "d": {"docs": {"jsonfeed": {"tf": 1.7320508075688772}}, "df": 1}}, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {"jsonfeed": {"tf": 1.4142135623730951}}, "df": 1}, "x": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {"jsonfeed": {"tf": 1.7320508075688772}}, "df": 1}, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed": {"tf": 2.23606797749979}}, "df": 1, "s": {"docs": {"jsonfeed": {"tf": 1.7320508075688772}}, "df": 1}}}}}}, "t": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}}, "o": {"docs": {}, "df": 0, "m": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}, "d": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}}}}}, "v": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "l": {"docs": {"jsonfeed.ParseError": {"tf": 1}, "jsonfeed.MissingRequiredValueError": {"tf": 1}}, "df": 2}}}, "p": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"jsonfeed": {"tf": 2}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed": {"tf": 1.7320508075688772}}, "df": 1}}}}}, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"jsonfeed": {"tf": 1.7320508075688772}}, "df": 1}}}, "e": {"docs": {"jsonfeed": {"tf": 2}}, "df": 1}}}, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "p": {"docs": {"jsonfeed": {"tf": 1.4142135623730951}}, "df": 1}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed": {"tf": 1.4142135623730951}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed": {"tf": 2.449489742783178}, "jsonfeed.ParseError": {"tf": 1}, "jsonfeed.MissingRequiredValueError": {"tf": 1}}, "df": 3}}, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"jsonfeed": {"tf": 4.795831523312719}}, "df": 1, "s": {"docs": {"jsonfeed": {"tf": 2.8284271247461903}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1, "s": {"docs": {"jsonfeed": {"tf": 1.7320508075688772}}, "df": 1}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {"jsonfeed": {"tf": 1.7320508075688772}}, "df": 1}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"jsonfeed": {"tf": 1.7320508075688772}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed": {"tf": null}}, "df": 1, "s": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}}, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "s": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"jsonfeed": {"tf": 1.4142135623730951}}, "df": 1}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed": {"tf": 2}}, "df": 1}}, "m": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}}}, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"jsonfeed.ParseError": {"tf": 1}, "jsonfeed.MissingRequiredValueError": {"tf": 1}}, "df": 2}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"jsonfeed": {"tf": 1}, "jsonfeed.ParseError": {"tf": 1}, "jsonfeed.MissingRequiredValueError": {"tf": 1}}, "df": 3, "e": {"docs": {}, "df": 0, "s": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "n": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}, "e": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1, "x": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed.ParseError": {"tf": 1}, "jsonfeed.MissingRequiredValueError": {"tf": 1}}, "df": 2}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"jsonfeed.ParseError": {"tf": 1}, "jsonfeed.MissingRequiredValueError": {"tf": 1}}, "df": 2}}}}}}}}}, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "y": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {"jsonfeed": {"tf": 2}}, "df": 1, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}}, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {"jsonfeed": {"tf": 2.23606797749979}}, "df": 1, "\u2013": {"docs": {}, "df": 0, "\u2013": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}}, "e": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}, "y": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"jsonfeed": {"tf": 1.4142135623730951}}, "df": 1, "s": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"jsonfeed": {"tf": 1.4142135623730951}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}, "u": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}, "e": {"docs": {"jsonfeed": {"tf": 1.4142135623730951}}, "df": 1}}, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "l": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "l": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {"jsonfeed": {"tf": 2.8284271247461903}}, "df": 1}}, "e": {"docs": {"jsonfeed": {"tf": 3.872983346207417}}, "df": 1}, "a": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed": {"tf": 2.449489742783178}}, "df": 1}, "n": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed": {"tf": 1.7320508075688772}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {"jsonfeed": {"tf": 2.6457513110645907}}, "df": 1, "j": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}, "p": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}}}, "y": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}, "d": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}, "k": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {"jsonfeed": {"tf": 1.4142135623730951}}, "df": 1, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}, "y": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1, "l": {"docs": {}, "df": 0, "y": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}}}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1, "s": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}, "l": {"docs": {}, "df": 0, "y": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed": {"tf": 2}}, "df": 1, "e": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1, "s": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}, "n": {"docs": {"jsonfeed.ParseError": {"tf": 1}, "jsonfeed.MissingRequiredValueError": {"tf": 1}}, "df": 2, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "d": {"docs": {"jsonfeed": {"tf": 2}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}}}}, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}}}}}, "e": {"docs": {}, "df": 0, "s": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}}}, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1, "f": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "y": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}}, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, ":": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "m": {"docs": {}, "df": 0, "l": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}, "u": {"docs": {}, "df": 0, "b": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}, "b": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed": {"tf": 1.7320508075688772}}, "df": 1}, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "g": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "s": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed.ParseError": {"tf": 1}, "jsonfeed.MissingRequiredValueError": {"tf": 1}}, "df": 2}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed": {"tf": 1.4142135623730951}}, "df": 1}}}, "g": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}}}, "w": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"jsonfeed": {"tf": 1.4142135623730951}}, "df": 1}}, "l": {"docs": {}, "df": 0, "l": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}, "h": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {"jsonfeed": {"tf": 1.4142135623730951}}, "df": 1}}}}, "y": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}, "b": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "y": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}, "u": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}, "r": {"docs": {"jsonfeed": {"tf": 2.23606797749979}}, "df": 1, "e": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "s": {"docs": {"jsonfeed": {"tf": 1.4142135623730951}}, "df": 1}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1, "d": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "\u2013": {"docs": {}, "df": 0, "\u2013": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "w": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed": {"tf": 1.4142135623730951}}, "df": 1, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed": {"tf": 2}}, "df": 1}}}}, "f": {"docs": {"jsonfeed": {"tf": 2.8284271247461903}}, "df": 1}, "b": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed": {"tf": 1.4142135623730951}}, "df": 1, "s": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "w": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}, "p": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed": {"tf": 2.8284271247461903}}, "df": 1}}}}}}}, "pipeline": ["trimmer"], "_isPrebuiltIndex": true}; + + // mirrored in build-search-index.js (part 1) + // Also split on html tags. this is a cheap heuristic, but good enough. + elasticlunr.tokenizer.setSeperator(/[\s\-.;&_'"=,()]+|<[^>]*>/); + + let searchIndex; + if (docs._isPrebuiltIndex) { + console.info("using precompiled search index"); + searchIndex = elasticlunr.Index.load(docs); + } else { + console.time("building search index"); + // mirrored in build-search-index.js (part 2) + searchIndex = elasticlunr(function () { + this.pipeline.remove(elasticlunr.stemmer); + this.pipeline.remove(elasticlunr.stopWordFilter); + this.addField("qualname"); + this.addField("fullname"); + this.addField("annotation"); + this.addField("default_value"); + this.addField("signature"); + this.addField("bases"); + this.addField("doc"); + this.setRef("fullname"); + }); + for (let doc of docs) { + searchIndex.addDoc(doc); + } + console.timeEnd("building search index"); + } + + return (term) => searchIndex.search(term, { + fields: { + qualname: {boost: 4}, + fullname: {boost: 2}, + annotation: {boost: 2}, + default_value: {boost: 2}, + signature: {boost: 2}, + bases: {boost: 2}, + doc: {boost: 1}, + }, + expand: true + }); +})(); \ No newline at end of file diff --git a/docs/search.json b/docs/search.json deleted file mode 100644 index 7635fad..0000000 --- a/docs/search.json +++ /dev/null @@ -1 +0,0 @@ -{"version": "0.9.5", "fields": ["qualname", "fullname", "doc"], "ref": "fullname", "documentStore": {"docs": {"jsonfeed": {"fullname": "jsonfeed", "modulename": "jsonfeed", "qualname": "", "type": "module", "doc": "

jsonfeed \"Python

\n\n

jsonfeed is a Python package for parsing and constructing JSON Feeds. It explicitly supports JSON Feed Version 1.1.

\n\n

Usage

\n\n

This package's constructor arguments and class variables exactly match the field names defined in the JSON feed spec. I hope that the code is clear enough that the spec can be its granular documentation.

\n\n

Installation

\n\n

In this directory, run:

\n\n
$ pip install .\n
\n\n

Parsing a JSON feed

\n\n
import jsonfeed as jf\nimport requests\n\n# Requesting a valid JSON feed!\nr = requests.get('https://arxiv-feeds.appspot.com/json/test')\n# Parse from raw text...\nfeed_from_text = jf.parse(r.text)\n# ...or parse JSON separately.\nr_json = r.json()\nfeed_from_json = jf.Feed.parse(r_json)\n
\n\n

Constructing a JSON feed

\n\n
import jsonfeed as jf\n\nme = jf.Author(\n  name="Lukas Schwab",\n  url="https://github.com/lukasschwab"\n)\nfeed = jf.Feed("My Feed Title", authors=[me])\nitem = jf.Item("some_item_id")\nfeed.items.append(item)\n\nprint(feed.toJSON())\n
\n\n

jsonfeed exposes constructors for five classes of JSON feed objects:

\n\n
    \n
  • Feed
  • \n
  • Author
  • \n
  • Hub
  • \n
  • Item
  • \n
  • Attachment
  • \n
\n\n

Note, jsonfeed is designed to be minimally restrictive. It does not require fields that are not required in the JSON Feed spec. This means it's possible to construct nonmeaningful JSON feeds (e.g. with this valid Author object: {}).

\n\n

Examples

\n\n\n\n

Deprecations

\n\n

See the spec for an overview of deprecated JSON Feed fields. This project (especially the converters and the parsing functions) will stay backwards-compatible when possible, but using deprecated fields when constructing feeds is discouraged.

\n\n

JSON Feed 1.1

\n\n
    \n
  • Feed.author is deprecated. Use Feed.authors.
  • \n
  • Item.author is deprecated. Use Item.authors.
  • \n
\n\n

Notes

\n\n
    \n
  • Dictionaries maintain insertion order as of Python 3.6. jsonfeed takes advantage of this to retain the order suggested in the JSON Feed spec (namely, that version appear at the top of the JSON object). This order may not be enforced in earlier versions of Python, but out-of-order JSON Feeds are not invalid.

  • \n
  • I made a conscious decision to shoot for code that's readable\u2013\u2013vis \u00e0 vis the JSON Feed spec\u2013\u2013rather than code that's minimal or performant. Additionally, I opted to avoid dependencies outside of the standard library. Hopefully this makes for easy maintenance.

  • \n
\n"}, "jsonfeed.ParseError": {"fullname": "jsonfeed.ParseError", "modulename": "jsonfeed", "qualname": "ParseError", "type": "class", "doc": "

Common base class for all non-exit exceptions.

\n"}, "jsonfeed.MissingRequiredValueError": {"fullname": "jsonfeed.MissingRequiredValueError", "modulename": "jsonfeed", "qualname": "MissingRequiredValueError", "type": "class", "doc": "

Common base class for all non-exit exceptions.

\n"}, "jsonfeed.MissingRequiredValueError.__init__": {"fullname": "jsonfeed.MissingRequiredValueError.__init__", "modulename": "jsonfeed", "qualname": "MissingRequiredValueError.__init__", "type": "function", "doc": "

\n", "parameters": ["self", "structure", "key"], "funcdef": "def"}, "jsonfeed.Feed": {"fullname": "jsonfeed.Feed", "modulename": "jsonfeed", "qualname": "Feed", "type": "class", "doc": "

\n"}, "jsonfeed.Feed.__init__": {"fullname": "jsonfeed.Feed.__init__", "modulename": "jsonfeed", "qualname": "Feed.__init__", "type": "function", "doc": "

\n", "parameters": ["self", "title", "home_page_url", "feed_url", "description", "user_comment", "next_url", "icon", "favicon", "author", "authors", "expired", "language", "hubs", "items"], "funcdef": "def"}, "jsonfeed.Feed.version": {"fullname": "jsonfeed.Feed.version", "modulename": "jsonfeed", "qualname": "Feed.version", "type": "variable", "doc": "

\n"}, "jsonfeed.Feed.parse": {"fullname": "jsonfeed.Feed.parse", "modulename": "jsonfeed", "qualname": "Feed.parse", "type": "function", "doc": "

\n", "parameters": ["maybeFeed"], "funcdef": "def"}, "jsonfeed.Feed.parse_string": {"fullname": "jsonfeed.Feed.parse_string", "modulename": "jsonfeed", "qualname": "Feed.parse_string", "type": "function", "doc": "

\n", "parameters": ["maybeFeed"], "funcdef": "def"}, "jsonfeed.Feed.to_json": {"fullname": "jsonfeed.Feed.to_json", "modulename": "jsonfeed", "qualname": "Feed.to_json", "type": "function", "doc": "

\n", "parameters": ["self", "kwargs"], "funcdef": "def"}, "jsonfeed.Author": {"fullname": "jsonfeed.Author", "modulename": "jsonfeed", "qualname": "Author", "type": "class", "doc": "

\n"}, "jsonfeed.Author.__init__": {"fullname": "jsonfeed.Author.__init__", "modulename": "jsonfeed", "qualname": "Author.__init__", "type": "function", "doc": "

\n", "parameters": ["self", "name", "url", "avatar"], "funcdef": "def"}, "jsonfeed.Author.parse": {"fullname": "jsonfeed.Author.parse", "modulename": "jsonfeed", "qualname": "Author.parse", "type": "function", "doc": "

\n", "parameters": ["maybeAuthor"], "funcdef": "def"}, "jsonfeed.Hub": {"fullname": "jsonfeed.Hub", "modulename": "jsonfeed", "qualname": "Hub", "type": "class", "doc": "

\n"}, "jsonfeed.Hub.__init__": {"fullname": "jsonfeed.Hub.__init__", "modulename": "jsonfeed", "qualname": "Hub.__init__", "type": "function", "doc": "

\n", "parameters": ["self", "type", "url"], "funcdef": "def"}, "jsonfeed.Hub.parse": {"fullname": "jsonfeed.Hub.parse", "modulename": "jsonfeed", "qualname": "Hub.parse", "type": "function", "doc": "

\n", "parameters": ["maybeHub"], "funcdef": "def"}, "jsonfeed.Item": {"fullname": "jsonfeed.Item", "modulename": "jsonfeed", "qualname": "Item", "type": "class", "doc": "

\n"}, "jsonfeed.Item.__init__": {"fullname": "jsonfeed.Item.__init__", "modulename": "jsonfeed", "qualname": "Item.__init__", "type": "function", "doc": "

\n", "parameters": ["self", "id", "url", "external_url", "title", "content_html", "content_text", "summary", "image", "banner_image", "date_published", "date_modified", "author", "authors", "tags", "attachments"], "funcdef": "def"}, "jsonfeed.Item.parse": {"fullname": "jsonfeed.Item.parse", "modulename": "jsonfeed", "qualname": "Item.parse", "type": "function", "doc": "

\n", "parameters": ["maybeItem"], "funcdef": "def"}, "jsonfeed.Attachment": {"fullname": "jsonfeed.Attachment", "modulename": "jsonfeed", "qualname": "Attachment", "type": "class", "doc": "

\n"}, "jsonfeed.Attachment.__init__": {"fullname": "jsonfeed.Attachment.__init__", "modulename": "jsonfeed", "qualname": "Attachment.__init__", "type": "function", "doc": "

\n", "parameters": ["self", "url", "mime_type", "title", "size_in_bytes", "duration_in_seconds"], "funcdef": "def"}, "jsonfeed.Attachment.parse": {"fullname": "jsonfeed.Attachment.parse", "modulename": "jsonfeed", "qualname": "Attachment.parse", "type": "function", "doc": "

\n", "parameters": ["maybeAttachment"], "funcdef": "def"}, "jsonfeed.converters.feedparser": {"fullname": "jsonfeed.converters.feedparser", "modulename": "jsonfeed.converters.feedparser", "qualname": "", "type": "module", "doc": "

\n"}, "jsonfeed.converters.feedparser.from_feedparser_obj": {"fullname": "jsonfeed.converters.feedparser.from_feedparser_obj", "modulename": "jsonfeed.converters.feedparser", "qualname": "from_feedparser_obj", "type": "function", "doc": "

\n", "parameters": ["feedparser_obj"], "funcdef": "def"}, "jsonfeed.converters.feedparser.from_feedparser_entry": {"fullname": "jsonfeed.converters.feedparser.from_feedparser_entry", "modulename": "jsonfeed.converters.feedparser", "qualname": "from_feedparser_entry", "type": "function", "doc": "

\n", "parameters": ["entry"], "funcdef": "def"}, "jsonfeed.converters.feedparser.from_feedparser_links": {"fullname": "jsonfeed.converters.feedparser.from_feedparser_links", "modulename": "jsonfeed.converters.feedparser", "qualname": "from_feedparser_links", "type": "function", "doc": "

\n", "parameters": ["links"], "funcdef": "def"}, "jsonfeed.converters.feedparser.from_feedparser_link": {"fullname": "jsonfeed.converters.feedparser.from_feedparser_link", "modulename": "jsonfeed.converters.feedparser", "qualname": "from_feedparser_link", "type": "function", "doc": "

\n", "parameters": ["link"], "funcdef": "def"}, "jsonfeed.converters.feedparser.get_content": {"fullname": "jsonfeed.converters.feedparser.get_content", "modulename": "jsonfeed.converters.feedparser", "qualname": "get_content", "type": "function", "doc": "

\n", "parameters": ["entry", "content_type"], "funcdef": "def"}}, "docInfo": {"jsonfeed": {"qualname": 0, "fullname": 1, "doc": 274}, "jsonfeed.ParseError": {"qualname": 1, "fullname": 2, "doc": 6}, "jsonfeed.MissingRequiredValueError": {"qualname": 1, "fullname": 2, "doc": 6}, "jsonfeed.MissingRequiredValueError.__init__": {"qualname": 2, "fullname": 3, "doc": 0}, "jsonfeed.Feed": {"qualname": 1, "fullname": 2, "doc": 0}, "jsonfeed.Feed.__init__": {"qualname": 2, "fullname": 3, "doc": 0}, "jsonfeed.Feed.version": {"qualname": 2, "fullname": 3, "doc": 0}, "jsonfeed.Feed.parse": {"qualname": 2, "fullname": 3, "doc": 0}, "jsonfeed.Feed.parse_string": {"qualname": 2, "fullname": 3, "doc": 0}, "jsonfeed.Feed.to_json": {"qualname": 2, "fullname": 3, "doc": 0}, "jsonfeed.Author": {"qualname": 1, "fullname": 2, "doc": 0}, "jsonfeed.Author.__init__": {"qualname": 2, "fullname": 3, "doc": 0}, "jsonfeed.Author.parse": {"qualname": 2, "fullname": 3, "doc": 0}, "jsonfeed.Hub": {"qualname": 1, "fullname": 2, "doc": 0}, "jsonfeed.Hub.__init__": {"qualname": 2, "fullname": 3, "doc": 0}, "jsonfeed.Hub.parse": {"qualname": 2, "fullname": 3, "doc": 0}, "jsonfeed.Item": {"qualname": 1, "fullname": 2, "doc": 0}, "jsonfeed.Item.__init__": {"qualname": 2, "fullname": 3, "doc": 0}, "jsonfeed.Item.parse": {"qualname": 2, "fullname": 3, "doc": 0}, "jsonfeed.Attachment": {"qualname": 1, "fullname": 2, "doc": 0}, "jsonfeed.Attachment.__init__": {"qualname": 2, "fullname": 3, "doc": 0}, "jsonfeed.Attachment.parse": {"qualname": 2, "fullname": 3, "doc": 0}, "jsonfeed.converters.feedparser": {"qualname": 0, "fullname": 3, "doc": 0}, "jsonfeed.converters.feedparser.from_feedparser_obj": {"qualname": 1, "fullname": 4, "doc": 0}, "jsonfeed.converters.feedparser.from_feedparser_entry": {"qualname": 1, "fullname": 4, "doc": 0}, "jsonfeed.converters.feedparser.from_feedparser_links": {"qualname": 1, "fullname": 4, "doc": 0}, "jsonfeed.converters.feedparser.from_feedparser_link": {"qualname": 1, "fullname": 4, "doc": 0}, "jsonfeed.converters.feedparser.get_content": {"qualname": 1, "fullname": 4, "doc": 0}}, "length": 28, "save": true}, "index": {"qualname": {"root": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"jsonfeed.Feed.parse": {"tf": 1}, "jsonfeed.Author.parse": {"tf": 1}, "jsonfeed.Hub.parse": {"tf": 1}, "jsonfeed.Item.parse": {"tf": 1}, "jsonfeed.Attachment.parse": {"tf": 1}}, "df": 5, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed.ParseError": {"tf": 1}}, "df": 1}}}}}, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed.Feed.parse_string": {"tf": 1}}, "df": 1}}}}}}}}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed.MissingRequiredValueError": {"tf": 1}, "jsonfeed.MissingRequiredValueError.__init__": {"tf": 1}}, "df": 2}}}}}}}}}}}}}}}}}}}}}}}}}, "_": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "_": {"docs": {"jsonfeed.MissingRequiredValueError.__init__": {"tf": 1}, "jsonfeed.Feed.__init__": {"tf": 1}, "jsonfeed.Author.__init__": {"tf": 1}, "jsonfeed.Hub.__init__": {"tf": 1}, "jsonfeed.Item.__init__": {"tf": 1}, "jsonfeed.Attachment.__init__": {"tf": 1}}, "df": 6}}}}}}}}, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"jsonfeed.Feed": {"tf": 1}, "jsonfeed.Feed.__init__": {"tf": 1}, "jsonfeed.Feed.version": {"tf": 1}, "jsonfeed.Feed.parse": {"tf": 1}, "jsonfeed.Feed.parse_string": {"tf": 1}, "jsonfeed.Feed.to_json": {"tf": 1}}, "df": 6}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "j": {"docs": {"jsonfeed.converters.feedparser.from_feedparser_obj": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {"jsonfeed.converters.feedparser.from_feedparser_entry": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "k": {"docs": {"jsonfeed.converters.feedparser.from_feedparser_links": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_link": {"tf": 1}}, "df": 2}}}}}}}}}}}}}}}}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"jsonfeed.Feed.version": {"tf": 1}}, "df": 1}}}}}}}, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"jsonfeed.Feed.to_json": {"tf": 1}}, "df": 1}}}}}}}, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed.Author": {"tf": 1}, "jsonfeed.Author.__init__": {"tf": 1}, "jsonfeed.Author.parse": {"tf": 1}}, "df": 3}}}}}, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"jsonfeed.Attachment": {"tf": 1}, "jsonfeed.Attachment.__init__": {"tf": 1}, "jsonfeed.Attachment.parse": {"tf": 1}}, "df": 3}}}}}}, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {"jsonfeed.Hub": {"tf": 1}, "jsonfeed.Hub.__init__": {"tf": 1}, "jsonfeed.Hub.parse": {"tf": 1}}, "df": 3}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"jsonfeed.Item": {"tf": 1}, "jsonfeed.Item.__init__": {"tf": 1}, "jsonfeed.Item.parse": {"tf": 1}}, "df": 3}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed.converters.feedparser.get_content": {"tf": 1}}, "df": 1}}}}}}}}}}, "fullname": {"root": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed": {"tf": 1}, "jsonfeed.ParseError": {"tf": 1}, "jsonfeed.MissingRequiredValueError": {"tf": 1}, "jsonfeed.MissingRequiredValueError.__init__": {"tf": 1}, "jsonfeed.Feed": {"tf": 1}, "jsonfeed.Feed.__init__": {"tf": 1}, "jsonfeed.Feed.version": {"tf": 1}, "jsonfeed.Feed.parse": {"tf": 1}, "jsonfeed.Feed.parse_string": {"tf": 1}, "jsonfeed.Feed.to_json": {"tf": 1}, "jsonfeed.Author": {"tf": 1}, "jsonfeed.Author.__init__": {"tf": 1}, "jsonfeed.Author.parse": {"tf": 1}, "jsonfeed.Hub": {"tf": 1}, "jsonfeed.Hub.__init__": {"tf": 1}, "jsonfeed.Hub.parse": {"tf": 1}, "jsonfeed.Item": {"tf": 1}, "jsonfeed.Item.__init__": {"tf": 1}, "jsonfeed.Item.parse": {"tf": 1}, "jsonfeed.Attachment": {"tf": 1}, "jsonfeed.Attachment.__init__": {"tf": 1}, "jsonfeed.Attachment.parse": {"tf": 1}, "jsonfeed.converters.feedparser": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_obj": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_entry": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_links": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_link": {"tf": 1}, "jsonfeed.converters.feedparser.get_content": {"tf": 1}}, "df": 28}}}}}}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"jsonfeed.Feed.parse": {"tf": 1}, "jsonfeed.Author.parse": {"tf": 1}, "jsonfeed.Hub.parse": {"tf": 1}, "jsonfeed.Item.parse": {"tf": 1}, "jsonfeed.Attachment.parse": {"tf": 1}}, "df": 5, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed.ParseError": {"tf": 1}}, "df": 1}}}}}, "_": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed.Feed.parse_string": {"tf": 1}}, "df": 1}}}}}}}}}, "m": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed.MissingRequiredValueError": {"tf": 1}, "jsonfeed.MissingRequiredValueError.__init__": {"tf": 1}}, "df": 2}}}}}}}}}}}}}}}}}}}}}}}}}, "_": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "_": {"docs": {"jsonfeed.MissingRequiredValueError.__init__": {"tf": 1}, "jsonfeed.Feed.__init__": {"tf": 1}, "jsonfeed.Author.__init__": {"tf": 1}, "jsonfeed.Hub.__init__": {"tf": 1}, "jsonfeed.Item.__init__": {"tf": 1}, "jsonfeed.Attachment.__init__": {"tf": 1}}, "df": 6}}}}}}}}, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"jsonfeed.Feed": {"tf": 1}, "jsonfeed.Feed.__init__": {"tf": 1}, "jsonfeed.Feed.version": {"tf": 1}, "jsonfeed.Feed.parse": {"tf": 1}, "jsonfeed.Feed.parse_string": {"tf": 1}, "jsonfeed.Feed.to_json": {"tf": 1}}, "df": 6, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {"jsonfeed.converters.feedparser": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_obj": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_entry": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_links": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_link": {"tf": 1}, "jsonfeed.converters.feedparser.get_content": {"tf": 1}}, "df": 6}}}}}}}, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "j": {"docs": {"jsonfeed.converters.feedparser.from_feedparser_obj": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {"jsonfeed.converters.feedparser.from_feedparser_entry": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "k": {"docs": {"jsonfeed.converters.feedparser.from_feedparser_links": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_link": {"tf": 1}}, "df": 2}}}}}}}}}}}}}}}}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"jsonfeed.Feed.version": {"tf": 1}}, "df": 1}}}}}}}, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"jsonfeed.Feed.to_json": {"tf": 1}}, "df": 1}}}}}}}, "a": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed.Author": {"tf": 1}, "jsonfeed.Author.__init__": {"tf": 1}, "jsonfeed.Author.parse": {"tf": 1}}, "df": 3}}}}}, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"jsonfeed.Attachment": {"tf": 1}, "jsonfeed.Attachment.__init__": {"tf": 1}, "jsonfeed.Attachment.parse": {"tf": 1}}, "df": 3}}}}}}, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {"jsonfeed.Hub": {"tf": 1}, "jsonfeed.Hub.__init__": {"tf": 1}, "jsonfeed.Hub.parse": {"tf": 1}}, "df": 3}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"jsonfeed.Item": {"tf": 1}, "jsonfeed.Item.__init__": {"tf": 1}, "jsonfeed.Item.parse": {"tf": 1}}, "df": 3}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed.converters.feedparser": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_obj": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_entry": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_links": {"tf": 1}, "jsonfeed.converters.feedparser.from_feedparser_link": {"tf": 1}, "jsonfeed.converters.feedparser.get_content": {"tf": 1}}, "df": 6}}}}}}}, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed.converters.feedparser.get_content": {"tf": 1}}, "df": 1}}}}}}}}}}, "doc": {"root": {"1": {"docs": {"jsonfeed": {"tf": 2}}, "df": 1}, "3": {"9": {"docs": {"jsonfeed": {"tf": 1.4142135623730951}}, "df": 1}, "docs": {"jsonfeed": {"tf": 1}}, "df": 1}, "6": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}, "docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"jsonfeed": {"tf": 4.47213595499958}}, "df": 1, "f": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed": {"tf": 2.8284271247461903}}, "df": 1}}}}}, "f": {"docs": {"jsonfeed": {"tf": 2.6457513110645907}}, "df": 1}}, "p": {"docs": {}, "df": 0, "y": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"jsonfeed": {"tf": 1.7320508075688772}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1, "e": {"docs": {}, "df": 0, "'": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}, "r": {"docs": {}, "df": 0, "s": {"docs": {"jsonfeed": {"tf": 2.6457513110645907}}, "df": 1}}, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "c": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "p": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}, "o": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {"jsonfeed": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "m": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed": {"tf": 2}}, "df": 1, "o": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed": {"tf": null}}, "df": 1}}}}}}}, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed": {"tf": 1.7320508075688772}}, "df": 1}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed": {"tf": 1.7320508075688772}}, "df": 1}}, "m": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}}}, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}, "m": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"jsonfeed.ParseError": {"tf": 1}, "jsonfeed.MissingRequiredValueError": {"tf": 1}}, "df": 2}}}}}, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "s": {"docs": {"jsonfeed": {"tf": 1.4142135623730951}, "jsonfeed.ParseError": {"tf": 1}, "jsonfeed.MissingRequiredValueError": {"tf": 1}}, "df": 3}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}, "f": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "d": {"docs": {"jsonfeed": {"tf": 5.385164807134504}}, "df": 1, "_": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}, "j": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}}}}}}}, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "d": {"docs": {"jsonfeed": {"tf": 2}}, "df": 1}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}, "u": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}}, "e": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1, "x": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}, "o": {"docs": {}, "df": 0, "s": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "l": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed.ParseError": {"tf": 1}, "jsonfeed.MissingRequiredValueError": {"tf": 1}}, "df": 2}}, "c": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed.ParseError": {"tf": 1}, "jsonfeed.MissingRequiredValueError": {"tf": 1}}, "df": 2}}}}}, "n": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "h": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}, "f": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "c": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "i": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}, "s": {"docs": {}, "df": 0, "i": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}, "g": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {"jsonfeed": {"tf": 2.23606797749979}}, "df": 1, "\u2013": {"docs": {}, "df": 0, "\u2013": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}}}, "e": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}, "e": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}, "c": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}, "o": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "_": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}, "y": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}, "n": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"jsonfeed": {"tf": 1.7320508075688772}}, "df": 1}}}}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"jsonfeed": {"tf": 1.4142135623730951}}, "df": 1}}}}, "i": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}, "u": {"docs": {}, "df": 0, "s": {"docs": {"jsonfeed": {"tf": 1.7320508075688772}}, "df": 1, "a": {"docs": {}, "df": 0, "g": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}, "r": {"docs": {}, "df": 0, "l": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}, "x": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed": {"tf": 2.8284271247461903}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "m": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}, "d": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}, "d": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}, "v": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}, "m": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "h": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}, "k": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "m": {"docs": {"jsonfeed": {"tf": 1.4142135623730951}}, "df": 1}}}}, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed": {"tf": 1.7320508075688772}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed": {"tf": 1.4142135623730951}}, "df": 1}}, "n": {"docs": {"jsonfeed.ParseError": {"tf": 1}, "jsonfeed.MissingRequiredValueError": {"tf": 1}}, "df": 2, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "g": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}}}}, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "f": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "g": {"docs": {}, "df": 0, "n": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}, "p": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {"jsonfeed": {"tf": 2.23606797749979}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "d": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}, "c": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "s": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}, "o": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "m": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}, "i": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}, "s": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "g": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}, "c": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}}}}, "h": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1, "f": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}}, "t": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, ":": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "/": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "v": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}, "g": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "h": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "b": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}}}}}}, "m": {"docs": {}, "df": 0, "l": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}, "u": {"docs": {}, "df": 0, "b": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}, "g": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}, "e": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}, "i": {"docs": {}, "df": 0, "n": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {"jsonfeed": {"tf": 1.4142135623730951}}, "df": 1}}}, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}, "v": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}, "m": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed": {"tf": 1.7320508075688772}}, "df": 1}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "m": {"docs": {"jsonfeed": {"tf": 2.6457513110645907}}, "df": 1}}, "'": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}, "r": {"docs": {"jsonfeed": {"tf": 1.7320508075688772}}, "df": 1, "u": {"docs": {}, "df": 0, "n": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}, "e": {"docs": {}, "df": 0, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed": {"tf": 1.7320508075688772}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed": {"tf": 1.4142135623730951}}, "df": 1}}}}, "s": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "n": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}, "a": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "\u2013": {"docs": {}, "df": 0, "\u2013": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}}}}}, "a": {"docs": {}, "df": 0, "w": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}, "_": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"jsonfeed": {"tf": 1.4142135623730951}}, "df": 1}}}}}}, "t": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "x": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed": {"tf": 1.4142135623730951}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "l": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}, "o": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "s": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "n": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}, "p": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}, "a": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}, "h": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "t": {"docs": {}, "df": 0, "'": {"docs": {"jsonfeed": {"tf": 1.4142135623730951}}, "df": 1}}}}}, "q": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed": {"tf": 2.8284271247461903}}, "df": 1}}}}, "l": {"docs": {}, "df": 0, "u": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "a": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}, "i": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "i": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}, "o": {"docs": {}, "df": 0, "b": {"docs": {}, "df": 0, "j": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed": {"tf": 1.7320508075688772}}, "df": 1}}}}}, "v": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "v": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "w": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}, "r": {"docs": {}, "df": 0, "d": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed": {"tf": 2}}, "df": 1}}}}, "u": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1, "s": {"docs": {}, "df": 0, "i": {"docs": {}, "df": 0, "d": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}, "p": {"docs": {}, "df": 0, "t": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}, "w": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "p": {"docs": {}, "df": 0, "e": {"docs": {}, "df": 0, "r": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}}, "b": {"docs": {}, "df": 0, "l": {"docs": {}, "df": 0, "o": {"docs": {}, "df": 0, "g": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}, "a": {"docs": {}, "df": 0, "c": {"docs": {}, "df": 0, "k": {"docs": {}, "df": 0, "w": {"docs": {}, "df": 0, "a": {"docs": {}, "df": 0, "r": {"docs": {}, "df": 0, "d": {"docs": {"jsonfeed": {"tf": 1}}, "df": 1}}}}}}, "s": {"docs": {}, "df": 0, "e": {"docs": {"jsonfeed.ParseError": {"tf": 1}, "jsonfeed.MissingRequiredValueError": {"tf": 1}}, "df": 2}}}}}}}, "pipeline": ["trimmer", "stopWordFilter", "stemmer"], "_isPrebuiltIndex": true} \ No newline at end of file diff --git a/requirements.txt b/requirements.txt index c7dc6ec..a1496fe 100644 --- a/requirements.txt +++ b/requirements.txt @@ -3,5 +3,6 @@ feedparser==6.0.2 # Development dependencies pytest>=6.2.2 flake8>=3.9.0 -pdoc==7.1.1 -pip-audit>=1.1.2 \ No newline at end of file +pdoc==13.1.0 +pip-audit>=1.1.2 +