Skip to content
This repository has been archived by the owner on Aug 15, 2024. It is now read-only.
/ rfd Public archive

view RedFlagDeals.com from the command line

License

Notifications You must be signed in to change notification settings

davegallant/rfd

Repository files navigation

RFD

PyPI version Dependabot Downloads

Description

This is a CLI utility that allows you to view RedFlagDeals.com on the command line.

screenshot

Motivation

It is often faster to use a CLI than to load up a web page and navigate web elements. This tool can search for deals and sort them based on score and views. It is also able to load entire threads (without pagination) for additional analysis.

Installation

pip

pip3 install --user rfd

This can also be installed with pipx.

brew

If you have brew:

brew install davegallant/public/rfd

Usage

All commands open up in a terminal pager.

Usage: rfd [OPTIONS] COMMAND [ARGS]...

  CLI for https://forums.redflagdeals.com

Options:
  -v, --version
  --help         Show this message and exit.

Commands:
  posts    Display all posts in a thread.
  search   Search deals based on a regular expression.
  threads  Displays threads in the forum. Defaults to hot deals.

View Hot Deals

To view the threads on most popular sub-forum:

rfd threads

View and Sort Hot Deals

rfd threads --sort-by score

To view and sort multiple pages, use --pages:

rfd threads --sort-by views --pages 10

Search

rfd search 'pizza'

Regex

Regular expressions can be used for search.

rfd search '(coffee|starbucks)' --pages 10 --sort-by views

View Posts

It's possible to view an entire post and all comments by running:

rfd posts https://forums.redflagdeals.com/kobo-vs-kindle-2396227/

This allows for easy grepping and searching for desired expressions.

JSON Output

All commands support JSON output.

For example:

rfd threads --output json

Shell Completion

Shell completion can be enabled if using bash or zsh.

bash

echo 'eval "$(_RFD_COMPLETE=source rfd)"' >> ~/.profile

zsh

echo 'eval "$(_RFD_COMPLETE=source_zsh rfd)"' >> ~/.zshrc