Files
intern2020/test2.py
2021-01-11 18:45:03 +00:00

90 lines
2.3 KiB
Python

from flask import Flask
from flask import Flask, Blueprint,render_template, send_from_directory,jsonify, url_for, abort, make_response
from flask import request
from teleflask import Teleflask
from teleflask.messages import TextMessage
from key import API_KEY
import logging
import yaml
import requests
#from bot1.states import CreatePostWorkflow
from pytgbot.api_types.sendable.reply_markup import InlineKeyboardButton,InlineKeyboardMarkup
import os
from bot1.chats import ChatManager
from bot1 import users
from solrfet2020 import SolrFet2020
from slugify import slugify
import wiki
import internfiles
#logging.basicConfig(level=logging.INFO)
URL_HOSTNAME='bot.2020.fet.at'
os.environ['URL_HOSTNAME'] = 'bot.2020.fet.at'
app = Flask(__name__)
chat_id = '108021014'
bot = Teleflask(API_KEY)
bot.init_app(app)
chats=ChatManager(bot.bot)
solr=SolrFet2020()
#app.config['SERVER_NAME'] = 'bot.2020.fet.at'
@app.route('/')
def home():
query=request.args.get("query")
if query:
links,_=solr.search(query)
else:
links=None
return render_template("search.html", query=query, results=links)
@app.route('/send/<chat_id>/<text>')
def send_to(chat_id,text=None):
print("sending:%s" %chat_id)
chats.send(chat_id,text)
return "Text: %s <br> %s" % (text,request.headers)
@app.route('/auth/<user_id>/<token>')
def auth_user(user_id, token):
if user_id in users.data:
print("known user")
u=users[user_id]
if token == u.token:
u.user=request.headers["Remote-User"]
u.fet_user=True
users.to_file()
print("authenticating")
return "development"
app.register_blueprint(wiki.bp)
app.register_blueprint(internfiles.bp)
def download_file(url):
local_filename = url.split('/')[-1]
# NOTE the stream=True parameter below
with requests.get(url, stream=True) as r:
r.raise_for_status()
with open(local_filename, 'wb') as f:
for chunk in r.iter_content(chunk_size=8192):
f.write(chunk)
return local_filename
@bot.on_update
def bot_update(update):
from pytgbot.api_types.receivable.updates import Update
if not isinstance(update, Update): raise TypeError("Update needs to be of Type update")
print(yaml.dump(update.to_array()))
chats.process_update(update)
app.run(host="0.0.0.0",port="5001",debug=True)