podcast parsing

This commit is contained in:
boyska 2023-03-18 22:27:33 +00:00
parent 3e9299e77c
commit 22cfc3ae46
2 changed files with 19 additions and 14 deletions

View file

@ -24,7 +24,9 @@
"framework7-icons": "^5.0.5",
"framework7-vue": "^7.1.2",
"howler": "^2.2.3",
"isomorphic-unfetch": "^4.0.2",
"material-icons": "^1.13.1",
"podparse": "^1.5.1",
"skeleton-elements": "^4.0.1",
"swiper": "^8.4.6",
"tailwindcss": "^3.2.4",

View file

@ -1,15 +1,16 @@
<template>
<f7-page name="show">
<f7-preloader v-if='loading' />
<f7-preloader v-if='loading_meta' />
<f7-block v-else>
<f7-block-title>{{Show.name}}</f7-block-title>
<f7-block-title>{{ShowBasicInfo.name}}</f7-block-title>
<f7-block-header>{{Radio.name}}</f7-block-header>
</f7-block>
<f7-list>
<f7-preloader v-if='loading' />
<f7-list v-else>
<f7-list-item v-for='episode in Show.episodes' :key='episode.url' :title='episode.title' :link='`/radio/${radioId}/shows/${Show.name}/${episode.url}`' :footer='episode.text' />
</f7-list>
</f7-block>
</f7-page>
</template>
@ -17,10 +18,14 @@
<script>
import radiomanifest from '../js/radiomanifest'
import fetch from 'isomorphic-unfetch'
import getPodcastFromFeed from "podparse"
export default {
name: 'radio',
data () {
return {
loading_meta: true,
loading: true,
radioId: null,
showId: null,
@ -31,18 +36,16 @@ export default {
async mounted () {
this.radioId = this.f7route.params.radioId
this.showId = this.f7route.params.showId
// XXX: parse podcast
this.Show = {
episodes: [
{title: 'titolo1', text: 'foo1', 'url': '/asd1'},
{title: 'titolo2', text: 'foo2', 'url': '/asd2'},
],
name: this.showId,
}
console.log('show=', this.Show)
this.ShowBasicInfo = {}
try {
this.Radio = await radiomanifest.get(this.f7route.params.radioId)
console.log('Radio=', this.Radio)
this.ShowBasicInfo = this.Radio.getShowByName(this.showId)
this.loading_meta = false
let feedContent = await fetch(this.ShowBasicInfo.getFeed())
feedContent = await feedContent.text()
this.Show = await getPodcastFromFeed(feedContent)
console.log('Show =', this.Show)
this.loading = false
} catch (e) {
console.error('le cose non vanno mai sempre bene!', e)