Skip to content

asgrom/flibusta_prj

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

60 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Description

Просмотр OPDS каталога библиотеки Флибуста https://flibusta.is Ссылка на каталог https://flibusta.is/opds

Программа получает xml данные с сайта флибусты, парсит их и с помощью jinja генерирует хтмл-код страницы. После чего код отображается в QWebEngineView.

При обработке jinja-шаблона в тег <title> страницы добавляется текущее время и дата. Это делается для того чтобы заголовок каждой страницы отличался от любой другой. Если этого не сделать, то QWebEngineView не будет генерировать сигнал titleChanged, при обработке которого происходит проверка экземпляра класса History и активируются/декативируются кнопки навигации.

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

Так же эти сервера передаются в QComboBox, что при выборе одного их них прозволяет его установить для QWidget.

При клике по ссылке на странице происходит делегирование ее обработки. Если ссылка ведет на opds-каталог приложение генерирует хтмл-страницу. Иначе ссылка обрабатывается в обычном порядке.

Также приложение позволяет загружать файлы книг. При клике на соответствующую ссылку, она проверяется на соответствие типу файл архива, а не хтмл-странице или xml-коду. При скачивании файла предлагается выбрать каталог для его сохранения.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published