Skip to main content

A CLI for the fichub.net API

Project description

fichub-cli

ko-fi

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]"
    
  • You can also add API keys to the api_key_v0 which will include it in the header when making API calls to fichub

  • 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.10.3.tar.gz (18.8 kB view details)

Uploaded Source

Built Distribution

fichub_cli-0.10.3-py3-none-any.whl (20.2 kB view details)

Uploaded Python 3

File details

Details for the file fichub_cli-0.10.3.tar.gz.

File metadata

  • Download URL: fichub_cli-0.10.3.tar.gz
  • Upload date:
  • Size: 18.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.14

File hashes

Hashes for fichub_cli-0.10.3.tar.gz
Algorithm Hash digest
SHA256 3131315e9b82c22fc87cd0d454b31cc5f151c071cd7c625eac79079e1ebf865b
MD5 a4988b3627028802b2652c07dfee4278
BLAKE2b-256 c8c46716e8c3b8eb7ad218deb290617c35f8869287f32df0710cd789e7825587

See more details on using hashes here.

File details

Details for the file fichub_cli-0.10.3-py3-none-any.whl.

File metadata

  • Download URL: fichub_cli-0.10.3-py3-none-any.whl
  • Upload date:
  • Size: 20.2 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/5.1.1 CPython/3.10.14

File hashes

Hashes for fichub_cli-0.10.3-py3-none-any.whl
Algorithm Hash digest
SHA256 6caa377c45d79974c9de8ce0fc469d6a7898a4cc92f81b2b7cf833cb09598c45
MD5 d03b62a80eae5611610ab37faa26d829
BLAKE2b-256 1f2a880f38e379a7e0893d88f1b89e6ba2cf92a9af6d67c7c5c254c7a4a16bf9

See more details on using hashes here.

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