1. ogier
  2. Lemon

Overview

HTTPS SSH

Lemon

Lemon is a Python script that keeps tracks of your chosen stories on FanFiction.Net or FictionPress.com. After running $ python main.py Lemon checks all entries within your stories.ini file for newly released chapters on FanFiction.Net and if necessary downloads and caches them. All available chapters are then merged into a single story file with special Kindle HTML markup that enables Amazon to correctly create a working cover, table of contents and nicely displaying the content on your Kindle, preserving the text decorations (bold, italic, etc.) that were originally displayed on FanFiction.Net after sending it to your unique Kindle e-mail address. After Amazon has finished processing and converting the story file into their proprietary *.azw files (*.mobi + DRM) it will automatically be forwarded to your Kindle, either via 3G or Wi-Fi, depending on which e-mail address you specified in your config.ini. Please head over to the "Getting Started"-section below to do just that. If you feel like giving me some feedback, please feel free to do so.

Screenshots

Getting Started

  1. Download and extract a version of Lemon from Downloads.
  2. Edit stories.ini and config.ini.
    • Check "Configuration" section of this Readme for more information.
  3. Double-click on "Lemon.exe" and wait until execution has finished (the console window should disappear). Your stories should appear every second on your Kindle device.

From Source (For Developers)

  1. Download and install Python.
    • Choose a version between 2.5.0a1 and 2.7.1, preferably 2.7.1.
  2. Download and extract Lemon.
  3. Edit stories.ini and config.ini.
    • Check "Configuration" section of this Readme for more information.
  4. Double-click on "main.py" contained in the Lemon directory.
    • Alternatively: ⊞ Win → Enter "cmd" → cd "path\to\Lemon\directory" → python "main.py"
      • You may need to enter the absolute path to your Python executable (for example: "C:\Python27\python.exe") during the last step if the Python directory is not in your PATH variable.
      • People using GNU/Linux or Mac OS X should have Python preinstalled and be comfortable using the console.
  5. Wait until execution has finished (the console window should disappear). Your stories should appear every second on your Kindle device.

Configuration

Configuration is divided among two files: stories.ini and config.ini. Simply add your chosen stories in such a way to your stories.ini file:

[http://www.fanfiction.net/s/XXXXXXX/X/Title]
[http://www.fanfiction.net/s/XXXXXXX/X/Title]
[http://www.fanfiction.net/s/XXXXXXX/X/Title]

After Lemon's first run it will add two fields to each of these entries: the last downloaded chapter and the status of the story, which is either "In-Progress" or "Complete". The status is set to "Complete" automatically when Lemon detects that the story, in fact, is. If you manually set it to anything else it will be skipped aswell -- useful for example when you want to pause reading a story but still reduce the time Lemon needs to check all stories.

In the config.ini file you specify the number of concurrent threads Lemon should use to download chapters from FanFiction.Net and the general e-mail address data which is needed to send the file to your Amazon Kindle e-mail address. If you want to send the e-mails from a SMTP server running locally, simply omit the password and enter for server "localhost". In case you are not sure if your E-Mail provider supports access via SMTP I would suggest that you simply register a Google Mail account and use that -- you can find a working sample configuration using such an account below. A small tip: Better specify your "free" Kindle e-mail address for the "Recipient", for example: "name"@free.kindle.com, and connect to a Wi-Fi at some point, elsewise the transfer costs could quickly grow. An example for a working config.ini may look like this:

[Settings]
Chapter Download Threads = 3

[SMTP]
Server = smtp.googlemail.com:587
Username = cryzed@googlemail.com
Password = Password

[E-Mail]
Sender = cryzed@googlemail.com
Recipient = cryzed@free.kindle.com

Dependencies

Miscellaneous

Cache

When Lemon downloads new chapters of a story for the first time it also saves them to its cache, so they won't need to be downloaded again when a new chapter is released to assemble the story file. This may cause some problems for you, for example when the author decides to heavily modify already released chapters or there's some error during the download (in which case Lemon should crash anyways). If you feel like there is something wrong, or Lemon should rebuild the cache, simply remove the whole "cache" folder for now (this is open for improvements in the future).