def __init__(self,cc, p_in, idx, method="sms"): super(WACodeRequest,self).__init__(); self.p_in = p_in #number self.addParam("cc", cc); self.addParam("in", p_in); self.addParam("lc", "US"); self.addParam("lg", "en"); self.addParam("mcc", "000"); self.addParam("mnc", "000"); self.addParam("method", method); self.addParam("id", idx) self.currentToken = Utilities.readToken() if self.currentToken: print("Read token from %s " % os.path.expanduser(Constants.tokenStorage)) else: self.currentToken = Constants.tokenData self.addParam("token", self.getToken(p_in, self.currentToken["t"])) self.url = "v.whatsapp.net/v2/code" self.pvars = ["status","reason","length", "method", "retry_after", "code", "param"] +\ ["login", "pw", "type", "expiration", "kind", "price", "cost", "currency", "price_expiration"] self.setParser(JSONResponseParser())
def getUserAgent(self): tokenData = Utilities.readToken() if tokenData: agent = tokenData["u"] else: agent = Constants.tokenData["u"] return agent
def getUserAgent(self): tokenData = Utilities.readToken() if tokenData: agent = tokenData["u"] else: agent = Constants.tokenData["u"] return agent
def auth(self, username, password): self._d(">>>>>>>> AUTH CALLED") username = str(username) #password = str(password) #traceback.print_stack() self.lock.acquire() if self.state == 0 : if self.readerThread.isAlive(): raise Exception("TWO READER THREADS ON BOARD!!") self.readerThread = ReaderThread() self.readerThread.autoPong = self.autoPong self.readerThread.setSignalInterface(self.signalInterface) yAuth = YowsupAuth(ConnectionEngine()) try: self.state = 1 tokenData = Utilities.readToken() resource = tokenData["r"] if tokenData else Constants.tokenData["r"] connection = yAuth.authenticate(username, password, Constants.domain, resource) except socket.gaierror: self._d("DNS ERROR") self.readerThread.sendDisconnected("dns") #self.signalInterface.send("disconnected", ("dns",)) self.lock.release() self.state = 0 return 0 except socket.error: self._d("Socket error, connection timed out") self.readerThread.sendDisconnected("closed") #self.signalInterface.send("disconnected", ("closed",)) self.lock.release() self.state = 0 return 0 except ConnectionClosedException: self._d("Conn closed Exception") self.readerThread.sendDisconnected("closed") #self.signalInterface.send("disconnected", ("closed",)) self.lock.release() self.state = 0 return 0 if not connection: self.state = 0 self.signalInterface.send("auth_fail", (username, "invalid")) self.lock.release() return 0 self.state = 2 self.socket = connection self.jid = self.socket.jid #@@TODO REPLACE PROPERLY self.out = self.socket.writer self.readerThread.setSocket(self.socket) self.readerThread.disconnectedCallback = self.onDisconnected self.readerThread.onPing = self.sendPong self.readerThread.ping = self.sendPing self.signalInterface.send("auth_success", (username,)) self.lock.release()
def auth(self, username, password): self._d(">>>>>>>> AUTH CALLED") username = str(username) #password = str(password) #traceback.print_stack() self.lock.acquire() if self.state == 0 : if self.readerThread.isAlive(): raise Exception("TWO READER THREADS ON BOARD!!") self.readerThread = ReaderThread() self.readerThread.autoPong = self.autoPong self.readerThread.setSignalInterface(self.signalInterface) yAuth = YowsupAuth(ConnectionEngine()) try: self.state = 1 tokenData = Utilities.readToken() resource = tokenData["r"] if tokenData else Constants.tokenData["r"] connection = yAuth.authenticate(username, password, Constants.domain, resource) except socket.gaierror: self._d("DNS ERROR") self.readerThread.sendDisconnected("dns") #self.signalInterface.send("disconnected", ("dns",)) self.lock.release() self.state = 0 return 0 except socket.error: self._d("Socket error, connection timed out") self.readerThread.sendDisconnected("closed") #self.signalInterface.send("disconnected", ("closed",)) self.lock.release() self.state = 0 return 0 except ConnectionClosedException: self._d("Conn closed Exception") self.readerThread.sendDisconnected("closed") #self.signalInterface.send("disconnected", ("closed",)) self.lock.release() self.state = 0 return 0 if not connection: self.state = 0 self.signalInterface.send("auth_fail", (username, "invalid")) self.lock.release() return 0 self.state = 2 self.socket = connection self.jid = self.socket.jid #@@TODO REPLACE PROPERLY self.out = self.socket.writer self.readerThread.setSocket(self.socket) self.readerThread.disconnectedCallback = self.onDisconnected self.readerThread.onPing = self.sendPong self.readerThread.ping = self.sendPing self.signalInterface.send("auth_success", (username,)) self.lock.release()