this repo has no description

Build out feed_serve_debug and wire up rapidfire.py into it

Changed files
+23
feeds
+5
feeds/__init__.py
···
if feed is not None:
return feed.serve_feed(limit, offset, langs)
def run_tasks_minute(self):
for feed in self.feeds.values():
feed.run_tasks_minute()
···
if feed is not None:
return feed.serve_feed(limit, offset, langs)
+
def serve_feed_debug(self, feed_uri, limit, offset, langs):
+
feed = self.feeds.get(feed_uri)
+
if feed is not None:
+
return feed.serve_feed_debug(limit, offset, langs)
+
def run_tasks_minute(self):
for feed in self.feeds.values():
feed.run_tasks_minute()
+12
feeds/rapidfire.py
···
import os
import apsw
import logging
from . import BaseFeed
···
[*lang_values, limit, offset]
)
return [uri for (uri, create_ts) in cur]
···
import os
import apsw
+
import apsw.ext
import logging
from . import BaseFeed
···
[*lang_values, limit, offset]
)
return [uri for (uri, create_ts) in cur]
+
+
def serve_feed_debug(self, limit, offset, langs):
+
query = (
+
"select count(*) from posts;"
+
"select *, unixepoch('now') from posts order by create_ts desc limit :limit offset :offset;"
+
)
+
bindings = dict(limit=limit, offset=offset)
+
return apsw.ext.format_query_table(
+
self.db_cnx, query, bindings,
+
string_sanitize=2, text_width=9999, use_unicode=False, quote=True
+
)
+6
feedweb.py
···
feed_uri = request.args['feed']
langs = request.accept_languages
posts = manager.serve_feed(feed_uri, limit, offset, langs)
offset += len(posts)
···
feed_uri = request.args['feed']
langs = request.accept_languages
+
+
if request.args.get('debug', '0') == '1':
+
headers = {'Content-Type': 'text/plain; charset=utf-8'}
+
debug = manager.serve_feed_debug(feed_uri, limit, offset, langs)
+
return debug, headers
+
posts = manager.serve_feed(feed_uri, limit, offset, langs)
offset += len(posts)