Skip to main content

A CLI for the fichub.net API

Project description

fichub-cli

A CLI for the fichub.net API

To report issues upstream for the supported sites, visit https://fichub.net/#contact

To report issues for the CLI, open an issue at https://github.com/FicHub/fichub-cli/issues

Installation

From pip (Recommended)

pip install -U fichub-cli

From Github Source (Pre-release, for testing new features by Beta testers)

pip install git+https://github.com/FicHub/fichub-cli@main

Usage

> fichub_cli
Usage: fichub_cli [OPTIONS] COMMAND [ARGS]...

  A CLI for the fichub.net API

  To report issues upstream for supported sites, visit
  https://fichub.net/#contact

  To report issues for the CLI, open an issue at
  https://github.com/FicHub/fichub-cli/issues

  Failed downloads will be saved in the `err.log` file in the current
  directory

Options:
  -u, --url TEXT          The url of the fanfiction enclosed within quotes
  -i, --infile TEXT       Path to a file to read URLs from
  -l, --list-url TEXT     Enter a comma separated list of urls to download,
                          enclosed within quotes
  -v, --verbose           Show fic stats
  -o,  --out-dir TEXT     Path to the Output directory for files (default:
                          Current Directory)
  --format TEXT           Download Formats, comma separated if multiple: epub (default), mobi, pdf or html
  --force                 Force overwrite of an existing file
  -ss, --supported-sites  List of supported sites
  -d,  --debug            Show the log in the console for debugging
  --changelog             Save the changelog file
  --debug-log             Save the logfile for debugging
  --config-init           Initialize the CLI config files
  --config-info           Show the CLI config info
  --version               Display version & quit
  --help                  Show this message and exit.

Default Configuration

  • The fanfiction will be downloaded in epub format. To change it, use --format followed by the format. Multiple formats can be selected by separating them by commas.
  • The fanfiction will be downloaded in the current directory. To change it, use -o followed by the path to the directory.
  • Failed downloads will be saved in the err.log file in the current directory.

Check fichub_cli --help for more info.

Example

  • To download using an URL
fichub_cli -u https://archiveofourown.org/works/10916730/chapters/24276864
  • To download using a file containing URLs
fichub_cli -i urls.txt
  • To download using a comma separated list of URLs
fichub_cli -l "https://www.fanfiction.net/s/11191235/1/Harry-Potter-and-the-Prince-of-Slytherin,https://www.fanfiction.net/s/13720575/1/A-Cadmean-Victory-Remastered"
  • To download multiple formats
fichub_cli -u "https://www.fanfiction.net/s/13720575/1/A-Cadmean-Victory-Remastered" --format epub,mobi
  • To generate a changelog of the download
fichub_cli -i urls.txt --changelog

NOTE

  • --out-dir or -o can be used in all the above commands to select an output directory.

  • Using the --config-init flag, users can re-initialize/overwrite the config files to default.

  • Using the --config-info flag, users can get all the info about the config file and its settings.


Configuration

  • Users can configure centain things like db_up_time_format, fic_up_time_format, delete_output_log & filename_format by editing the config.json file in the app directory.

  • Filename format props (case-sensitive): author, fichubAuthorId, authorId, chapters, created, fichubId, genres, id, language, rated, fandom, status, updated, title

    Example:

    "filename_format": "[title] by [author]"
    
  • To locate the config file, run fichub_cli --config-info and open the config.json file in an editor and make the necessary changes.

Notes

  • For db_up_time_format & fic_up_time_format:
    • Only use valid datetime formats
  • For delete_output_log:
    • Default is blank so it will always prompt for confirmation
    • Set it to "false" to always keep the file
    • Set it to "true" to always delete the file

Plugin Support

Read the wiki for more info.

Helper Scripts

Helper scripts can be found here. They can add small functionalities to the CLI without needing to create full-fledged plugins.

Links

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

fichub-cli-0.9.4.tar.gz (18.5 kB view hashes)

Uploaded Source

Built Distribution

fichub_cli-0.9.4-py3-none-any.whl (20.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page