podcastr/createPodcastFeed.py

51 lines
1.4 KiB
Python
Executable File

#!/usr/bin/python
# This Python file uses the following encoding: utf-8
from __future__ import unicode_literals
from os import listdir,chmod
from os.path import isfile,getsize
from stat import S_IXOTH,S_IRUSR,S_IWUSR,S_IXUSR,S_IRGRP
from sys import getfilesystemencoding
from feedgen.feed import FeedGenerator
fg = FeedGenerator()
fg.load_extension('podcast')
fg.podcast.itunes_category('Technology','Podcasting')
fg.id('http://pod.menf.in/podcast.xml')
fg.title('Radio Julia')
fg.author( name='Léo Potier', email='undisclosed@menf.in' )
fg.link( href='http://pod.menf.in/podcast.xml', rel='self' )
fg.logo('http://pod.menf.in/shows/podcast.jpg')
fg.description('Podcast hebdomadaire')
fg.language('fr')
listOfPodcasts = [ p for p in listdir("./shows/")
if p.endswith(".mp3") ]
listOfPodcasts.sort()
# For each file in 'shows'
for p in listOfPodcasts:
basename = p[:-4]
name = basename[3:]
description = "./shows/%s.txt" % basename
fe = fg.add_entry()
fe.id(p)
fe.title(name)
if isfile(description):
with open(description, "r") as f:
s = f.read()
fe.description(s.decode('UTF-8'))
else:
fe.description("Émission " + name)
fe.enclosure("http://pod.menf.in/shows/" + p, "%s" % getsize("./shows/%s" % p), 'audio/mpeg')
fg.rss_str(pretty=True)
fg.rss_file('podcast.xml')
# Checking rights
chmod("./shows", S_IXOTH | S_IRUSR | S_IWUSR | S_IXUSR | S_IRGRP)
print("That's all folks")