improve logging and style

This commit is contained in:
Kyle Mahan 2015-02-04 06:46:30 +00:00
parent 0dac28a62b
commit 24b1c052ec
7 changed files with 23 additions and 11 deletions

View file

@ -19,5 +19,5 @@ def forward_request():
'code': result.status_code, 'code': result.status_code,
'content': result.text, 'content': result.text,
'content-type': result.headers.get('content-type'), 'content-type': result.headers.get('content-type'),
'location': result.url, 'location': result.headers.get('location'),
}) })

View file

@ -3,6 +3,7 @@ from .views import views
from .api import api from .api import api
from config import Config from config import Config
import flask import flask
import logging
def create_app(): def create_app():

View file

@ -4,7 +4,7 @@ from flask.ext.sqlalchemy import SQLAlchemy
db = SQLAlchemy() db = SQLAlchemy()
micropub = MicropubClient(client_id='redwind-reader') micropub = MicropubClient(client_id='http://reader.kylewm.com')
login_mgr = LoginManager() login_mgr = LoginManager()
login_mgr.login_view = 'login' login_mgr.login_view = 'login'

View file

@ -26,7 +26,7 @@ $(function(){
'/_forward', '/_forward',
'_url=' + encodeURIComponent(endpoint) + '&' + form.serialize(), '_url=' + encodeURIComponent(endpoint) + '&' + form.serialize(),
function(result) { function(result) {
if (result.code == 200) { if (Math.floor(result.code / 100) == 2) {
responseArea.html('<a target="_blank" href="' + result.location + '">Success!</a>'); responseArea.html('<a target="_blank" href="' + result.location + '">Success!</a>');
} else { } else {
responseArea.html('Failure'); responseArea.html('Failure');

View file

@ -62,9 +62,9 @@ def update_feed(feed_id):
def process_feed_for_new_entries(session, feed): def process_feed_for_new_entries(session, feed):
try: try:
if feed.type == 'xml': if feed.type == 'xml':
result = process_xml_feed_for_new_entries(session, feed) result = list(process_xml_feed_for_new_entries(session, feed))
elif feed.type == 'html': elif feed.type == 'html':
result = process_html_feed_for_new_entries(session, feed) result = list(process_html_feed_for_new_entries(session, feed))
else: else:
result = None result = None
return result return result

View file

@ -3,15 +3,19 @@
<head> <head>
<meta charset="utf-8" /> <meta charset="utf-8" />
<meta name="viewport" content="width=device-width, initial-scale=1"> <meta name="viewport" content="width=device-width, initial-scale=1">
<title></title> <title>Woodwind</title>
<link rel="stylesheet" href="{{ url_for('static', filename='style.css') }}"/> <link rel="stylesheet" href="{{ url_for('static', filename='style.css') }}"/>
{% block head %}{% endblock %} {% block head %}{% endblock %}
</head> </head>
<body> <body>
<header> <header>
<h1 class="h-x-app">Woodwind</h1>
{% if current_user.is_authenticated() %} {% if current_user.is_authenticated() %}
<div class="logged-in">{{ current_user.domain }}</div> <div class="logged-in">{{ current_user.domain }}
(<a href="{{ url_for('.logout') }}">Logout</a>)
</div>
{% else %} {% else %}
<form action="{{ url_for('.login') }}" method="GET"> <form action="{{ url_for('.login') }}" method="GET">
<input type="text" name="me" placeholder="mydomain.com" /> <input type="text" name="me" placeholder="mydomain.com" />

View file

@ -9,6 +9,7 @@ import mf2py
import mf2util import mf2util
import requests import requests
import urllib import urllib
import cgi
views = flask.Blueprint('views', __name__) views = flask.Blueprint('views', __name__)
@ -74,6 +75,12 @@ def edit_feed():
return flask.redirect(flask.url_for('.feeds')) return flask.redirect(flask.url_for('.feeds'))
@views.route('/logout')
def logout():
flask_login.logout_user()
return flask.redirect(flask.url_for('.index'))
@views.route('/login') @views.route('/login')
def login(): def login():
me = flask.request.args.get('me') me = flask.request.args.get('me')
@ -81,7 +88,7 @@ def login():
return micropub.authorize( return micropub.authorize(
me, flask.url_for('.login_callback', _external=True), me, flask.url_for('.login_callback', _external=True),
next_url=flask.request.args.get('next'), next_url=flask.request.args.get('next'),
scope='write') scope='post')
return flask.render_template('login.jinja2') return flask.render_template('login.jinja2')
@ -89,11 +96,11 @@ def login():
@micropub.authorized_handler @micropub.authorized_handler
def login_callback(resp): def login_callback(resp):
if not resp.me: if not resp.me:
flask.flash('Login error: ' + resp.error) flask.flash(cgi.escape('Login error: ' + resp.error))
return flask.redirect(flask.url_for('.login')) return flask.redirect(flask.url_for('.login'))
if resp.error: if resp.error:
flask.flash('Warning: ' + resp.error) flask.flash(cgi.escape('Warning: ' + resp.error))
domain = urllib.parse.urlparse(resp.me).netloc domain = urllib.parse.urlparse(resp.me).netloc
user = load_user(domain) user = load_user(domain)
@ -129,7 +136,7 @@ def subscribe():
feeds = find_possible_feeds(origin) feeds = find_possible_feeds(origin)
if not feeds: if not feeds:
flask.flash('No feeds found for: ' + origin) flask.flash('No feeds found for: ' + origin)
return flask.redirect(flask.url_for('.subscribe')) return flask.redirect(flask.url_for('.index'))
if len(feeds) > 1: if len(feeds) > 1:
return flask.render_template( return flask.render_template(
'select-feed.jinja2', origin=origin, feeds=feeds) 'select-feed.jinja2', origin=origin, feeds=feeds)