- commit
- ae809ce9b45243eae5d93eb9183d6aecc7af8f55
- parent
- a4360714725ed064a866d95dddbf6f20ce775f33
- Author
- Tobias Bengfort <tobias.bengfort@gmx.net>
- Date
- 2014-09-25 17:38
server side cache
Diffstat
| M | server.py | 12 | +++++++++++- |
1 files changed, 11 insertions, 1 deletions
diff --git a/server.py b/server.py
@@ -5,12 +5,14 @@ from time import mktime, time 5 5 import argparse 6 6 7 7 from flask import Flask, request, jsonify, abort, render_template -1 8 from werkzeug.contrib.cache import SimpleCache 8 9 9 10 import feedparser 10 11 from bs4 import BeautifulSoup 11 12 12 13 13 14 app = Flask(__name__) -1 15 cache = SimpleCache() 14 16 15 17 16 18 def strip_atts(s): @@ -54,13 +56,21 @@ def parse(url): 54 56 } 55 57 56 58 -1 59 def cachedParse(url, timeout=5 * 60): -1 60 data = cache.get(url) -1 61 if data is None: -1 62 data = parse(url) -1 63 cache.set(url, data, timeout=timeout) -1 64 return data -1 65 -1 66 57 67 @app.route('/parse', methods=['GET']) 58 68 def main(): 59 69 if 'url' in request.values: 60 70 url = request.values['url'] 61 71 62 72 try:63 -1 data = parse(url)-1 73 data = cachedParse(url) 64 74 except Exception as err: 65 75 print(err) 66 76 data = {}