improve logging and style
This commit is contained in:
parent
0dac28a62b
commit
24b1c052ec
7 changed files with 23 additions and 11 deletions
|
@ -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'),
|
||||||
})
|
})
|
||||||
|
|
|
@ -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():
|
||||||
|
|
|
@ -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'
|
||||||
|
|
||||||
|
|
|
@ -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');
|
||||||
|
|
|
@ -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
|
||||||
|
|
|
@ -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" />
|
||||||
|
|
|
@ -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)
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue