diff options
author | Matt Singleton <matt@xcolour.net> | 2017-10-16 19:07:58 -0400 |
---|---|---|
committer | Matt Singleton <matt@xcolour.net> | 2017-10-16 19:07:58 -0400 |
commit | 4503c880fdf898de21d609f475d1ac4744975d27 (patch) | |
tree | c2e1003ad42236b2c0fda4002b687fff1db2256f | |
parent | 9b1d5f761b4e506154536388ef3363ea4a929d2b (diff) |
make the crawl log available via a secret link
-rwxr-xr-x | unbiased/html_template/unbiased.css | 6 | ||||
-rw-r--r-- | unbiased/html_template/unbiased.jinja.html | 2 | ||||
-rwxr-xr-x | unbiased/main.py | 16 |
3 files changed, 20 insertions, 4 deletions
diff --git a/unbiased/html_template/unbiased.css b/unbiased/html_template/unbiased.css index dc99ab7..fbbdad2 100755 --- a/unbiased/html_template/unbiased.css +++ b/unbiased/html_template/unbiased.css @@ -52,6 +52,12 @@ hr { color: #cc6;
}
+#timestamp a {
+ color: inherit;
+ text-decoration: inherit;
+ cursor: inherit;
+}
+
#top-stories {
max-width: 900px;
display: flex;
diff --git a/unbiased/html_template/unbiased.jinja.html b/unbiased/html_template/unbiased.jinja.html index 0d191e7..37f0014 100644 --- a/unbiased/html_template/unbiased.jinja.html +++ b/unbiased/html_template/unbiased.jinja.html @@ -15,7 +15,7 @@ <div id="page-header"> <span id="title-1" class="title">un</span><span id="title-2" class="title">biased</span><br /> <span id="subtitle">a different way to read the news</span> - <p id="timestamp">Last updated: {{ timestamp }}</p> + <p id="timestamp"><a href="log.txt">Last updated: {{ timestamp }}</a></p> </div> <div id="top-stories"> diff --git a/unbiased/main.py b/unbiased/main.py index a0caa5e..cf478dc 100755 --- a/unbiased/main.py +++ b/unbiased/main.py @@ -36,10 +36,15 @@ logging_config = { 'maxBytes': 1024 * 1024, 'backupCount': 3, }, + 'web': { + 'class': 'logging.StreamHandler', + 'level': 'INFO', + 'formatter': 'file', + }, }, 'loggers': { 'unbiased': { - 'handlers': ['console', 'file'], + 'handlers': ['console', 'file', 'web'], }, }, 'root': { @@ -64,13 +69,17 @@ def main(): del logging_config['handlers']['file'] if args.debug: logging_config['handlers']['console']['level'] = 'DEBUG' + web_log_stream = io.StringIO() + logging_config['handlers']['web']['stream'] = web_log_stream logging.config.dictConfig(logging_config) crawl_frequency = 600 while True: + web_log_stream.seek(0) + web_log_stream.truncate() logger.info('Starting crawl') start = time.time() - run(args.webroot, args.sources, args.debug) + run(args.webroot, args.sources, web_log_stream, args.debug) finish = time.time() runtime = finish - start sleeptime = crawl_frequency - runtime @@ -81,7 +90,7 @@ def main(): time.sleep(sleeptime) -def run(webroot, source_names, debug_mode=False): +def run(webroot, source_names, web_log_stream, debug_mode=False): logger.debug('Running with webroot="{}" for sources="{}"'.format(webroot, source_names)) @@ -133,6 +142,7 @@ def run(webroot, source_names, debug_mode=False): output_html = buildOutput(top_stories, middle_stories, bottom_stories) output_html = io.BytesIO(output_html.encode('utf8')) files_to_write['index.html'] = output_html + files_to_write['log.txt'] = io.BytesIO(web_log_stream.getvalue().encode('utf8')) write_files(files_to_write, webroot) write_static_files(webroot) |