missionpanel 1.2.0__tar.gz → 1.2.2__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (23) hide show
  1. {missionpanel-1.2.0 → missionpanel-1.2.2}/PKG-INFO +1 -1
  2. {missionpanel-1.2.0 → missionpanel-1.2.2}/missionpanel/example/ttrss.py +21 -13
  3. {missionpanel-1.2.0 → missionpanel-1.2.2}/missionpanel.egg-info/PKG-INFO +1 -1
  4. {missionpanel-1.2.0 → missionpanel-1.2.2}/setup.py +1 -1
  5. {missionpanel-1.2.0 → missionpanel-1.2.2}/LICENSE +0 -0
  6. {missionpanel-1.2.0 → missionpanel-1.2.2}/README.md +0 -0
  7. {missionpanel-1.2.0 → missionpanel-1.2.2}/missionpanel/__init__.py +0 -0
  8. {missionpanel-1.2.0 → missionpanel-1.2.2}/missionpanel/example/__init__.py +0 -0
  9. {missionpanel-1.2.0 → missionpanel-1.2.2}/missionpanel/example/rsshub.py +0 -0
  10. {missionpanel-1.2.0 → missionpanel-1.2.2}/missionpanel/handler/__init__.py +0 -0
  11. {missionpanel-1.2.0 → missionpanel-1.2.2}/missionpanel/handler/handler.py +0 -0
  12. {missionpanel-1.2.0 → missionpanel-1.2.2}/missionpanel/orm/__init__.py +0 -0
  13. {missionpanel-1.2.0 → missionpanel-1.2.2}/missionpanel/orm/core.py +0 -0
  14. {missionpanel-1.2.0 → missionpanel-1.2.2}/missionpanel/orm/handler.py +0 -0
  15. {missionpanel-1.2.0 → missionpanel-1.2.2}/missionpanel/submitter/__init__.py +0 -0
  16. {missionpanel-1.2.0 → missionpanel-1.2.2}/missionpanel/submitter/abc.py +0 -0
  17. {missionpanel-1.2.0 → missionpanel-1.2.2}/missionpanel/submitter/asynchronous.py +0 -0
  18. {missionpanel-1.2.0 → missionpanel-1.2.2}/missionpanel/submitter/submitter.py +0 -0
  19. {missionpanel-1.2.0 → missionpanel-1.2.2}/missionpanel.egg-info/SOURCES.txt +0 -0
  20. {missionpanel-1.2.0 → missionpanel-1.2.2}/missionpanel.egg-info/dependency_links.txt +0 -0
  21. {missionpanel-1.2.0 → missionpanel-1.2.2}/missionpanel.egg-info/requires.txt +0 -0
  22. {missionpanel-1.2.0 → missionpanel-1.2.2}/missionpanel.egg-info/top_level.txt +0 -0
  23. {missionpanel-1.2.0 → missionpanel-1.2.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: missionpanel
3
- Version: 1.2.0
3
+ Version: 1.2.2
4
4
  Summary: A mission panel
5
5
  Home-page: https://github.com/yindaheng98/missionpanel
6
6
  Author: yindaheng98
@@ -88,26 +88,34 @@ class TTRSSSubmitter(AsyncSubmitter, metaclass=abc.ABCMeta):
88
88
  "limit": None
89
89
  })
90
90
 
91
+ mission_content_queue = asyncio.Queue(len(feeds))
92
+
91
93
  async def feed_task(feed):
92
- content = await client.api({
93
- "op": "getHeadlines",
94
- "feed_id": feed['id'],
95
- "limit": 1,
96
- "view_mode": "all_articles",
97
- "order_by": "feed_dates"
98
- })
99
- async for mission_content in self.parse_content(feed, content, **httpx_client_options):
94
+ async with semaphore:
95
+ content = await client.api({
96
+ "op": "getHeadlines",
97
+ "feed_id": feed['id'],
98
+ "limit": 1,
99
+ "view_mode": "all_articles",
100
+ "order_by": "feed_dates"
101
+ })
102
+ async for mission_content in self.parse_content(feed, content, **httpx_client_options):
103
+ await mission_content_queue.put(mission_content)
104
+
105
+ async def mission_task():
106
+ while True:
107
+ mission_content = await mission_content_queue.get()
100
108
  matchers = await self.derive_matcher(mission_content)
101
109
  await self.create_mission(mission_content, matchers)
102
110
  tags = await self.derive_tags(mission_content)
103
111
  if len(tags) > 0:
104
112
  await self.add_tags(matchers, tags)
113
+ mission_content_queue.task_done()
105
114
 
106
- async def semaphore_task(feed):
107
- async with semaphore:
108
- await feed_task(feed)
109
-
110
- await asyncio.gather(*[semaphore_task(feed) for feed in feeds])
115
+ mission_task_ = asyncio.create_task(mission_task())
116
+ await asyncio.gather(*[feed_task(feed) for feed in feeds]) # wait for all feed tasks to finish
117
+ await mission_content_queue.join() # wait for all missions to be done
118
+ mission_task_.cancel() # cancel the while True in mission task
111
119
 
112
120
 
113
121
  class TTRSSHubSubmitter(TTRSSSubmitter):
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: missionpanel
3
- Version: 1.2.0
3
+ Version: 1.2.2
4
4
  Summary: A mission panel
5
5
  Home-page: https://github.com/yindaheng98/missionpanel
6
6
  Author: yindaheng98
@@ -12,7 +12,7 @@ package_dir = {
12
12
 
13
13
  setup(
14
14
  name='missionpanel',
15
- version='1.2.0',
15
+ version='1.2.2',
16
16
  author='yindaheng98',
17
17
  author_email='yindaheng98@gmail.com',
18
18
  url='https://github.com/yindaheng98/missionpanel',
File without changes
File without changes
File without changes