Package: tonie-podcast-sync
tonie-podcast-synctonie-podcast-sync allows synching podcast episodes tocreative tonies.This is a purely private project and has no association with Boxine GmbH.Constraints and Limitationscurrently limited to podcasts providing mp3 filestested with the following podcasts:WDRMaus Podcasts, e.g.Gute Nacht mit der MausMaus zum Hören - 60 MinutenMaus Zoom - KindernachrichtenBayern 2: Pumuckl - Der Hörspiel-KlassikerChecker Tobi PodcastAnna und die wilden Tiere - der Podcast... but in general, it should hopefully work with all podcasts out thereUsagetonie-podcast-sync is available asa pip package on pypi. Install viapip install tonie-podcast-syncThen, use it as shown in the following example code:fromtoniepodcastsyncimportToniePodcastSync,Podcast,EpisodeSorting# Create some Podcast objects, providing the feed URL to eachpumuckl=Podcast("https://feeds.br.de/pumuckl/feed.xml")# By default, podcasts are placed onto Tonies by newest episode first# If you want to change the episode sorting, following options are available# - EpisodeSorting.BY_DATE_NEWEST_FIRST (default)# - EpisodeSorting.BY_DATE_OLDEST_FIRST# - EpisodeSorting.RADNOMmaus_60min=Podcast("https://kinder.wdr.de/radio/diemaus/audio/diemaus-60/diemaus-60-106.podcast",episode_sorting=EpisodeSorting.BY_DATE_NEWEST_FIRST)maus_gute_nacht=Podcast("https://kinder.wdr.de/radio/diemaus/audio/gute-nacht-mit-der-maus/diemaus-gute-nacht-104.podcast",episode_sorting=EpisodeSorting.RANDOM)# If you want to adjust the volume of a podcast, set volume_adjustment to an integer other than 0# The audio will be adjusted (+/-) by that amount in dBanne_und_die_wilden_tiere=Podcast("https://feeds.br.de/anna-und-die-wilden-tiere/feed.xml",episode_sorting=EpisodeSorting.RANDOM,volume_adjustment=6)# Some Podcasts inject episodes that are very short (e.g. announcing a holiday break).# `episode_min_duration_sec` can be used to filter out all episodes shorter then this value.# the example below will skip all episodes shorter then 30 seconds.checker_tobi=Podcast("https://feeds.br.de/checkpod-der-podcast-mit-checker-tobi/feed.xml",episode_sorting=EpisodeSorting.RANDOM,episode_min_duration_sec=30)# Create instance of ToniePodcastSynctps=ToniePodcastSync("<toniecloud-username>","<toniecloud-password>")# For an overview of your creative Tonies and their IDs# The IDs are needed to address specific Tonies in the next steptps.print_tonies_overview()# Define creative Tonies based on their IDgreenTonie="<your-tonieID>"orangeTonie="<your-tonieID>"# Fetch new podcast episodes and copy them to greenTonie.# The tonie will be filled with as much episodes as fit (90 min max).tps.sync_podcast_to_tonie(pumuckl,greenTonie)# Kid's should fall asleep, so let's limit the podcast# Episodes on this tonie to 60 minutes in total.# Use the optional parameter for this:tps.sync_podcast_to_tonie(maus_gute_nacht,orangeTonie,60)For the tonie to fetch new content from tonie-cloud, you have to press one ear for 3s (until the "ping" sound) with no tonie on the box (refer also to TonieBox manual).ContributorsAlexander Hartmann💻🤔🚧Wilhelmsson177💻🤔🚧⚠️Malte Bär💻Use theall-contributors github botto add contributors here.builds upon work of / kudos tomoritj29's awesometonie_apiTobias RaabeMatthew Wimberly