from db import * from flask import * import json from werkzeug.contrib.cache import MemcachedCache from werkzeug.contrib.atom import AtomFeed from mwapi import MWApi app = Flask(__name__) app.debug = True setup_app(app) cache = MemcachedCache(['127.0.0.1:11211']) api = MWApi("http://en.wikipedia.org") @app.route('/issues') def first_issues(): issues_data = cache.get("all_issues") if not issues_data: issues = Issue.query.order_by(Issue.date.desc()).all() data = [issue.serialize() for issue in issues] issues_data = json.dumps(data) cache.set("all_issues", issues_data) return (issues_data, 200, {'Content-Type': 'application/json'}) @app.route('/issues/<int:offset>') def issues(offset): # Stub, here because I'm lazy
from datetime import datetime from dateutil import parser from mwapi import MWApi import codecs import requests import urllib2 import re from flask import Flask from db import * START_YEAR = 2005 CUR_YEAR = datetime.now().year api = MWApi('http://en.wikipedia.org') def content_for_title(title): title = urllib2.unquote(title) data = api.get(action='parse', page=title, redirects=1, prop='text')['parse'] text = data['text']['*'] return text def get_subpages(prefix, namespace): pages = api.get(action='query', list='allpages', apprefix=prefix, apnamespace=namespace,