Claim Your Free PacktPub eBook
Project description
Claim Your Free PacktPub eBook automatically.
Quickstart:
$ pip install freepacktbook
$ export PACKTPUB_EMAIL=my@email.com
$ export PACKTPUB_PASSWORD=my_password
$ claim_free_ebook
Claim your daily free PacktPub ebook and download it:
$ export PACKTPUB_BOOKS_DIR=/path/to/my/books
$ claim_free_ebook --download
Download all your ebooks:
freepacktbook allows you to backup all your ebooks and code files.
$ download_ebooks --formats mobi pdf --with-code-files
To see more information:
$ download_ebooks -h
Cron configuration:
Edit the current crontab:
$ crontab -e
Add the following lines:
#!/bin/bash
SHELL=/bin/bash
PACKTPUB_EMAIL='my@email.com'
PACKTPUB_PASSWORD='my_password'
0 8 * * * /path/to/claim_free_ebook >> /tmp/claim_free_ebook.log 2>&1
This command shows the direct path to claim_free_ebook:
which claim_free_ebook
Notifications (optional)
Slack integration
Set additionally the following environment variables:
export SLACK_URL=https://hooks.slack.com/services/...
export SLACK_CHANNEL=random
$ claim_free_ebook --slack
Docker image
You can build your own docker image containing configured cron service. By default, the claim_free_ebook command is run daily at 8:00am CEST. See Dockerfile.
Build an image:
$ docker build -t freepacktbook .
If you want to change the default time zone, use the TZ build argument:
$ docker build --build-arg TZ=UTC -t freepacktbook .
Run a new container:
$ docker run -d \
--name freepacktbook \
-e PACKTPUB_EMAIL=<my-packtpub-email> \
-e PACKTPUB_PASSWORD=<my-packtpub-password> \
freepacktbook
The PACKTPUB_ARGS env variable passes the additional arguments to the claim_free_ebook command:
$ docker run -d \
--name freepacktbook \
--restart=always \
-e PACKTPUB_EMAIL=<my-packtpub-email> \
-e PACKTPUB_PASSWORD=<my-packtpub-password> \
-e PACKTPUB_ARGS='--download' \
-v <path-to-books-dir>:/data \
freepacktbook
Also available on Docker Hub bogdal/freepacktbook:latest
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.