From ce4449c2fbb426cee801ae972e0e28b1cb6703d0 Mon Sep 17 00:00:00 2001 From: Quentin Lhoest Date: Sat, 29 Jun 2019 00:14:09 +0200 Subject: [PATCH 1/2] add iter in FeedlyData --- feedly/api_client/data.py | 9 ++++++++- 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/feedly/api_client/data.py b/feedly/api_client/data.py index 5ee3e0f..d1c96d3 100644 --- a/feedly/api_client/data.py +++ b/feedly/api_client/data.py @@ -14,6 +14,7 @@ class FeedlyData: def __init__(self, json:Dict[str,Any], client:APIClient=None): self._json = json self._client = client + def _onchange(self): # sub classes should clear any cached items here pass @@ -33,6 +34,10 @@ def __getitem__(self, name): def __setitem__(self, key, value): self.json[key] = value + def __iter__(self): + yield from self.json + + class IdStream(StreamBase): """ stream entry ids, e.g. https://developers.feedly.com/v3/streams/#get-a-list-of-entry-ids-for-a-specific-stream @@ -49,7 +54,6 @@ def __init__(self, client:APIClient, id_:str, options:StreamOptions): super().__init__(client, id_, options, 'contents', 'items', Entry) - class Streamable(FeedlyData): def _get_id(self): return self['id'] @@ -67,6 +71,7 @@ def stream_ids(self, options:StreamOptions=None): def __repr__(self): return f'<{type(self).__name__}: {self._get_id()}>' + class TagBase(Streamable): def tag_entry(self, entry_id:str): @@ -90,6 +95,7 @@ class UserTag(TagBase): def stream_id(self): return UserStreamId(self['id'], self['id'].split('/')) + class EnterpriseCategory(Streamable): @property @@ -118,6 +124,7 @@ def delete(self): """ self._client.do_api_request('v3/enterprise/tags/'+quote_plus(self.stream_id.id)+'?deleteContent=true', method='delete') + class Entry(FeedlyData): pass From 4ebd21cb0a709c0f4c64a71822467a8e66866ad9 Mon Sep 17 00:00:00 2001 From: Edouard360 Date: Sun, 30 Jun 2019 08:02:48 -0700 Subject: [PATCH 2/2] __iter__ -> __contains__ --- feedly/api_client/data.py | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/feedly/api_client/data.py b/feedly/api_client/data.py index d1c96d3..50dd229 100644 --- a/feedly/api_client/data.py +++ b/feedly/api_client/data.py @@ -34,8 +34,8 @@ def __getitem__(self, name): def __setitem__(self, key, value): self.json[key] = value - def __iter__(self): - yield from self.json + def __contains__(self, item): + return item in self._json class IdStream(StreamBase):