|
|
2009-06-26
, 09:06
|
|
|
Posts: 1,391 |
Thanked: 4,272 times |
Joined on Sep 2007
@ Vienna, Austria
|
#12
|
I've tried using gPodder (v 0.16.1-2) for a couple of days now but it is simply not a good user experience for me and would love an alternative.
1) It is SO slow.. Simply adding a new podcast by a URL is such a time-sink that I'm simply not doing it again.
2) It keeps launching an app up to the status bar. Is there a way for it NOT to do that?
3) When selecting 'Preferences' from the icon in the status bar nothing shows on the screen if you don't have the gPodder screen up. You have to switch to that app and then...you got a window you can't close.
4) When starting up gPodder it takes a good 10 seconds and then it minimizes itself right away to the left panel. Any way to configure that not to happen?
5) More of a guilty-by-association...it integrates with Panucci which has a pretty bad audio quality when playing podcasts on the N810. Someone posted and commented on that the poor sound quality had to do with the program using gstream (sp?). Then again, I could associate it with MediaPlayer which sounds much better so not an issue per se
6) You can't set how many episodes you want to keep. I spend quite a bit of time where I am not connected to the web and often find the value in having multiple episodes available to me.
Am I just missing the settings for the 'issues' above and/or is there an alternative out there that sounds like it would be a better fit?
|
|
2009-06-26
, 11:38
|
|
Posts: 42 |
Thanked: 16 times |
Joined on Oct 2007
@ Nottingham
|
#13
|
http://feeds.feedburner.com/YouLookNiceToday?format=xml
#!/usr/bin/env python
import sys
from xml.sax import make_parser, handler
from xml.sax.saxutils import DefaultHandler
from email.Utils import parsedate
import time
#
import os
import urllib
# --- The ContentHandler
class RSSHandler(DefaultHandler):
def __init__(self, pc):
self._pc=pc
self._text = ""
self._parent = None
self._title = None
self._link = None
self._encURL=None
self._date = None
self._xml_stack = ['Root']
self._pc._parseFail=False
def ReadIn(self, xml):
self._xml=xml
parser=make_parser()
parser.setContentHandler(self)
try:
parser.parse(self._xml)
except:
print "XML Parse fail"
self._pc._parseFail=True
# ContentHandler methods
def startElement(self, name, attrs):
self._xml_stack.append(name)
self._text = ""
if name=="enclosure" and self._xml_stack[-2]=="item":
self._encURL=attrs.get("url")
def endElement(self, name):
self._xml_stack.pop()
#self._parent=self._xml_stack[len(self._xml_stack)-1]
self._parent=self._xml_stack[-1]
if self._parent == "channel":
if name == "title":
self._pc._Title=self._text
elif name == "description":
self._pc._Desc=self._text
elif name == "lastBuildDate":
self._pc._RSSDate=parsedate(self._text)
elif name == "pubDate":
self._pc._RSSDate=parsedate(self._text)
elif self._parent == "item":
if name == "title":
self._title = self._text
elif name == "link":
self._link = self._text
elif name == "pubDate":
self._date = parsedate(self._text)
elif name == "description":
self._descr = self._text
if name == "item":
self._pc._Episodes.append([self._encURL, self._title,self._date])
self._title = None
self._date=None
self._link = None
self._descr = ""
def characters(self, content):
self._text = self._text + content
class PodcastClass():
def __init__(self):
self._Title=""
self._Episodes=[]
self._Desc=""
self._RSSDate=None
self._machineName=""
self._prevRSSDate=None
self._parseFail=False
def upDated(self):
if self._RSSDate==None:
for ee in self._Episodes:
if ee[2]>self._RSSDate or self._RSSDate==None:
self._RSSDate=ee[2]
return self._RSSDate
def newEpisodes(self):
g=[]
if self._prevRSSDate==None:
g=self._Episodes
else:
for ee in self._Episodes:
if ee[2]>self._prevRSSDate:
g.append(ee)
return g
def shortName(self):
if self._machineName=="":
for c in self._Title.lower():
if c.isalnum():
self._machineName=self._machineName+c
return self._machineName
def newest(self):
re=None
for gg in self.newEpisodes():
if re==None or re[2]<gg[2]:
re=gg
return re
def myReportHook(count, blockSize, totalSize):
print count, count*blockSize, totalSize, int(100 * count*blockSize/totalSize),"\r",
def uncracklink(urlfile):
f=open(urlfile,"r")
u=f.readline()
f.close()
return u
#---+----+---+---+
sDir="/media/mmc1/podcasts/"
d=os.listdir(sDir)
for f in d:
if f.lower().endswith(".url"):
print "Reading file", f.lower()
sPodCast=f[:-4]
sURL=uncracklink(sDir+"/"+f)
if not os.path.isdir(sDir+"/"+sPodCast):
os.mkdir(sDir+"/"+sPodCast)
print "NB: creating podcast directory"
prevPC=PodcastClass()
if sPodCast+".xml" in d:
print "Reading previous XML"
prevPCr=RSSHandler(prevPC)
prevPCr.ReadIn(sDir+"/"+sPodCast+".xml")
if prevPC.upDated()!=None:
print "Podcast", prevPC._Title, time.strftime("%Y-%m-%d %H:%M:%S",prevPC.upDated())
else:
print "No previous XML"
print "Downloading newest RSS XML"
try:
x=urllib.urlretrieve(sURL,sDir+"/"+sPodCast+".1.xml",myReportHook)
except urllib.ContentTooShortError:
print "retrieve fail"
if x[0]!=None:
newPC=PodcastClass()
newPCr=RSSHandler(newPC)
newPCr.ReadIn(x[0])
newPC._prevRSSDate=prevPC.upDated()
if newPC.upDated()!=None:
print "retrieved", newPC._Title, time.strftime("%Y-%m-%d %H:%M:%S",newPC.upDated())
PCtoget=newPC.newest()
if PCtoget!=None and len(PCtoget[0])>0:
print "New episode:", PCtoget[1]
print "url:", len(PCtoget[0])
try:
x2=urllib.urlretrieve(PCtoget[0],sDir+"/"+sPodCast+"/"+PCtoget[0].split("/")[-1],myReportHook)
except urllib.ContentTooShortError:
print "retrieve fail"
else:
os.rename(x[0],sDir+"/"+sPodCast+".xml")
if os.path.exists(x[0]):
os.unlink(x[0])
[Desktop Entry] Encoding=UTF-8 Version=1.0 Name=PPodder Comment=myPPodder Exec=/home/user/ppodder.py Icon=qgn_list_rss Type=Application
| The Following User Says Thank You to ptaffs For This Useful Post: | ||
|
|
2009-06-26
, 16:41
|
|
|
Posts: 1,359 |
Thanked: 717 times |
Joined on May 2009
@ ...standing right behind you...
|
#14
|
Congrats on finding the iconizing option that was causing you pain! I'm not sure why you expected uninstalling and reinstalling would help, though. Uninstalling shouldn't touch your home directory (config files).. even if you uninstall gpodder, the config files will still sit in your home directory (since the package manager didn't put them there).
|
|
2009-06-26
, 17:39
|
|
|
Posts: 4,672 |
Thanked: 5,455 times |
Joined on Jul 2008
@ Springfield, MA, USA
|
#15
|
| The Following User Says Thank You to danramos For This Useful Post: | ||
|
|
2009-06-29
, 20:54
|
|
|
Posts: 283 |
Thanked: 31 times |
Joined on Jun 2009
@ US Air Force
|
#16
|
|
|
2009-06-29
, 21:01
|
|
|
Posts: 4,672 |
Thanked: 5,455 times |
Joined on Jul 2008
@ Springfield, MA, USA
|
#17
|
|
|
2009-10-13
, 22:36
|
|
Posts: 670 |
Thanked: 367 times |
Joined on Mar 2009
|
#18
|
| The Following User Says Thank You to buurmas For This Useful Post: | ||
|
|
2009-10-13
, 23:13
|
|
Posts: 59 |
Thanked: 7 times |
Joined on Oct 2009
|
#19
|
Also, there is Videocenter, it's done for video podcasts but it works with audio too.
It's a Nokia application (closed-source if you care about it).
When I have consumed podcasts in the tablets I have used this application, it's simple an very efficient IMHO.

|
|
2009-10-14
, 18:46
|
|
Posts: 670 |
Thanked: 367 times |
Joined on Mar 2009
|
#20
|
It's a Nokia application (closed-source if you care about it).
When I have consumed podcasts in the tablets I have used this application, it's simple an very efficient IMHO.
Daniel Martín Yerga
maemo.org profile
Twitter