Package: polka
ПОЛКАPython модуль для доступа к API образовательного проекта«Полка».УстановкаДля работы модуля требуется Python 3.6+. Никаких зависимостей, кроме стандартной библиотеки нет.pipinstallpolkaИспользованиеДля получения данных в сыром виде «как есть», существуют функцииrawbooks,rawbook,rawsearch,rawlists,rawlistи другие начинающиеся наraw.>>>importpolka>>>[funcforfuncindir(polka)iffunc.startswith("raw")]['rawbook','rawbooks','rawlist','rawlists','rawpunditfavs','rawpunditposts','rawpundits','rawsearch']Но удобнее использовать функцииbooks,lists,pundits,searchи объектыBook,CompilationиPundit.Функцияbooksвозвращает список книг, каждая из которых является объектомBook.>>>forbookinpolka.books()[:3]:...assertisinstance(book,polka.Book)...print(f"{book.title:<25}{book.year.start}")Геройнашеговремени1840АннаКаренина1877Мёртвыедуши1842Bookсодержит всю доступную информацию о книге, включая вопросы и ответы (если имеются).>>>bookBook(title='Мёртвые души',authors=['Николай Гоголь'])>>>book.description'Великая поэма, праздник нелепости и гротеска, от которой парадоксальным образом отсчитывают историю русского реализма. Задумав трёхчастное произведение по образцу «Божественной комедии», Гоголь успел завершить только первый том — в котором ввёл в литературу нового героя, дельца и плута, и создал бессмертный образ России как птицы-тройки, несущейся в неизвестном направлении.'>>>book.punditPundit(name='Варвара Бабицкая')>>>item=book.questions[0]# first question>>>item.question'О чём эта книга?'>>>item.answer# or item.answer_with_notes'В губернский город N. приезжает отставной чиновник Павел Иванович Чичиков, человек, лишённый отличительных черт и всем приходящийся по нраву. Очаровав губернатора, городских чиновников и окрестных помещиков, Чичиков начинает объезжать последних с загадочной целью: он скупает мёртвые души, то есть умерших недавно крепостных, которые ещё не внесены в ревизскую сказку и потому формально считаются живыми. Навестив последовательно карикатурных, каждый в своём роде, Собакевича, Манилова, Плюшкина, Коробочку и Ноздрёва, Чичиков оформляет купчие и готовится довести до конца свой таинственный план, но к концу первого (и единственного завершённого) тома поэмы в городе N. сгущаются какие-то хтонические силы, разражается скандал, и Чичиков, по формулировке Набокова, «покидает город на крыльях одного из тех восхитительных лирических отступлений... которые писатель всякий раз размещает между деловыми встречами персонажа». Так заканчивается первый том поэмы, задуманной Гоголем в трёх частях; третий том так и не был написан, а второй Гоголь сжёг — сегодня нам доступны только его реконструкции по сохранившимся отрывкам, причём в разных редакциях, поэтому, говоря о «Мёртвых душах», мы подразумеваем в общем случае только первый их том, завершённый и опубликованный автором.'Функцияpunditsвозвращает список представленных на сайте экспертов.>>>forexpertinpolka.pundits()[:3]:...assertisinstance(expert,polka.Pundit)...print(expert)Pundit(name='Евгения Абелюк')Pundit(name='Михаил Айзенберг')Pundit(name='Александр Архангельский')Каждый эксперт представлен объектомPundit.>>>expertPundit(name='Варвара Бабицкая')>>>expert.credit'Литературный критик, редактор проекта «Полка»'>>>expert.description'Редактор, литературный критик, переводчик. Редактор проекта «Полка». Делала литературные и культурные разделы и печаталась на портале OpenSpace.ru, а затем Colta.ru, в проекте «Сноб», на радио «Свободная Европа»/«Радио Свобода», в журнале The New Times, писала для сайта «Афиша–Воздух», сайта «Горький» и других. Как редактор и переводчик сделала несколько книг для издательств «НЛО», Corpus, «Стрелка».'>>>forbookinexpert.wrote_about:...print(book)Book(title='Горе от ума',authors=['Александр Грибоедов'])Book(title='Житие протопопа Аввакума',authors=['Аввакум Петров'])Book(title='Картины прошедшего',authors=['Александр Сухово-Кобылин'])Book(title='Колымские рассказы',authors=['Варлам Шаламов'])Book(title='Леди Макбет Мценского уезда',authors=['Николай Лесков'])Book(title='Мёртвые души',authors=['Николай Гоголь'])>>>expert.favorites[]Функцияlistsвозвращает компиляции книг по темам и направлениям.>>>forcompilationinpolka.lists()[:3]:...print(compilation)Compilation(title='Древняя Русь')Compilation(title='Русский классицизм')Compilation(title='Открытие истории')Каждый список представлен объектомCompilation.>>>compilationCompilation(title='Антиутопия')>>>compilation.short_description'От строительства «Интеграла» до Дня открытых убийств'>>>compilation.description'Первопроходцем жанра антиутопии в XX веке оказывается Евгений Замятин, однако затем эстафету подхватывают Америка и Европа: в Советском Союзе антиутопия перестаёт быть фактом литературы и реализуется на практике. Создатели советских антиутопий, появившихся после долгого перерыва, уже учитывали опыт Хаксли и Оруэлла, имея, однако, перед ними то жутковатое преимущество, что советские антиутопии пишутся во многом с натуры. Тоталитарное государство посягает на основные права и потребности человека, распоряжается его жизнью и свободой, залезает к нему в постель, в кастрюлю и в голову, а литература пытается понять те социальные и психические механизмы, которые сделали это возможным: сперва противясь наступлению тоталитаризма, человек со временем приспосабливается и даже пытается использовать с итуацию к своей выгоде.'>>>forbookincompilation.books:...print(book)Book(title='Мы',authors=['Евгений Замятин'])Book(title='Говорит Москва',authors=['Юлий Даниэль'])Book(title='Улитка на склоне',authors=['Аркадий Стругацкий','Борис Стругацкий'])Book(title='Невозвращенец',authors=['Александр Кабаков'])Функцияsearchищет указанную подстроку среди статей, списков и экспертов.>>>fortitle,entry,objinpolka.search("двойник")[:3]:...assertisinstance(obj,(polka.Book,polka.Pundit,polka.Compilation))...print(f"{title.upper()}: ...{entry}...")ФЁДОРДОСТОЕВСКИЙ«БЕДНЫЕЛЮДИ»:...людей»,Достоевскийсразужепринялсязаповесть«Двойник»о...АЛЕКСАНДРПУШКИН«ЦЫГАНЫ»:...выполняетважнуюфункциювсюжетепоэмы—своеобразногодвойника...МИХАИЛЛЕРМОНТОВ«ГЕРОЙНАШЕГОВРЕМЕНИ»:...КакипародийныйГрушницкий,этотдвойникдолженбыть...🔝