https://github.com/blairnangle/diet
Aggregating the content I've consumed.
https://github.com/blairnangle/diet
aws-lambda goodreads pocket python
Last synced: 2 months ago
JSON representation
Aggregating the content I've consumed.
- Host: GitHub
- URL: https://github.com/blairnangle/diet
- Owner: blairnangle
- Created: 2023-03-06T08:32:01.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-11-21T07:35:36.000Z (6 months ago)
- Last Synced: 2025-01-25T11:41:53.608Z (4 months ago)
- Topics: aws-lambda, goodreads, pocket, python
- Language: Python
- Homepage: https://blairnangle.com/diet
- Size: 64.5 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# diet
Aggregating the content I've consumed.
## Prerequisites
- [Black](https://github.com/psf/black)
- [Terraform](https://developer.hashicorp.com/terraform/downloads)## Mechanism
- Fetch data from Pocket/scrape data from Goodreads
- Parse and format
- Write to an S3 bucket that has public read accessUse [this tool](https://reader.fxneumann.de/plugins/oneclickpocket/auth.php) by
[Felix Neumann](https://twitter.com/fxneumann) to get a long-lived access token using the annoying three-legged OAuth
flow.## Goodreads
The Goodreads API no longer accepts signups 🥲, so I'm using
[Beautiful Soup](https://www.crummy.com/software/BeautifulSoup/bs4/doc/) to scrape my Goodreads "read" shelf.This will break at some point.
## Letterboxd
At the time of writing, Letterboxd's API is not available for public signups, *but* they do expose an RSS feed for each
member. E.g., [mine](https://letterboxd.com/blairnangle/rss/). This is straightforward to parse.## Secrets
Stored as GitHub Actions secrets.
```yaml
# implicitly used by AWS Terraform provider
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY# explicitly declared in infra/variables.tf
AWS_ACCOUNT_NUMBER
POCKET_CONSUMER_KEY
POCKET_ACCESS_TOKEN
```