PyFunceble/auto_continue.py
def restore(self):
        """
        Restore data from the given path.
        """

        if PyFunceble.CONFIGURATION["auto_continue"] and self.backup_content:
            # The auto_continue subsystem is activated and the backup_content
            # is not empty.

            # We get the file we have to restore.
            file_to_restore = PyFunceble.INTERN["file_to_test"]

            if file_to_restore in self.backup_content:
                # The file we are working with is already into the backup content.

                # We initiate the different status to set.
                to_initiate = ["up", "down", "invalid", "tested"]

                # Because at some time it was not the current status, we have to map
                # the new with the old. This way, if someone is running the latest
                # version but with old data, we still continue like nothing happend.
                alternatives = {
                    "up": "number_of_up",
                    "down": "number_of_down",
                    "invalid": "number_of_invalid",
                    "tested": "number_of_tested",
                }

                for string in to_initiate:
                    # We loop over the status we have to initiate.

                    try:
                        # We try to update the counters by using the currently read status.
                        PyFunceble.INTERN["counter"]["number"].update(
                            {string: self.backup_content[file_to_restore][string]}
                        )
                    except KeyError:
                        # But if the status is not present, we try with the older index
                        # we mapped previously.
                        PyFunceble.INTERN["counter"]["number"].update(
                            {
                                string: self.backup_content[file_to_restore][
                                    alternatives[string]
                                ]
                            }
                        )
def restore(self):
        if PyFunceble.CONFIGURATION["auto_continue"] and self.backup_content:
            # The auto_continue subsystem is activated and the backup_content
            # is not empty.

            # We get the file we have to restore.
            file_to_restore = PyFunceble.INTERN["file_to_test"]

            if file_to_restore in self.backup_content:
                # The file we are working with is already into the backup content.

                # We initiate the different status to set.
                to_initiate = ["up", "down", "invalid", "tested"]

                # Because at some time it was not the current status, we have to map
                # the new with the old. This way, if someone is running the latest
                # version but with old data, we still continue like nothing happend.
                alternatives = {
                    "up": "number_of_up",
                    "down": "number_of_down",
                    "invalid": "number_of_invalid",
                    "tested": "number_of_tested",
                }

                for string in to_initiate:
                    # We loop over the status we have to initiate.

                    try:
                        # We try to update the counters by using the currently read status.
                        PyFunceble.INTERN["counter"]["number"].update(
                            {string: self.backup_content[file_to_restore][string]}
                        )
                    except KeyError:
                        # But if the status is not present, we try with the older index
                        # we mapped previously.
                        PyFunceble.INTERN["counter"]["number"].update(
                            {
                                string: self.backup_content[file_to_restore][
                                    alternatives[string]
                                ]
                            }
                        )
def restore ( self ) : if PyFunceble . CONFIGURATION [ "auto_continue" ] and self . backup_content : # The auto_continue subsystem is activated and the backup_content # is not empty. # We get the file we have to restore. file_to_restore = PyFunceble . INTERN [ "file_to_test" ] if file_to_restore in self . backup_content : # The file we are working with is already into the backup content. # We initiate the different status to set. to_initiate = [ "up" , "down" , "invalid" , "tested" ] # Because at some time it was not the current status, we have to map # the new with the old. This way, if someone is running the latest # version but with old data, we still continue like nothing happend. alternatives = { "up" : "number_of_up" , "down" : "number_of_down" , "invalid" : "number_of_invalid" , "tested" : "number_of_tested" , } for string in to_initiate : # We loop over the status we have to initiate. try : # We try to update the counters by using the currently read status. PyFunceble . INTERN [ "counter" ] [ "number" ] . update ( { string : self . backup_content [ file_to_restore ] [ string ] } ) except KeyError : # But if the status is not present, we try with the older index # we mapped previously. PyFunceble . INTERN [ "counter" ] [ "number" ] . update ( { string : self . backup_content [ file_to_restore ] [ alternatives [ string ] ] } )
Restore data from the given path.
Restore data from the given path .