novoid / Memacs

What did I do on February 14th 2007? Visualize your (digital) life in Org-mode
GNU General Public License v3.0
1.03k stars 66 forks source link

Write a Memacs module for Podcast Addict (an Android podcatcher) #129

Open novoid opened 4 weeks ago

novoid commented 4 weeks ago

I've analyzed the approach of using a backup file to generate an Org-mode file that contains all listened Podcast Addict episodes with their finishing time-stamp.

PodcastAddict_autoBackup_20241102_210006.backup is a ZIP file with two files:

  1. com.bambuna.podcastaddict_preferences.xml the app settings
  2. podcastAddict.db: a SQLite 3.x database

The DB file itself contains all the necessary data in two of the many tables:

table "podcasts" has at least entries for:

table "episodes" has at least entries for:

    ... direkt aus der Literatur der Wissenschaft.
    <!-- wp:paragraph -->
    <p><strong>Inhalt</strong><br><a href="podcastaddict:0">00:00:00</a>  Intro<br><a href="podcastaddict:195000">00:03:15</a>  Begrüßung<br><a href="podcastaddict:649000">00:10:49</a>  Abgelehntes Paper</p>
    <!-- /wp:paragraph -->
    <!-- wp:paragraph -->
    <p><strong>Reini ist wieder da</strong> – die Buddys sind wieder vereint! </p>
    <!-- /wp:paragraph -->
[...]

That can be transformed in headings like:

** <2024-06-12 Wed 20:54> [[https://minkorrekt.de/mi319-bildungswesen/][Mi319 – "Bildungswesen"]] ([[http://www.minkorrekt.de][Methodisch inkorrekt!]] S42E319)

- [[https://feeds.buzzsprout.com/1924539/9974188/transcript.srt][Transcript]]

Description:

... direkt aus der Literatur der Wissenschaft.

*Inhalt*
00:00:00  Intro
00:03:15  Begrüßung
00:10:49  Abgelehntes Paper
[...]

You can use the example module that parses arbitrary CSV files: https://github.com/novoid/Memacs/blob/master/memacs/csv.py This should give you a quick overview how to use the framework in order to write the output without having to format too much on your own.

This should be doable within a couple of hours of work even if this is your first Memacs module.