def __delitem__(self, trainer_ind): if trainer_ind < 0 or trainer_ind >= len(self.__trainers): try: Log.INF( "Тренер по индексу {} не найден в Gym".format(trainer_ind)) print("Trainer {} not found in list".format(trainer_ind)) except IndexError: print("Oops") else: Log.INF("Тренер по индексу {} удалён из Gym".format(trainer_ind)) return self.__trainers.pop(trainer_ind)
def get_training(self, key): if key in self.__training_log: Log.INF("Тренировка получена") return key + " - " + self.__training_log[key] else: Log.ERR("Тренировка не найдена") print("{} not found in training parameters".format(key))
def add_training(self, data, time): if data in self.__training_log: Log.ERR("Тренировка уже есть в расписании") print("{} already exists in training log".format(data)) else: Log.INF("Тренировка добавлена") self.__training_log[data] = time
def remove_training_in_schedule(self, data): if data in self.__schedule.keys(): Log.INF("Тренировка удалена из расписания") del self.__schedule[data] else: Log.ERR("Тренировка не найдена") print("{} not found in schedule".format(data))
def edit_training_in_schedule(self, data, time): if data in self.__schedule.keys(): Log.INF("Тренировка изменена в расписании") self.__schedule[data] = time else: Log.ERR("Тренировка не найдена") print("{} not found in schedule".format(data))
def __setitem__(self, key, value): if key < len(self.__trainers): Log.INF("Тренер по индексу {} изменён в Gym".format(key)) self.__trainers[key] = value else: Log.ERR("Тренер по индексу {} не найден в Gym".format(key)) print("Trainer with index {} not exist".format(key))
def __getitem__(self, trainer_ind): if trainer_ind < 0 or trainer_ind >= len(self.__trainers): Log.ERR("Тренер по индексу {} не найден в Gym".format(trainer_ind)) print("Trainer {} not found in list".format(trainer_ind)) else: Log.INF("Тренер по индексу {} найден в Gym".format(trainer_ind)) return self.__trainers[trainer_ind]
def add_trainer(self, trainer): if type(trainer) is Trainer: Log.INF("Тренер добавлен в Gym") self.__trainers.append(trainer) else: Log.ERR("Переданный объект не является Trainer") print("Object is not Trainer")
def __add__(self, client): if type(client) is Client: Log.INF("Клиент добавлен в Gym") self.__clients.append(client) else: Log.ERR("Переданный объект не является Client") print("Object is not Client")
def __sub__(self, client): if type(client) is Client: if client in self.__clients: Log.INF("Клиент удалён из Gym") self.__clients.remove(client) else: Log.ERR("Клиента нет в Gym") print("Client not found in list") else: print("Object is not Client")
def write_to_file(self, file_name): try: with open(file_name, 'w') as f: f.write(gym.__str__()) f.write("\n\n" + "Clients trainings log:") for client in self.__clients: f.write("\n" + client.get_training_log()) f.write("\n\n" + "Trainers trainings schedule:") for trainer in self.__trainers: f.write("\n" + trainer.get_schedule()) Log.INF("Содержимое объекта Gym записано в файл {}".format( file_name)) except IOError: Log.ERR("Ошибка записи в файл {}".format(file_name)) print("Can not write file {}".format(file_name))
def print_training_log(self): Log.INF("Тренировка распечатана") print(self.get_training_log())
def get_training_log(self): Log.INF("Тренировка получена") return "Client id: {}, Schedule: {}".format(self.__ticket_id, self.__training_log)
def print_schedule(self): Log.INF("Расписание распечатано") print(self.get_schedule())
def get_schedule(self): Log.INF("Тренировка получена") return "Trainer id: {}, Schedule: {}".format(self.__id_number, self.__schedule)
def __len__(self): Log.INF("Количество тренеров получено") return len(self.__trainers)