aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--aggro.py4
-rw-r--r--app/DatabaseManager.py6
-rw-r--r--app/PluginManager.py2
-rw-r--r--app/server.py13
-rw-r--r--app/utils.py2
-rw-r--r--plugins/ConcatPlugin.py4
-rw-r--r--plugins/DigestPlugin.py4
-rw-r--r--plugins/FacebookSourcePlugin.py5
-rw-r--r--plugins/FeedSinkPlugin.py3
-rw-r--r--plugins/FeedSourcePlugin.py20
10 files changed, 33 insertions, 30 deletions
diff --git a/aggro.py b/aggro.py
index 63ec9ef..27cd373 100644
--- a/aggro.py
+++ b/aggro.py
@@ -51,7 +51,7 @@ if __name__ == "__main__":
aggrofile_hash_q = Query().key == "aggrofile_hash"
aggrofile_stored_hash: str | None
if database_manager.meta_info.contains(aggrofile_hash_q):
- aggrofile_stored_hash_obj: Any = database_manager.meta_info.get( # type: ignore
+ aggrofile_stored_hash_obj: Any = database_manager.meta_info.get(
aggrofile_hash_q
)
aggrofile_stored_hash = aggrofile_stored_hash_obj["value"]
@@ -69,7 +69,7 @@ if __name__ == "__main__":
print("Aggrofile has been changed. Truncating plugin states in DB...")
database_manager.plugin_states.truncate()
- database_manager.meta_info.upsert( # type: ignore
+ database_manager.meta_info.upsert(
{"key": "aggrofile_hash", "value": aggrofile_current_hash_dig},
aggrofile_hash_q,
)
diff --git a/app/DatabaseManager.py b/app/DatabaseManager.py
index 0ef3b49..c890354 100644
--- a/app/DatabaseManager.py
+++ b/app/DatabaseManager.py
@@ -9,9 +9,9 @@ class DatabaseManager:
def setup(self, config: AggroConfig):
self.db = TinyDB(config.db_path)
- self.plugin_states = self.db.table("plugin_states") # type: ignore
- self.feeds = self.db.table("feeds") # type: ignore
- self.meta_info = self.db.table("meta_info") # type: ignore
+ self.plugin_states = self.db.table("plugin_states")
+ self.feeds = self.db.table("feeds")
+ self.meta_info = self.db.table("meta_info")
database_manager: DatabaseManager = DatabaseManager()
diff --git a/app/PluginManager.py b/app/PluginManager.py
index 03535cc..cd810b0 100644
--- a/app/PluginManager.py
+++ b/app/PluginManager.py
@@ -52,7 +52,7 @@ class PluginManager:
if schedule_expr is not None:
job: schedule.Job = eval(schedule_expr, {"schedule": schedule})
- job.do(self.run_plugin_job, id, None) # type: ignore
+ job.do(self.run_plugin_job, id, None)
self.scheduled_plugin_ids.append(id)
PluginClass: Any = self._plugins[plugin_name]
diff --git a/app/server.py b/app/server.py
index 3ff981e..038760e 100644
--- a/app/server.py
+++ b/app/server.py
@@ -1,5 +1,5 @@
-from typing import Any
-import bottle # type: ignore
+from typing import Any, cast
+import bottle
from tinydb import Query
from app.DatabaseManager import database_manager
@@ -19,7 +19,10 @@ def feed_to_tr(feed: dict[str, str]) -> str:
def feeds_to_table(feeds: list[dict[str, str]]) -> str:
if len(feeds) == 0:
- return "No feeds (yet). Add feeds by defining them in your Aggrofile. If you did that already, you might have to wait a bit for the data to propagate."
+ return (
+ "No feeds (yet). Add feeds by defining them in your Aggrofile. "
+ + "If you did that already, you might have to wait a bit for the data to propagate."
+ )
trs: list[str] = [feed_to_tr(feed) for feed in feeds]
thead = f"<thead><tr><td>Feed</td><td>Last build date</td></tr></thead>"
@@ -34,7 +37,7 @@ def index():
Q = Query()
_feeds = database_manager.feeds.all()
- feeds: list[dict[str, str]] = _feeds # type: ignore
+ feeds = cast(list[dict[str, str]], _feeds)
bottle.response.set_header("content-type", "text/html")
page = f"""
@@ -106,7 +109,7 @@ def feed(feed_id: str):
bottle.response.set_header("content-type", "application/xml")
- feed: Any = res[0] # type: ignore
+ feed: Any = res[0]
feed_xml: str = feed["feed_xml"]
return feed_xml
diff --git a/app/utils.py b/app/utils.py
index f0c175f..6deb147 100644
--- a/app/utils.py
+++ b/app/utils.py
@@ -10,7 +10,7 @@ ItemDict: TypeAlias = dict[str, ItemDictValue]
def evaluate_env_ref(v: Any) -> str:
if type(v) == str and v.startswith("${") and v.endswith("}"):
- return os.environ[v[2:-1]] # type: ignore
+ return os.environ[v[2:-1]]
else:
return v
diff --git a/plugins/ConcatPlugin.py b/plugins/ConcatPlugin.py
index 3c48728..71bbc60 100644
--- a/plugins/ConcatPlugin.py
+++ b/plugins/ConcatPlugin.py
@@ -25,7 +25,7 @@ class Plugin(PluginInterface):
raise Exception(f"{self.log_prefix} can not be scheduled")
plugin_state_q = Query().plugin_id == self.id
- _d: Any = database_manager.plugin_states.get(plugin_state_q) # type: ignore
+ _d: Any = database_manager.plugin_states.get(plugin_state_q)
data: dict[str, Any] = (
_d if _d is not None else {"plugin_id": self.id, "state": {}}
)
@@ -34,7 +34,7 @@ class Plugin(PluginInterface):
items_as_dicts = list(map(item_to_dict, items))
state[source_id] = items_as_dicts
- database_manager.plugin_states.upsert( # type: ignore
+ database_manager.plugin_states.upsert(
{"plugin_id": self.id, "state": state}, plugin_state_q
)
diff --git a/plugins/DigestPlugin.py b/plugins/DigestPlugin.py
index 3675264..8f2b745 100644
--- a/plugins/DigestPlugin.py
+++ b/plugins/DigestPlugin.py
@@ -117,7 +117,7 @@ class Plugin(PluginInterface):
raise Exception(f"{self.log_prefix} can not be scheduled")
plugin_state_q = Query().plugin_id == self.id
- _d: Any = database_manager.plugin_states.get(plugin_state_q) # type: ignore
+ _d: Any = database_manager.plugin_states.get(plugin_state_q)
data: dict[str, Any] = (
_d if _d is not None else {"plugin_id": self.id, "state": {}}
)
@@ -126,7 +126,7 @@ class Plugin(PluginInterface):
items_as_dicts = list(map(item_to_dict, items))
state[source_id] = items_as_dicts
- database_manager.plugin_states.upsert( # type: ignore
+ database_manager.plugin_states.upsert(
{"plugin_id": self.id, "state": state}, plugin_state_q
)
diff --git a/plugins/FacebookSourcePlugin.py b/plugins/FacebookSourcePlugin.py
index ea33615..9e91f84 100644
--- a/plugins/FacebookSourcePlugin.py
+++ b/plugins/FacebookSourcePlugin.py
@@ -1,5 +1,6 @@
import random
import time
+from typing import cast
import requests
import re
import urllib.parse
@@ -162,9 +163,9 @@ def fetch_page_posts(email: str, password: str, page_id: str, limit: int) -> lis
posts = timeline.select("section > article")
for post in posts:
- time_tag: Tag = post.find("abbr") # type: ignore
+ time_tag = cast(Tag, post.find("abbr"))
- link_tag: Tag | None = post.find("a", string="Full Story") # type: ignore
+ link_tag = cast(Tag | None, post.find("a", string="Full Story"))
if link_tag is not None:
link = f"{base_url}{link_tag['href']}"
# drop tracking parameters that change at a whim
diff --git a/plugins/FeedSinkPlugin.py b/plugins/FeedSinkPlugin.py
index a49e0ae..d72127f 100644
--- a/plugins/FeedSinkPlugin.py
+++ b/plugins/FeedSinkPlugin.py
@@ -119,7 +119,6 @@ class Plugin(PluginInterface):
ret = self.build_xml(items)
- Q = Query()
- database_manager.feeds.upsert(ret, Q.feed_id == self.feed_id) # type: ignore
+ database_manager.feeds.upsert(ret, Query().feed_id == self.feed_id)
self.log(f'build complete for feed id "{self.feed_id}"')
return []
diff --git a/plugins/FeedSourcePlugin.py b/plugins/FeedSourcePlugin.py
index 2b27ade..2c5a20d 100644
--- a/plugins/FeedSourcePlugin.py
+++ b/plugins/FeedSourcePlugin.py
@@ -1,7 +1,7 @@
-import feedparser # type: ignore
+import feedparser
import time
from datetime import datetime, timezone
-from typing import Any
+from typing import Any, cast
from app.Item import Item, ItemEnclosure, ItemGUID, ItemMediaContent
from app.PluginInterface import Params, PluginInterface
from app.utils import ItemDict, get_config
@@ -28,7 +28,7 @@ class Plugin(PluginInterface):
)
self.log(f'fetching feed "{self.feed_url}"')
- feed: Any = feedparser.parse(self.feed_url) # type: ignore
+ feed: Any = feedparser.parse(self.feed_url)
result_items: list[Item] = []
if "bozo" in feed and feed["bozo"] == 1:
raise Exception(f"{self.log_prefix} malformed XML in feed {self.feed_url}")
@@ -46,7 +46,7 @@ class Plugin(PluginInterface):
d: ItemDict = _d
item_enclosures: list[ItemEnclosure] = []
for _e in d["enclosures"]:
- e: dict[str, str] = _e # type: ignore
+ e = cast(dict[str, str], _e)
item_enclosures.append(
ItemEnclosure(
length=e["length"],
@@ -63,17 +63,17 @@ class Plugin(PluginInterface):
else datetime_1970
)
- link: str = d["link"] # type: ignore
+ link = cast(str, d["link"])
result_items.append(
Item(
- title=d.get("title", None), # type: ignore
+ title=cast(str, d.get("title", None)),
link=link,
- description=d.get("description", None), # type: ignore
- author=d.get("author", None), # type: ignore
+ description=cast(str, d.get("description", None)),
+ author=cast(str, d.get("author", None)),
pub_date=published_datetime,
- category=d.get("category", None), # type: ignore
- comments=d.get("comments"), # type: ignore
+ category=cast(str, d.get("category", None)),
+ comments=cast(str, d.get("comments")),
enclosures=item_enclosures,
guid=ItemGUID(link, is_perma_link=True),
media_content=media_content,