dependabot[bot] 1576524a26 Bump pytest from 7.4.3 to 7.4.4 (#346)
Bumps [pytest](https://github.com/pytest-dev/pytest) from 7.4.3 to 7.4.4.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](https://github.com/pytest-dev/pytest/compare/7.4.3...7.4.4)

---
updated-dependencies:
- dependency-name: pytest
  dependency-type: direct:development
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-01-01 11:15:38 -05:00
2023-02-20 23:23:29 -05:00
2023-12-09 00:13:44 -05:00
2023-12-06 22:54:58 -05:00
2023-02-20 23:23:29 -05:00
2023-02-20 23:23:29 -05:00
2020-10-26 00:35:19 -04:00
2021-04-04 10:38:04 -04:00
2023-12-26 12:05:56 -05:00

rfd-notify

This tool looks for matches on RedFlagDeals.com forums and will send push notifications via apprise.

This was originally written before alerts existed. With rfd-notify, alerts never expire and support regular expressions.

Prerequisites

Usage

The simplest way to get started is to clone this repo, and run with docker:

docker run -it -v "$(pwd)/examples/config.yml:/app/config.yml" ghcr.io/davegallant/rfd-notify:1

To run the code with poetry, clone this repo and run the following:

poetry install
poetry run python rfd_notify/cli.py -c examples/config.yml

Environment Variables

The following environment variables are required:

VARIABLE DESCRIPTION
APPRISE_URL See notifications.

Example Configuration

Pass a list of expressions to be used for discovering deals:

# config.yml
expressions:
  - pizza
  - starbucks
  - price error

Github Actions (and Gitea Actions)

Commiting the pickled data (previous_matches) back into the repository is a bit of a hack, but allows for a simpler setup.

An action can be setup to scan for deals, send a notification and store previously found deals in the repo.

It also requires the corresponding encrypted secrets setup.

# .github/workflows/rfd-notify.yml

on:
  schedule:
    - cron: "*/5 * * * *"
jobs:
  rfd_notify:
    name: rfd-notify
    steps:
      - name: Checkout
        uses: actions/checkout@v4
        with:
          sparse-checkout: |
            config.yml
            previous_matches
      - name: Commit and push changes
        run: |
          git config --local user.email "actions@github.com"
          git config --local user.name "RFD Notify"
          git add previous_matches
          git commit -m "Update previous_matches" -a || true
          git push

Gitlab Pipelines

Create a scheduled pipeline to run on a regular interval.

With Gitlab Pipelines, the following configuration works:

#.gitlab-ci.yml
default:
  image:
    name: ghcr.io/davegallant/rfd-notify:1
    entrypoint: [""]

run:
  cache:
    - key: previous_matches
      paths:
        - previous_matches
  script:
    - python /app/rfd_notify/cli.py -c config.yml
Description
get notified of deals based on regex
Readme GPL-3.0 4.5 MiB
Languages
Python 92.5%
Dockerfile 6.1%
Shell 1.4%