aboutsummaryrefslogtreecommitdiff
path: root/src
Commit message (Collapse)AuthorAgeFilesLines
* Convert URLs pointing upstream to local relativeA Farzat5 days2-4/+37
| | | | EPUB standard only recognizes relative paths. Fixes image rendering.
* Remove the sanity checksA Farzat6 days1-21/+1
| | | | They are no longer needed.
* Generate the EPUB fileA Farzat6 days2-3/+25
|
* Add container.xml to zipA Farzat6 days2-22/+22
| | | | | Instead of writing it to file and then reading it again, we write container.xml straight to zip, just like we did with mimetype.
* Start with the create_epub_archive functionA Farzat6 days1-1/+15
| | | | | For now, only mimetype is added. Next step is adding all the other files in epub_root.
* Revert "Add a function to write mimetype"A Farzat6 days2-10/+1
| | | | | | | | This reverts commit 6aad662ec59a3974cbca6c423c1e08e8bc5e90f6. There is no need to write it out to epub_root as it needs to be manually written to the zip file later on anyway. Not including it saves us the trouble of avoiding it when walking epub_root later.
* Add a function to write container.xmlA Farzat6 days2-1/+28
|
* Add a function to write mimetypeA Farzat6 days2-1/+10
|
* Add file download logicA Farzat6 days2-2/+43
| | | | All files in file_entries are downloaded according to their full_path.
* Add OPF file detectionA Farzat6 days1-0/+6
| | | | We need to know its full_path as it will be referenced in container.xml.
* Remove the search endpointA Farzat6 days2-25/+3
| | | | | | | | | | | It is not the best idea as it is non-deterministic, working on the assumption that searching by ISBN would return the book and in a consistent way. The contents previously extracted from it, such as authors and publishers, are already included in the OPF file which can be fetched from the files list. Further items such as description can be fetched from the metadata endpoint later if needed.
* Convert chapters and file_entries to HashMapsA Farzat7 days1-1/+22
| | | | | | | This makes them more useful as each will be referenced by either spine_items or toc_vec later on. This is demonstrated by the temporary sanity checks, which shall be replaced by code that actually use fields from the corresponding items.
* Add fetching of the spine and table of contentsA Farzat7 days2-3/+42
|
* Refactor away SearchResponse modelA Farzat7 days2-33/+15
| | | | | | | | | | Its functionality is covered by Paginated. The fetch_metadata function was also replaced by the more generic fetch_all_pages. Given that we are searching by the isbn, we should presumably get only 1 result, so only one call will be made even when fetch_all_pages is used. This behaviour is not documented though, so switching to the metadata endpoint in the future is recommended.
* Add file and chapter details fetchingA Farzat7 days2-1/+60
| | | | | | | | | | Fetching file details allows us to download them to the correct location later. Chapter details are currently limited to is_skippable, which might be used to determine whether to make the corresponding spine item non-linear. Other details such as the title shall be fetched from the spine and table-of-contents endpoints later.
* Add e-book metadata fetchingA Farzat7 days2-10/+73
|
* Add authentication using cookiesA Farzat8 days2-5/+57
|
* Init commit: setup project and cli parsingA Farzat8 days1-0/+28