def disconnected(gui): gui.socketStatus = "disconnected" ConnectionUtils.disconnect(gui) if gui.configList["reconnectMode"] == 'auto': TabUtils.writeMessage(gui,"Lost the connection, trying to reconnect automaticly") ConnectionUtils.connect(gui) else: TabUtils.writeMessage(gui,"Lost the connection. Use /connect IP to connect manually")
def connect(argument,gui): if(gui.socketStatus == "disconnected"): if gui.configList["ipAdress"] != argument[1]: TabUtils.deleteAllTabs(gui) TabUtils.clearWindowList(gui.windowList) gui.configList["ipAdress"] = argument[1] ConnectionUtils.connect(gui) else: if argument[1] == gui.configList["ipAdress"]: TabUtils.writeMessage(gui,"You are already connected to " +argument[1]) else: ConnectionUtils.disconnect(gui) TabUtils.deleteAllTabs(gui) TabUtils.clearWindowList(gui.windowList) gui.configList["ipAdress"] = argument[1] if gui.configList["reconnectMode"] != "auto": gui.master.after(100,ConnectionUtils.connect,gui) gui.message.delete(0,END)
def __init__(self,master): self.master = master Gstyle = ttk.Style() Gstyle.configure("TNotebook", background="#121A16", borderwidth=0) Gstyle.configure("TNotebook.Tab", background='#545854',foreground="black",borderwidth=1) self.nb = ttk.Notebook(master,style='TNotebook') self.nb.place(x=122, y=0) self.userWindow = Listbox(master, width=15,height=24) self.userWindow.config(background="#121A16",foreground="#00EB00",highlightthickness=0) self.userWindow.place(x=0,y=23) self.roomWindow = Listbox(master, width=15,height=24) self.roomWindow.config(background="#121A16",foreground="#00EB00",highlightthickness=0) self.roomWindow.place(x=689,y=23) self.roomLabel = Label(master,text="Available Rooms",font=("Helvetica",10)) self.roomLabel.config(background="#121A16",foreground="#00EB00") self.roomLabel.place(x=695,y=0) self.userLabel = Label(master,text="Users",font=("Helvetica",10)) self.userLabel.config(background="#121A16",foreground="#00EB00") self.userLabel.place(x=30,y=0) self.temp = StringVar() self.message = Entry(master,width=70,textvariable = self.temp) self.message.config(background = "#121A16",foreground="#00EB00",insertbackground="#00EB00") self.message.place(x=123,y=388) self.message.bind('<Return>',self.sendMessage) self.windowList = {} self.userList = {} self.rooms = {} self.configList = {} self.userList["global"] = [''] self.socketStatus = "disconnected" self.initiateConfig() self.currentTab = "global" self.nb.bind_all("<<NotebookTabChanged>>", lambda e: TabUtils.tabChangedEvent(e,gui)) self.serverSocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM) self.master.protocol('WM_DELETE_WINDOW', lambda: ConnectionUtils.closeClient(self)) self.menues = Menues(self) TabUtils.addTab(self,"global")
def checkConnectQueue(gui,thread): """ Parses the result from a connection attempt. Keyword arguments: thread - The thread attempting to connect. """ result = thread.returnQueue() if (result == "empty"): gui.master.after(500,checkConnectQueue,gui,thread) elif (result == "Connected"): gui.message.config(state=NORMAL) gui.socketStatus = "ok" TabUtils.writeMessage(gui,"You are now connected to " + gui.configList["ipAdress"] + "!") gui.Start() gui.menues = Menues(gui) ConnectionUtils.sendUserName(gui) ConnectionUtils.timeout_update(gui) gui.message.delete(0,END) if gui.configList["restoreTabs"] == "auto" and len(gui.windowList) > 1: TabUtils.restoreTabs(gui) else: TabUtils.deleteAllTabs(gui) TabUtils.clearWindowList(gui.windowList) elif (result == "Failed"): TabUtils.writeMessage(gui,"Connection failed, use /connect IP to try again") gui.message.config(state=NORMAL) gui.message.delete(0,END) else: TabUtils.writeMessage(gui,"No response from server. New attempt in " + gui.configList["delay"] + " seconds. " + str(result) + " attempts left") gui.master.after(2000,checkConnectQueue,gui,thread)
from flask import Flask, jsonify, make_response, request import uuid import datetime import time import ConnectionUtils import Constants import hashlib import markdown import jwt app = Flask(__name__) app.config['SECRET'] = Constants.secret_key connection = ConnectionUtils.connection() while True: connection = ConnectionUtils.connection() if connection: break print("Waiting 10s for reconnect...") time.sleep(10) def get_user_by_token(token): cur = connection.cursor() cur.execute( "select user_id from sessions where token=%s and due_date < %s < start_date", (token, datetime.datetime.utcnow())) try: user_id = cur.fetchone() return user_id[0] except: return ''
def initiateConnection(self): ConnectionUtils.connect(self)