Giter Site home page Giter Site logo

jkbrzt / podcats Goto Github PK

View Code? Open in Web Editor NEW
126.0 12.0 28.0 47 KB

🎧 🐈🐈🐈 Podcats generates RSS feeds for podcast episodes from local audio files and, optionally, exposes both via a built-in web server.

Home Page: https://pypi.org/project/podcats

License: Other

Python 88.83% HTML 11.17%
podcast rss feed server flask python itunes overcast importer audiobooks

podcats's Introduction

Podcats

image

Podcats generates RSS feeds for podcast episodes from local audio files and, optionally, exposes both the feed and episodes via a built in web server, so that they can be conveniently imported into iTunes, Overcast or another podcast client.

Installation

$ pip install podcats

Usage

Generate a podcast RSS from audio files stored in `my/offline/podcasts`:

$ podcats generate my/offline/podcasts

Generate & serve the feed as well as the files at http://localhost:5000. :

$ podcats serve my/offline/podcasts

A web interface is available at http://localhost:5000/web.

You can also generate the html for the web interface. :

$ podcats generate_html my/offline/podcasts

For more options see podcats --help.

Contact

Jakub Roztočil

Changelog

0.6.3 (2019-02-03)

  • Fixed relative paths.

0.6.2 (2018-11-25)

  • Fixed missing templates in PyPI package.

0.6.1 (2018-11-20)

  • Find and show eventual book covers in web interface (@tiktuk)

0.6.0 (2018-11-20)

  • Added a web interface (@tiktuk)
  • Support m4b-files (@tiktuk)
  • Added --debug flag (@tiktuk)
  • Feed now validates against RSS spec (@tiktuk)

0.5.0 (2017-02-26)

  • Fixed setup.py for Python 3 (@ymomoi)

0.3.0 (2017-02-23)

  • Added Python 3 support
  • Improved episode ID tag title extraction (@ymomoi)
  • Replaced --url with --host and --port (@ymomoi)

podcats's People

Contributors

jkbrzt avatar lowks avatar tiktuk avatar ymomoi avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

podcats's Issues

Encounter an error after compiling and intend to run

podcats --help

Traceback (most recent call last):
File "/usr/local/bin/podcats", line 7, in
from podcats import main
File "/usr/local/lib/python3.5/dist-packages/podcats/init.py", line 27, in
import humanize
File "/usr/local/lib/python3.5/dist-packages/humanize/init.py", line 5, in
from humanize.number import (
File "/usr/local/lib/python3.5/dist-packages/humanize/number.py", line 83
return f"{value}{t[0]}"

Overcast does not find podcast feed

Hello

I'm using 0.5.0 version and I'm using the "serve" option.

When I open this URL in Mobile Safari, I can see the list of the episdoes. However when I open that link in Overcast, it says "cannot find a podcast feed at this URL."

Am I missing something?

Templates missing from pip package 0.61

As deployed on pip, podcats is missing the templates folder and its contents, so I am unable to serve feeds or the web UI when using that release. (It loads fine if i run it from the git release.)

Super lovely implementation though, exactly what i was looking for! <3

Host a sample demo website

Thanks for building this! I wanted to use it, but it'd be great to see a sample before that -- I'll now have to clone and build this myself and invest ~30 mins doing so. Maybe you could host a demo sever for people from the future? If I do use it, I could create a PR with a link to my host.

[Question] This project working?

Hi
I tryng to use podcats with docker ( create image to ubuntu ) with python3, setuptools, pip

Firts I build the package and next install but when I use with differents options:

  • podcats generate /media/podcast have error with MPEG frame
  • podcats --host localhost --port 5000 --debug --title MyPodCast serve /media/podcast working but I dont have acces.

Now I test with virtual machine (virtualbox) for test.

For this is my question. This project is valid? And working?

Thanks

Image not showing in Downcast

I put pictures in the folder, and there are corresponding links in the xml file, but the pictures do not appear in the Downcast under ios.

Files not accessible - returns 404

When I add the http://192.168.1.20:5000 to the iPhone's default Podcast player, it detects it and the list of episodes are shown correctly.

However, when I download an episode ,it returns 404

192.168.1.32 - - [05/May/2017 20:48:59] "GET / HTTP/1.1" 200 -
192.168.1.32 - - [05/May/2017 20:49:08] "GET /static/Episode_01.mp3 HTTP/1.1" 404 -

I'm serving as

podcats --host 192.168.1.20 serve Folder_with_episdoes/

The Folder_with_episodes/ contains Episode_01.mp3 directly and does not have a static subfolder.

I'm using python 2.7.11

Originally posted by @sundarv85 in #8 (comment)

UnicodeDecodeError for episodes with non-ASCII titles

I get the following error when trying to generate a podcast from an mp3 with the title "SM000001. Zweig, Stefan; Verden af i går". It seems like the 'å' is a problem.

Traceback (most recent call last):
  File "/home/tuk/.virtualenvs/podcats-original-pip/lib/python2.7/site-packages/flask/app.py", line 1997, in __call__
    return self.wsgi_app(environ, start_response)
  File "/home/tuk/.virtualenvs/podcats-original-pip/lib/python2.7/site-packages/flask/app.py", line 1985, in wsgi_app
    response = self.handle_exception(e)
  File "/home/tuk/.virtualenvs/podcats-original-pip/lib/python2.7/site-packages/flask/app.py", line 1540, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/home/tuk/.virtualenvs/podcats-original-pip/lib/python2.7/site-packages/flask/app.py", line 1982, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/tuk/.virtualenvs/podcats-original-pip/lib/python2.7/site-packages/flask/app.py", line 1614, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/tuk/.virtualenvs/podcats-original-pip/lib/python2.7/site-packages/flask/app.py", line 1517, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/home/tuk/.virtualenvs/podcats-original-pip/lib/python2.7/site-packages/flask/app.py", line 1612, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/tuk/.virtualenvs/podcats-original-pip/lib/python2.7/site-packages/flask/app.py", line 1598, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/tuk/.virtualenvs/podcats-original-pip/lib/python2.7/site-packages/podcats.py", line 177, in 
    channel.as_xml(),
  File "/home/tuk/.virtualenvs/podcats-original-pip/lib/python2.7/site-packages/podcats.py", line 164, in as_xml
    items=u''.join(episode.as_xml() for episode in sorted(self))
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 65: ordinal not in range(128)

The is version 0.5.0.

UnicodeDecodeError when there is non-ascii characters in path to files

python podcats.py serve --host tiktuk.net --port 5001 ~/Æblegrød

gives the following error when I press play in my podcast player:

Traceback (most recent call last):
  File "/home/tuk/.virtualenvs/podcats/lib/python2.7/site-packages/flask/app.py", line 1997, in __call__
    return self.wsgi_app(environ, start_response)
  File "/home/tuk/.virtualenvs/podcats/lib/python2.7/site-packages/flask/app.py", line 1985, in wsgi_app
    response = self.handle_exception(e)
  File "/home/tuk/.virtualenvs/podcats/lib/python2.7/site-packages/flask/app.py", line 1540, in handle_exception
    reraise(exc_type, exc_value, tb)
  File "/home/tuk/.virtualenvs/podcats/lib/python2.7/site-packages/flask/app.py", line 1982, in wsgi_app
    response = self.full_dispatch_request()
  File "/home/tuk/.virtualenvs/podcats/lib/python2.7/site-packages/flask/app.py", line 1614, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/home/tuk/.virtualenvs/podcats/lib/python2.7/site-packages/flask/app.py", line 1517, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/home/tuk/.virtualenvs/podcats/lib/python2.7/site-packages/flask/app.py", line 1612, in full_dispatch_request
    rv = self.dispatch_request()
  File "/home/tuk/.virtualenvs/podcats/lib/python2.7/site-packages/flask/app.py", line 1598, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/home/tuk/.virtualenvs/podcats/lib/python2.7/site-packages/flask/helpers.py", line 928, in send_static_file
    cache_timeout=cache_timeout)
  File "/home/tuk/.virtualenvs/podcats/lib/python2.7/site-packages/flask/helpers.py", line 669, in send_from_directory
    filename = safe_join(directory, filename)
  File "/home/tuk/.virtualenvs/podcats/lib/python2.7/site-packages/flask/helpers.py", line 639, in safe_join
    return posixpath.join(*parts)
  File "/usr/lib/python2.7/posixpath.py", line 71, in join
    path +=  b
UnicodeDecodeError: 'ascii' codec can't decode byte 0xc3 in position 14: ordinal not in range(128)

py 3.10 bug

Traceback (most recent call last):
File "C:\Users\jinqi\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 196, in run_module_as_main
return run_code(code, main_globals, None,
File "C:\Users\jinqi\AppData\Local\Programs\Python\Python310\lib\runpy.py", line 86, in run_code
exec(code, run_globals)
File "C:\Users\jinqi\AppData\Local\Programs\Python\Python310\Scripts\podcats.exe_main
.py", line 7, in
File "C:\Users\jinqi\AppData\Local\Programs\Python\Python310\lib\site-packages\podcats_init
.py", line 283, in main
text_to_xml(channel.as_xml() , xmlpath)
File "C:\Users\jinqi\AppData\Local\Programs\Python\Python310\lib\site-packages\podcats_init
.py", line 230, in as_xml
items=u''.join(episode.as_xml() for episode in sorted(self))
File "C:\Users\jinqi\AppData\Local\Programs\Python\Python310\lib\site-packages\podcats_init_.py", line 69, in lt
return self.date < other.date
File "C:\Users\jinqi\AppData\Local\Programs\Python\Python310\lib\site-packages\podcats_init_.py", line 146, in date
dt = self.get_tag('date')
File "C:\Users\jinqi\AppData\Local\Programs\Python\Python310\lib\site-packages\podcats_init_.py", line 112, in get_tag
return self.tags[name][0]
TypeError: 'NoneType' object is not subscriptable

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.