Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- from flask import Flask, redirect, render_template, request, session
- import cPickle as pickle
- import random
- import string
- import markovify
- import memcache
- import sys
- import zlib
- app = Flask(__name__)
- app.secret_key = open(".secret_key", "rb").read()
- cache = memcache.Client(["127.0.0.1:11211"], server_max_value_length=1024*1024*50)
- if not cache.get("model"):
- print "Caching model."
- text = open("static/data.txt", "r").read()
- model = markovify.Text(text)
- response = cache.set("model", zlib.compress(pickle.dumps(model)))
- if response:
- print "Model cached."
- else:
- print "Could not cache model. Too large?"
- else:
- print "Using model in cache."
- decompressed = zlib.decompress(cache.get("model"))
- model = pickle.loads(decompressed)
- print "Done"
- @app.route("/", methods=["GET", "POST"])
- def index():
- return render_template("index.html")
- def random_string(length=5):
- return "".join([random.choice(string.ascii_letters) for x in xrange(length)])
- @app.route("/frcgen", methods=["GET", "POST"])
- def frcgen():
- global model
- sentence = model.make_sentence()
- while sentence is None:
- sentence = model.make_sentence()
- return render_template("frcgen.html", sentence=sentence)
- if __name__ == "__main__":
- app.debug = True
- app.run(host="0.0.0.0", port=5000)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement