Exemplo n.º 1
0
def podcast_episode_add_to_db(pod_id, track):

    podcast = Podcast.query.filter_by(id=pod_id).first()
    pod_info = PodcastInfo(podcast)

    pod_info.update_items_list()
    episode_info = pod_info.episode_list()[int(track) - 1]

    title = episode_info['title']
    url = episode_info['url']
    pub_date = episode_info['pubdate'].split(' +')[0]
    pub_date = datetime.datetime.strptime(pub_date, "%a, %d %b %Y %H:%M:%S")
    pub_date = pub_date.strftime('%Y.%m.%d-%H:%M:%S')
    description = episode_info['description']
    length = episode_info['length']

    urls_in_db = [ep.url for ep in podcast.episode_list]
    if not (url in urls_in_db):
        episode = Episode(title=title,
                          url=url,
                          description=description,
                          pub_date=pub_date,
                          downloaded=False,
                          local_file='',
                          audio_size=length,
                          audio_time='0',
                          podcast_id=pod_id)

        db.session.add(episode)
        db.session.commit()

    return redirect(url_for('podcast.podcast_episode_list', id=pod_id))
Exemplo n.º 2
0
def podcast_add_to_feed(id):

    form = PodcastEpisodeForm()

    if form.validate_on_submit():

        title = form.title.data
        url = form.url.data
        date = form.date.data

        podcast = Podcast.query.filter_by(id=id).first()
        pod_info = PodcastInfo(podcast)

        pod_info.add_episode_to_feed(title, url, date)

        redirect_page = url_for('podcast.podcast_feed_episodes', id=id)

        session['last_url'] = redirect_page

        return redirect(redirect_page)

    form.title.data = session['feed_title']
    form.url.data = session['feed_url']
    form.date.data = session['feed_date']

    session['last_url'] = url_for('podcast.podcast_add_to_feed', id=id)

    template_page = 'podcast_add_to_feed.html'

    return render_template(template_page,
                           form=form,
                           config=CONFIG,
                           bookmark_manager=bookmark_manager)
Exemplo n.º 3
0
def podcast_add_episode(id):

    form = URLForm()

    if form.validate_on_submit():

        name = form.name.data
        url = form.url.data

        podcast = Podcast.query.filter_by(id=id).first()
        pod_info = PodcastInfo(podcast)

        if 'temp_file' in session:
            del session['temp_file']

        if 'file_size' in session:
            del session['file_size']

        pod_info.download_episode_from_url(url, name)

        redirect_page = url_for('podcast.podcast_show', id=id)

        session['last_url'] = redirect_page

        return redirect(redirect_page)

    session['last_url'] = url_for('podcast.podcast_add_episode', id=id)

    template_page = 'podcast_add_episode.html'

    return render_template(template_page,
                           form=form,
                           config=CONFIG,
                           bookmark_manager=bookmark_manager)
Exemplo n.º 4
0
def podcast_episode_url(id, track_num):

    podcast = Podcast.query.filter_by(id=id).first()
    pod_info = PodcastInfo(podcast)

    ext_url = pod_info.episode_ext_url(int(track_num))

    return redirect(ext_url)
Exemplo n.º 5
0
def podcast_create_feed(id):

    podcast = Podcast.query.filter_by(id=id).first()
    pod_info = PodcastInfo(podcast)
    pod_info.create_feed()

    redirect_page = url_for('podcast.podcast_episode_list', id=id)

    session['last_url'] = redirect_page

    return redirect(redirect_page)
Exemplo n.º 6
0
def podcast_delete_episode(id, track):

    podcast = Podcast.query.filter_by(id=id).first()
    pod_info = PodcastInfo(podcast)

    pod_info.delete_episode(int(track))

    redirect_page = url_for('podcast.podcast_show', id=id)

    session['last_url'] = redirect_page

    return redirect(redirect_page)
Exemplo n.º 7
0
def podcast_feed_episodes(id):

    podcast = Podcast.query.filter_by(id=id).first()
    pod_info = PodcastInfo(podcast)
    pod_info.update_items_list()

    episodes_list = pod_info.episode_list()

    session['last_url'] = url_for('podcast.podcast_feed_episodes', id=id)

    template_page = 'podcast_feed_episodes.html'

    return render_template(template_page,
                           podcast=podcast,
                           episodes_list=episodes_list,
                           social_sites=CONFIG.SOCIAL_SITES,
                           bookmark_manager=bookmark_manager)
Exemplo n.º 8
0
def podcast_add():

    form = PodcastForm()

    if form.validate_on_submit():

        name = form.name.data
        image = form.image.data
        pod_dir = form.pod_dir.data

        stars = 1
        fav = False

        podcast = Podcast(name=name,
                          image=image,
                          pod_dir=pod_dir,
                          stars=stars,
                          fav=fav)

        db.session.add(podcast)
        db.session.commit()

        pod_info = PodcastInfo(podcast)
        pod_info.create_init_files()

        redirect_page = url_for('podcast.podcast_episode_list', id=podcast.id)

        session['last_url'] = redirect_page

        return redirect(redirect_page)

    session['last_url'] = url_for('podcast.podcast_add')

    template_page = 'podcast_add.html'

    return render_template(template_page,
                           form=form,
                           bookmark_manager=bookmark_manager)