示例#1
0
 def request_code(self, cr, uid, ids, context=None):
     result = {}
     for move in self.browse(cr, uid, ids, context=context):
         method = move.request_code
         if method not in ("sms", "voice"):
             return self.pool.get('warning_box').info(cr,
                                                      uid,
                                                      title='Request Phone',
                                                      message='error')
         else:
             identity = move.idphone
             identity = Utilities.processIdentity(identity)
             countryCode = move.cc
             login = move.phone
             phoneNumber = login[len(countryCode):]
             wc = WACodeRequestV2(countryCode, phoneNumber, identity,
                                  method)
             result = wc.send()
             result = resultToString(
                 result
             ) + "\n" + "https://coderus.openrepos.net/whitesoft/whatsapp_sms"
             return self.pool.get('warning_box').info(cr,
                                                      uid,
                                                      title='REquest Phone',
                                                      message=result)
     return self.pool.get('warning_box').info(cr,
                                              uid,
                                              title='Request Phone',
                                              message='error')
示例#2
0
 def register(self, cr, uid, ids, context=None):
     result = {}
     for move in self.browse(cr, uid, ids, context=context): 
         code = move.register_code
         code = "".join(code.split('-'))
         identity = move.idphone
         identity = Utilities.processIdentity(identity)
         countryCode = move.cc
         login = move.phone
         phoneNumber = login[len(countryCode):]
         wr = WARegRequestV2(countryCode, phoneNumber, code, identity)
         result = wr.send()
         result = resultToString(result)
     return self.pool.get('warning_box').info(cr, uid, title='Register Phone', message=result)
示例#3
0
 def test_exists(self, cr, uid, ids, context=None):
     for move in self.browse(cr, uid, ids, context=context):
         identity = move.idphone
         identity = Utilities.processIdentity(identity)
         
         countryCode = move.cc
         login = move.phone
         phoneNumber = login[len(countryCode):]
         
         we = WAExistsRequestV2(countryCode, phoneNumber, identity)
         result = we.send()
         print(resultToString(result))
 
         if result["pw"] is not None:
             print("\n=========\nWARNING: %s%s's has changed by server to \"%s\", you must update your config file with the new password\n=========" %(countryCode, phoneNumber, result["pw"]))
示例#4
0
 def register(self, cr, uid, ids, context=None):
     result = {}
     for move in self.browse(cr, uid, ids, context=context):
         code = move.register_code
         code = "".join(code.split('-'))
         identity = move.idphone
         identity = Utilities.processIdentity(identity)
         countryCode = move.cc
         login = move.phone
         phoneNumber = login[len(countryCode):]
         wr = WARegRequestV2(countryCode, phoneNumber, code, identity)
         result = wr.send()
         result = resultToString(result)
     return self.pool.get('warning_box').info(cr,
                                              uid,
                                              title='Register Phone',
                                              message=result)
示例#5
0
    def test_exists(self, cr, uid, ids, context=None):
        for move in self.browse(cr, uid, ids, context=context):
            identity = move.idphone
            identity = Utilities.processIdentity(identity)

            countryCode = move.cc
            login = move.phone
            phoneNumber = login[len(countryCode):]

            we = WAExistsRequestV2(countryCode, phoneNumber, identity)
            result = we.send()
            print(resultToString(result))

            if result["pw"] is not None:
                print(
                    "\n=========\nWARNING: %s%s's has changed by server to \"%s\", you must update your config file with the new password\n========="
                    % (countryCode, phoneNumber, result["pw"]))
示例#6
0
 def request_code(self, cr, uid, ids, context=None):
     result = {}
     for move in self.browse(cr, uid, ids, context=context): 
         method = move.request_code
         if method not in ("sms","voice"):
             return self.pool.get('warning_box').info(cr, uid, title='Request Phone', message='error')   
         else:
             identity = move.idphone
             identity = Utilities.processIdentity(identity)
             countryCode = move.cc
             login = move.phone
             phoneNumber = login[len(countryCode):]
             wc = WACodeRequestV2(countryCode, phoneNumber, identity, method)
             result = wc.send()
             result = resultToString(result) + "\n" + "https://coderus.openrepos.net/whitesoft/whatsapp_sms"
             return self.pool.get('warning_box').info(cr, uid, title='REquest Phone', message=result)
     return self.pool.get('warning_box').info(cr, uid, title='Request Phone', message='error')   
示例#7
0
	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()