def shortener(): shortener_form = ShortenerForm(request.form) short_url = '' if request.method == 'POST' and shortener_form.validate(): full_url = shortener_form.full_url.data logged_in = session.has_key('login') and session['login'] if logged_in: url_hash = make_hash(full_url + session['login']) else: url_hash = make_hash(full_url) short_url = make_short_url(app.config['HOST'], app.config['PORT'], url_hash) if Hash.query.filter_by(url_hash=url_hash).first() == None: if logged_in: user = User.query.filter_by(login=session['login']).first() hash_obj = Hash(url_hash, full_url) user.hashes.append(hash_obj) db.session.commit() else: user = User.query.filter_by(login='******').first() if not user: user = User('not_registered', 'pass') db.session.add(user) hash_obj = Hash(url_hash, full_url) user.hashes.append(hash_obj) db.session.commit() return render_template('shortener.html', short_url=short_url, form=shortener_form)
def put_hash(self, hash, linhas): """Atualiza um hash no banco (mesmo vazio) e anula seu cache. Retorna mensagem consumível pelo sptscraper""" try: self.cache.delete("linhas_por_hash_" + hash) hash_obj = Hash.all().filter("hash =", hash).fetch(1) if hash_obj: hash_obj = hash_obj[0] hash_obj.linhas = linhas else: hash_obj = Hash(hash=hash, linhas=linhas) hash_obj.put() return "OK HASH UPLOAD %s " % id except: return "ERRO HASH: %s" % sys.exc_info()[1]