Ejemplo n.º 1
0
    def update_server(self, addr):
        ping = MasterServer.pingServer(addr)
        if not ping:
            if addr in self.server_info:
                if 'new' not in self.server_info[addr]:
                    self.callback_server_close(addr)

                del(self.server_info[addr])
            return False

        details = MasterServer.getServerDetails(addr)
        if not details:
            if addr in self.server_info:
                if 'new' not in self.server_info[addr]:
                    self.callback_server_close(addr)

                del(self.server_info[addr])
            return False

        for key, val in ping.items() + details.items():
            if key in self.server_info[addr]:
                oldval = self.server_info[addr][key]

                if oldval != val:
                    self.callback_detail_change(addr, key, oldval, val)

            self.server_info[addr][key] = val

        if 'new' in self.server_info[addr].keys():
            self.callback_new_server(addr)
            del(self.server_info[addr]['new'])

        return self.server_info[addr]
Ejemplo n.º 2
0
    def update_server(self, addr):
        ping = MasterServer.pingServer(addr)
        if not ping:
            if addr in self.server_info:
                if 'new' not in self.server_info[addr]:
                    self.callback_server_close(addr)

                del (self.server_info[addr])
            return False

        details = MasterServer.getServerDetails(addr)
        if not details:
            if addr in self.server_info:
                if 'new' not in self.server_info[addr]:
                    self.callback_server_close(addr)

                del (self.server_info[addr])
            return False

        for key, val in ping.items() + details.items():
            if key in self.server_info[addr]:
                oldval = self.server_info[addr][key]

                if oldval != val:
                    self.callback_detail_change(addr, key, oldval, val)

            self.server_info[addr][key] = val

        if 'new' in self.server_info[addr].keys():
            self.callback_new_server(addr)
            del (self.server_info[addr]['new'])

        return self.server_info[addr]
Ejemplo n.º 3
0
    def update_server_list(self):
        server_list = MasterServer.getServerList()
        if not server_list: # Master server didn't answer
            return None

        for addr in server_list:
            if addr not in self.server_info:
                self.server_info[addr] = dict() # new server
                self.server_info[addr]['new'] = True

        for addr in self.server_info.keys():
            self.update_server(addr)
Ejemplo n.º 4
0
    def update_server_list(self):
        server_list = MasterServer.getServerList()
        if not server_list:  # Master server didn't answer
            return None

        for addr in server_list:
            if addr not in self.server_info:
                self.server_info[addr] = dict()  # new server
                self.server_info[addr]['new'] = True

        for addr in self.server_info.keys():
            self.update_server(addr)
        ip = request.remote_addr

        docs = masterServer.process("ADD", {
            "url": url,
            "text": text,
            "email": email,
            "pwd": pwd
        }, ip)

        if docs != "SERVER_DOWN":
            if docs == "NO_USER_FOUND":
                return "NO_USER_FOUND"
            elif docs == "SUCCESSFULLY_ADDED":
                return "SUCCESSFULLY_ADDED"
        else:
            return "SERVER_DOWN"


if __name__ == "__main__":
    masterServer = MasterServer()
    s = SlaveServerSetup(masterServer)
    s.start()
    configObject = configparser.ConfigParser()
    thisfolder = os.path.dirname(os.path.abspath(__file__))
    path = os.path.join(thisfolder, 'conf.ini')
    configObject.read(path)
    flaskServerIp = configObject.get('configuration', 'master-server-ip')
    flaskServerPort = int(
        configObject.get('configuration', 'flask-server-port'))
    app.run(host=flaskServerIp, port=flaskServerPort, debug=False)