Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/joe-mccarthy/harlow-bindicator

Sends notification on binday and what bin needs putting out.
https://github.com/joe-mccarthy/harlow-bindicator

beautifulsoup essex github-actions harlow ntfy ntfysh python selenium-webdriver

Last synced: 4 months ago
JSON representation

Sends notification on binday and what bin needs putting out.

Awesome Lists containing this project

README

        

# Harlow Bindicator

![GitHub Actions Workflow Status](https://img.shields.io/github/actions/workflow/status/joe-mccarthy/harlow-bindicator/build-test.yml?cacheSeconds=1)
![Coveralls](https://img.shields.io/coverallsCoverage/github/joe-mccarthy/harlow-bindicator?cacheSeconds=1)
![Sonar Quality Gate](https://img.shields.io/sonar/quality_gate/joe-mccarthy_harlow-bindicator?server=https%3A%2F%2Fsonarcloud.io&cacheSeconds=1)
![GitHub Release](https://img.shields.io/github/v/release/joe-mccarthy/harlow-bindicator?sort=semver&cacheSeconds=1)
![GitHub commits since latest release](https://img.shields.io/github/commits-since/joe-mccarthy/harlow-bindicator/latest?cacheSeconds=1)
![GitHub License](https://img.shields.io/github/license/joe-mccarthy/harlow-bindicator?cacheSeconds=1)

Script when run goes the the Harlow Local Authority website collects the bin collection dates for a given __UPRN__ then sends a notification to __ntfy.sh__ if required. This script can either be run locally or as with this repository as a GitHub action.

## Running Harlow Bindicator

This script can be run two ways either as a stand alone script that's scheduled using a cron job or as with this Repository a GitHub Action.

### Running as a GitHub Action

There is a workflow within this repository [check-binday.yaml](.github/workflows/check-binday.yml) which is scheduled for early morning each day to check for bin collections. This workflow requires two secrets, firsly the [UPRN](https://www.findmyaddress.co.uk/search) to be checked for, and the [ntfy.sh](https://ntfy.sh/) topic to publish the message to. Then you'll start recieving notifications when you'll need to put bins out and which bin it is.

### Running locally

The set up is very similar to how it's run on GitHub actions, with the requirement of a uprn and a ntfy.sh topic. Running the script is as simple as

```bash
python src/main.py --uprn "12379870" --topic "topic-name"
```

However before running the script be sure to installe the requirements for python with

```
pip install -r requirements
```

The script also requires additional tools to run, in order to load the webpage that provides the bin information from Harlow Local Authority which is the chromium-chromedriver, just run the command below.

```bash
sudo apt-get install chromium-chromedriver
```

## Contributing

Contributions are what make the open-source community such an amazing place to learn, inspire, and create. Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement".

Don't forget to give the project a star! Thanks again!

1. Fork the Project
1. Create your Feature Branch (git checkout -b feature/AmazingFeature)
1. Commit your Changes (git commit -m 'Add some AmazingFeature')
1. Push to the Branch (git push origin feature/AmazingFeature)
1. Open a Pull Request

## License

This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.