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,
'content': result.text,
'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 config import Config
import flask
import logging
def create_app():

View file

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

View file

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

View file

@ -62,9 +62,9 @@ def update_feed(feed_id):
def process_feed_for_new_entries(session, feed):
try:
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':
result = process_html_feed_for_new_entries(session, feed)
result = list(process_html_feed_for_new_entries(session, feed))
else:
result = None
return result

View file

@ -3,15 +3,19 @@
<head>
<meta charset="utf-8" />
<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') }}"/>
{% block head %}{% endblock %}
</head>
<body>
<header>
<h1 class="h-x-app">Woodwind</h1>
{% 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 %}
<form action="{{ url_for('.login') }}" method="GET">
<input type="text" name="me" placeholder="mydomain.com" />

View file

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