1
0
Fork 0
mirror of https://github.com/kemayo/leech synced 2025-12-14 20:34:50 +01:00
No description
Find a file
2017-02-03 11:00:25 -06:00
sites Support FictionPress 2017-02-03 11:00:25 -06:00
.gitignore Use requests-cache 2016-08-29 10:59:20 -05:00
cover.py Generate covers 2015-11-11 00:39:41 -08:00
epub.py Stories are now made of nested sections/chapters 2017-01-10 00:23:24 -08:00
leech.py Stories are now made of nested sections/chapters 2017-01-10 00:23:24 -08:00
README.markdown Support FictionPress 2017-02-03 11:00:25 -06:00
requirements.txt Use attrs 2017-02-02 23:18:21 -06:00

Leech

Let's say you want to read some sort of fiction. You're a fan of it, perhaps. But mobile websites are kind of non-ideal, so you'd like a proper ebook made from whatever you're reading.

Setup

You need Python 3.

My recommended setup process is:

$ pyvenv venv
$ source venv/bin/activate
$ pip install -r requirements.txt

...adjust as needed. Just make sure the dependencies from requirements.txt get installed somehow.

Usage

$ python3 leech.py [[URL]]

A new file will appear named Title of the Story.epub.

If you want to put it on a Kindle you'll have to convert it. I'd recommend Calibre, though you could also try using kindlegen directly.

Supports

  • Fanfiction.net
  • FictionPress
  • ArchiveOfOurOwn
    • Yes, it has its own built-in EPUB export, but the formatting is horrible
  • Various XenForo-based sites: SpaceBattles and SufficientVelocity, most notably
  • DeviantArt galleries/collections
  • Sta.sh

Configuration

A very small amount of configuration is possible by creating a file called leech.json in the project directory. Currently you can define login information for sites that support it.

Example:

{
    "logins": {
        "QuestionableQuesting": ["username", "password"]
    }
}

Extending

To add support for a new site, create a file in the sites directory that implements the Site interface. Take a look at ao3.py for a minimal example of what you have to do.

Contributing

If you submit a pull request to add support for another reasonably-general-purpose site, I will nigh-certainly accept it.

Run EpubCheck on epubs you generate to make sure they're not breaking.