Наш чатик

Телеграм чат начинающих программистов. Общаемся и помогаем друг другу

Если ссылка не открывается, можно найти нас в поиске по чатам @rubyrush или пойти другим путем

Магазин с чтением из файлов

Продолжаем развивать наш «Магазин»: реализуйте функционал считывания продуктов из папки data. Пусть в папке, например, data/films лежат текстовые файлы в формате, который вам уже знаком (добавляется цена и остаток на складе):

Название фильма
Фамилия и имя режиссера
Год выхода
Цена
Остаток

А в паке data/books — файлы в таком формате:

Название книги
Жанр
Фамилия и имя автора
Цена
Остаток

Напишите для каждого класса-ребенка метод класса (статический метод) from_file, который создает новый экземпляр класса, заполняя его данными из файла, чтобы можно было написать вот так:

film = Film.from_file('./data/films/01.txt')
book = Book.from_file('./data/books/01.txt')

Сделайте также, чтобы метод родителя возвращал ошибку NotImplementedError, на случай, если какой-то ребенок попытается создать себя используя статический метод родителя.

Вспоминайте, как мы делали программу, которая читала фильмы из каталога, чтобы выбрать фильм на вечер.

Напишите метод from_file у класса Film так, чтобы читал данные из файла и передавал их в конструктор подобно тому, как мы создавали фильмы из осн. программы.

Не забудьте у класса Product сделать так, чтобы метод from_file возвращал ошибку NotImplementedError.