Пример #1
0
    def __init__(self):
        #Info que se desea extraer
        web = "[Idealista]"
        transaccion = "[Alquilar]"
        #transaccion ="[Comprar,Alquilar]"
        tipologia = "[Viviendas]"
        info = "[Inmuebles,Bancos]"
        #info="[Arbol,Inmuebles,Bancos,DetalleInmueble]"

        #Inicializacion del log
        log = Log.initialize("lanzador", web)

        #Ejecucion
        log.info("Mensaje: Lanzando...||Web:" + str(web) + "||Transaccion:" +
                 str(transaccion) + "||Tipologia:" + str(tipologia) +
                 "||Info:" + str(info))
        try:
            Log.close(log)
            os.system("python Orquestador.py %s %s %s %s" %
                      (web, transaccion, tipologia, info))
        except Exception, e:
            log.error("Mensaje: El lanzador no ha funcionado||Error:" + str(e))
            Log.close(log)
Пример #2
0
def main():
    serverAddr = ""
    random.seed()
    # get the command line arguments
    if len(sys.argv) < 3:
        print("Invalid numbers of arguments provided. Please try again")
        sys.exit(1)

    logFileName = sys.argv[1]
    port = sys.argv[2]

    if not port.isdigit() and int(port) < 1024:  # check for valid port number
        print("Please use a port number greater than 1024")
        sys.exit(1)

    port = int(port)
    usedPortNum.append(port)  # append to keep track of which port is in used

    l = Log()  # open the log file
    l.setAndOpenFile(logFileName)

    # open configuration file
    try:
        f = open("ftpserverd.conf", "r")
        allLines = f.readlines()
    except FileNotFoundError:
        print("Cannot find server configuration file.")
        l.log_("Cannot find server configuration file.")
        l.close()
        sys.exit(1)

    configs = {}

    for line in allLines:
        if not line.startswith("#"):
            mode = line.split("=")[0].lower().strip(" ")
            status = line.split("=")[1].upper().strip(" \n")
            configs[mode] = status

    print(configs)
    l.log_(str(configs))

    if configs["port_mode"] == "NO" and configs["pasv_mode"] == "NO":
        print("Fatal error. Both port_mode and part_mode are restricted.")
        l.log_("Fatal error. Both port_mode and part_mode are restricted.")
        l.close()
        sys.exit(1)

    # create socket
    try:
        serverSocket = socket.socket(
            socket.AF_INET,
            socket.SOCK_STREAM)  # create an INET, STREAMing clientSocket
        serverSocket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
        # serverAddr = socket.gethostbyname(socket.gethostname())
        serverAddr = "0.0.0.0"
        print(serverAddr)
        serverSocket.bind(
            (serverAddr, port)
        )  # bind the clientSocket to a public host, and an arbitrary port
        serverSocket.listen(5)  # become a server

    except socket.error as err:
        errMsg = "Socket creation and connection failed with error %s" % (err)
        l.log_(errMsg)
        l.close()
        sys.exit(1)

    # start the server
    while True:
        try:
            clientSocket, address = serverSocket.accept()
            clientAddr = ' '.join(str(v) for v in address)
            l.logConnectionInfo(clientAddr, str(port))
            start_new_thread(
                runServer,
                (clientSocket, serverAddr, clientAddr, port, l, configs))
        except Exception as error:
            l.log_(str(error))
            sys.exit(1)

    l.close()
    serverSocket.close()