def METHOD_NAME(filename):
    src_zip_file_path = os.path.join(get_backup_path(), filename)
    dest_zip_file_path = os.path.join(get_restore_path(), filename)
    success = False
    try:
        shutil.copy(src_zip_file_path, dest_zip_file_path)
    except OSError:
        logging.exception(f'Unable to copy backup archive to {dest_zip_file_path}')
    else:
        try:
            with ZipFile(dest_zip_file_path, 'r') as zipObj:
                zipObj.extractall(path=get_restore_path())
        except BadZipFile:
            logging.exception(f'Unable to extract files from backup archive {dest_zip_file_path}')
        success = True
    finally:
        try:
            os.remove(dest_zip_file_path)
        except OSError:
            logging.exception(f'Unable to delete backup archive {dest_zip_file_path}')
    if success:
        logging.debug('time to restart')
        from app.server import webserver
        webserver.restart()