def __init__(self, fichero): parser = make_parser() cHandler = XMLHandler() parser.setContentHandler(cHandler) try: parser.parse(open(fichero)) except FileNotFoundError: print("->Fichero xml no encontrado") self.diccionario = cHandler.get_tags()
def __init__(self, fichero): parser = make_parser() cHandler = XMLHandler() parser.setContentHandler(cHandler) try: parser.parse(open(fichero)) except FileNotFoundError: print("---->Fichero no encontrado") self.diccionario = cHandler.get_tags()
if __name__ == "__main__": """ Programa principal """ try: CONFIG = sys.argv[1] METHOD = sys.argv[2].upper() OPTION = sys.argv[3] except IndexError: sys.exit("Usage: python uaclient.py config method option") parser = make_parser() cHandler = XMLHandler() parser.setContentHandler(cHandler) parser.parse(open(CONFIG)) UA = cHandler.get_tags() # Creamos el socket, lo configuramos y lo atamos a un servidor/puerto my_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) my_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) my_socket.connect((UA['regproxy_ip'], int(UA['regproxy_puerto']))) TO = UA['regproxy_ip'] + ':' + UA['regproxy_puerto'] # Enviamos diferentes cosas según el método if METHOD == "REGISTER": try: OPTION = int(OPTION) except ValueError: sys.exit("Usage: int OPTION Required") LINE = UA['account_username'] + ":" + UA['uaserver_puerto'] EXPIRES = "Expires: " + str(OPTION) + '\r\n\r\n' SEND = METHOD + " sip:" + LINE + " SIP/2.0\r\n" + EXPIRES print "Enviado:\r\n" + METHOD + " sip:" + LINE + " SIP/2.0\n" + EXPIRES
METHOD1 = sys.argv[2] METHOD = METHOD1.upper() OPTION = sys.argv[3] except: sys.exit("Usage: python uaclient.py config method option") try: if os.path.exists(CONFIG) is False: sys.exit("This name of file doesn´t exist") # Sacamos los datos del xml parser = make_parser() cHandler = XMLHandler() parser.setContentHandler(cHandler) parser.parse(open(CONFIG)) lista = cHandler.get_tags() # Meto los valores del xml en variables USER_NAME = lista[0]['account']['username'] PASSWD = lista[0]['account']['passwd'] UASERVER_IP = lista[1]['uaserver']['ip'] UASERVER_PORT = lista[1]['uaserver']['puerto'] PORT_AUDIO = lista[2]['rtpaudio']['puerto'] IP_PROXY = lista[3]['regproxy']['ip'] PORT_PROXY = lista[3]['regproxy']['puerto'] PATH_LOG = lista[4]['log']['path'] PATH_AUDIO = lista[5]['audio']['path'] except IndexError: sys.exit("Usage: python uaclient.py config method option")
# Comprobamos que se introducen datos correctos if len(sys.argv) != 4: sys.exit("Usage: python uaclient.py config method option") try: CONFIG = sys.argv[1] METOD = sys.argv[2].upper() OPTION = sys.argv[3] except Exception: sys.exit("Usage: python uaclient.py config method option") # lectura de fichero xml parser = make_parser() cHandler = XMLHandler() parser.setContentHandler(cHandler) parser.parse(open(CONFIG)) UA = cHandler.get_tags() # Creamos el socket, lo configuramos y lo atamos a un servidor/puerto my_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) my_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) my_socket.connect((UA["regproxy_ip"], int(UA["regproxy_puerto"]))) PROXY = UA["regproxy_ip"] + ":" + UA["regproxy_puerto"] # Mandamos información en función del método if METOD == "REGISTER": try: OPTION = int(OPTION) except ValueError: sys.exit("Usage: int OPTION Required") if OPTION > 0: Log().Log(UA["log_path"], "init/end", " ", "Starting...") USER = UA["account_username"] + ":" + UA["uaserver_puerto"] EXPIRES = "Expires:" + str(OPTION) + "\r\n"
print 'Usage: python uaclient.py config method option' raise SystemExit except ValueError: sys.exit('Usage: python uaclient.py config method option') except IndexError: sys.exit('Usage: python uaclient.py config method option') # PARSEAR parser = make_parser() small = XMLHandler() parser.setContentHandler(small) try: parser.parse(open(FICH)) except IOError: sys.exit('Usage: python uaclient.py config method option') dicc = small.get_tags() # Creamos log log_fich = dicc['log_path'] log = LogClass(log_fich) # Creamos socket my_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) my_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) # REGISTER print METODO if METODO == 'REGISTER': # Log log.introducir(' Starting...', '', '', '')
print 'Usage: python uaclient.py config method option' raise SystemExit except ValueError: sys.exit('Usage: python uaclient.py config method option') except IndexError: sys.exit('Usage: python uaclient.py config method option') # PARSEAR parser = make_parser() small = XMLHandler() parser.setContentHandler(small) try: parser.parse(open(FICH)) except IOError: sys.exit('Usage: python uaclient.py config method option') dicc = small.get_tags() # Creamos log log_fich = dicc['log_path'] log = LogClass(log_fich) # Creamos socket my_socket = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) my_socket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1) # REGISTER print METODO if METODO == 'REGISTER': # Log log.introducir(' Starting...', '', '', '')
try: FichConfig = sys.argv[1] # Fichero XML if not os.access(FichConfig, os.F_OK): # Devuelve True si está el fich sys.exit('Usage: python uaclient.py config method option') METHOD = sys.argv[2].upper() OPTION = sys.argv[3] except IndexError: sys.exit('Usage: python uaclient.py config method option') except ValueError: sys.exit('Usage: python uaclient.py config method option') parser = make_parser() Handler = XMLHandler() parser.setContentHandler(Handler) parser.parse(open(FichConfig)) Dicc = Handler.get_tags() # Diccionario con los atributos del fichero xml NAME = Dicc['account_username'] UAS_IP = Dicc['uaserver_ip'] UA_PORT = Dicc['uaserver_puerto'] RTP_PORT = Dicc['rtpaudio_puerto'] PR_IP = Dicc['regproxy_ip'] PR_PORT = Dicc['regproxy_puerto'] LOG = Dicc['log_path'] SONG = Dicc['audio_path'] PSSWRD = Dicc['account_passwd'] # Contenido que vamos a enviar if METHOD == 'REGISTER': Line = METHOD + ' sip:' + NAME + ':' + UA_PORT + ' SIP/2.0\r\n' Body = 'Expires: ' + OPTION + '\r\nPassword: '******'\r\n\r\n'
fun_check.update(bytes(nonce, 'utf-8')) fun_check.update(bytes(passwd, 'utf-8')) fun_check.digest() return fun_check.hexdigest() if __name__ == "__main__": try: METHOD = str.upper(sys.argv[2]) CONFIG = sys.argv[1] OPTION = sys.argv[3] parser = make_parser() Handler = XMLHandler() parser.setContentHandler(Handler) parser.parse(open(CONFIG)) configtags = Handler.get_tags() except IndexError: sys.exit('Usage: ' + 'python3 uaclient.py config method option') except FileNotFoundError: sys.exit('File not found') username = configtags[0][1]['username'] passwd = configtags[0][1]['passwd'] uaserv_ip = configtags[1][1]['ip'] if uaserv_ip == '': uaserv_ip = "127.0.0.1" uaserv_port = str(configtags[1][1]['puerto']) audio_port = (configtags[2][1]['puerto']) proxy_ip = configtags[3][1]['ip'] proxy_port = int(configtags[3][1]['puerto']) file_log = configtags[4][1]['path']