Skip to main content

Tool to automate preparing podcast episode documents with Readeck

Project description

episodix

episodix workflow

episodix assists with preparing podcast episode documents. It reads bookmarks from multiple users stored on Readeck instances and groups links by their labels. Every bookmark needs to have only one label set.

The script can create commonly used labels and prepare a Markdown document (links and shownotes) using Jinja2.

Prerequisites

Create an API token for your Readeck account:

Setting Value
Name uiu
Roles Bookmarks Read/Write, Profile Read

Copy the (opinionated) sample.episodixrc example configuration to .episodixrc and add URLs and API tokens for all the users that you want to include.

Installation

pip

Install locally:

$ pip3 install -e .

Or install over PyPi:

$ pip3 install episodix

Manual

Install Python requirements:

$ pip3 install -u -r requirements.txt

Usage

Initialize workflow. This creates a dummy link with commonly used labels so you have to enter them manually:

$ episodix init
Initialize Readeck for user Paula
Initialize Readeck for user Simone

Prepare an episode document. This will read all the bookmarks from all configured users and render a template:

$ episodix prepare E123.md --template episode.md.j2
Get bookmarks from user Paula
Get bookmarks from user Simone
Render and save template

After the document has been created, you can remove all the collected bookmarks:

$ episodix nuke
Nuke bookmarks from user 'Paula'
Nuke bookmarks from user 'Simone'

Templating

Episode documents are prepared using a Jinja2 template - see episode.md.j2 for an example.

The variable user_bookmarks contains information derived from Readeck per user as dictionary, e.g. user_bookmarks['Paula'].

Every dictionary contains raw Readeck information per label, e.g. user_bookmarks['Paula']['tooltipps'].

Readeck keys include information like:

Key Description
href, url URL
title Page title
description Longer page description
site Short site URL
type, document_type Document type (e.g. article)
lang Language (e.g. en)
word_count Number of words
authors Document authors (if supplied)
reading_time Reading time in minutes (e.g. 3)
labels List of attached labels
created, updated Timestamp of creation and last update

Note: You can see all the information when running the tool with the --debug / -d parameter.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

episodix-0.5.3.tar.gz (17.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

episodix-0.5.3-py3-none-any.whl (17.6 kB view details)

Uploaded Python 3

File details

Details for the file episodix-0.5.3.tar.gz.

File metadata

  • Download URL: episodix-0.5.3.tar.gz
  • Upload date:
  • Size: 17.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for episodix-0.5.3.tar.gz
Algorithm Hash digest
SHA256 a7675fa056e936c9566d9a460b04d4eae18f0479ab1375177cf2e70577576478
MD5 a8db673a40acb08bf0442b805e92ecea
BLAKE2b-256 c35c0b8a2d6da03372379a23b6fd8ce23988bb67b8a2e248b9c9e02c2aa971cf

See more details on using hashes here.

File details

Details for the file episodix-0.5.3-py3-none-any.whl.

File metadata

  • Download URL: episodix-0.5.3-py3-none-any.whl
  • Upload date:
  • Size: 17.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.14.4

File hashes

Hashes for episodix-0.5.3-py3-none-any.whl
Algorithm Hash digest
SHA256 5388f85aa133d8cfbe084835d432a10307681a1ee8539c4c05cffca97f43b0ff
MD5 64c305aee3d063461584d1e5ce20a4e5
BLAKE2b-256 66643d75fa128a41243a095215346888a6249f5cb9bfa2a5b3a84f5d05fe9340

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page