pypandora's People
Forkers
rogersmark shabbirkarimi approximatelylinear thouis brethash asyncopatedsoul lshin simudreampypandora's Issues
Connection is closed when a song loads.
"(2336) 2011-11-07 00:54:42,842 - <WebConnection 127.0.0.1:55848 "/m"> - ERROR -
peer closed connection" and similar messages occur on every instance of a new song being loaded. The end result is that the audio never plays. I have a feeling this is because I didn't feel like booting into linux and ran the script using the Windows version of python. It's version 2.7. Browsers tested include Firefox, Chrome, and IE.
automatically select highest song quality
there's two playable format types, "mp3" and "mp3-hifi"
search pandora.py to find these strings. whether they're available or not comes directly from the playlist xml pandora responds with...it's in each song block. code needs to select hifi if it's available, otherwise regular mp3
infinite logins (which fail) when auth token expires
usually happens when you've been playing for awhile and you try to like/dislike a song, the auth token has expired, so the code tries to re-auth, but for some reason never completes successfully, so it keeps retrying over and over, making us look like spammers :)
Upcoming songs are not updating
Upcoming songs are not updating after station change
How to adapt this for a web running script?
How do I adapt this to run on a already running webserver? I'm trying to upload it to my host but I'm getting a Internal Server Error.
Returning from Pause
After being paused for a while and being started again, we get an unsupported file type error from FMOD. Should I just expect to bounce or reauth in these situations, or do you have any ideas on how to better handle it?
redirect sent and received xml to log file if debugging is enabled
have _pandora C extension return song length
should be pretty simple. once the function exists and is exposed to python, it should be used within the download lock (in Song.download) to set the length attribute on the song object, instead of having it get lazy-set when the song is first played
fetch playlist after every song finish
so we always have a playlist queue of ~5, instead of the queue slowly counting down, refilling, repeat. this should be an easy addition
xmlrpc cli
a customer commandline tool to interface with the xmlrpc server. i think you can use the code module http://docs.python.org/library/code.html
xmlrpc authentication
afaik, xmlrpclib (http://docs.python.org/library/xmlrpclib.html) only allows for basic http authentication. this is probably good enough for authenticating users.
any changes to implement this should go into rpc_server.py as much as is possible
Station ID is not updating
After switching stations the station in song information does not change
next_song, like, dislike rpc methods
add as methods on PandoraServerProxy in rpc_server.py
should basically just use self.account.current_song.like(), self.account.current_station.next() (? can't remember if that exists), etc
Wishlist: get_volume
Would it be possible to get a "get_volume" function? Not sure if that's kept anywhere on your end. If not, I can find a storage place for it on the front end, so that I can init the volume slider with the current volume level.
Doesn't play for me ("Pandora does not support your client version")
(89293) 2011-11-09 09:38:56,101 - socket reactor - ERROR - error in writers
Traceback (most recent call last):
File "pypandora.py", line 1991, in run
try: sock.handle_write(self.shared_data, self)
File "pypandora.py", line 1838, in handle_write
if pandora: self.send_json(pandora.json_data)
File "pypandora.py", line 379, in json_data
data["stations"] = [(id, station.name) for id,station in self.stations.iteritems()]
File "pypandora.py", line 396, in stations
xml = self.connection.send(get, body)
File "pypandora.py", line 229, in send
return self.send(get_data, body, sync_on_error=False)
File "pypandora.py", line 231, in send
raise PandoraException, fault
PandoraException: org.apache.xmlrpc.XmlRpcException: 000.000.000.000|0|INCOMPATIBLE_VERSION|Pandora does not support your client version.
protocol out of date
pandora changed their API, broke everything
humbug
IE9 buffering forever
@redsky17 found this, need to confirm
templates directory doesn't get installed
seems to work fine when using python setup.py develop, but not if you do build, then install. module complains about not being able to find the xml files
endlessly downloads new songs
This has happened two mornings in a row now, approximately an hour or hour and a half after starting up in the morning. Every morning we have a bounce in place via cron for the RPC server that kicks off around 9AM. Now the last two mornings it's started doing that weird noise about 1-1.5 hours after starting up. That in itself isn't the weird part though, because generally a quick restart solves the issue. After the restart though, we end up in this weird loop of endlessly downloading songs. Here's a log excerpt:
(12805) 2011-05-17 10:51:30,714 - root - INFO - authenticating with [email protected]
(12805) 2011-05-17 10:51:30,715 - root - INFO - trying to authenticate with pandora...
(12805) 2011-05-17 10:51:31,253 - root - INFO - authenticated with pandora
(12805) 2011-05-17 10:51:35,447 - root - INFO - playing station The Rolling Stones Radio
(12805) 2011-05-17 10:51:36,356 - root - INFO - downloading /tmp/creedence_clearwater_revisited-suzie_q_live.mp3
(12805) 2011-05-17 10:51:48,021 - root - INFO - finished downloading /tmp/creedence_clearwater_revisited-suzie_q_live.mp3
(12805) 2011-05-17 10:51:52,936 - root - INFO - playing "Suzie Q (Live)" by Creedence Clearwater Revisited (10:11) (-5.23)
(12805) 2011-05-17 10:52:21,459 - root - INFO - preloading "Walk On The Wild Side (Live)" by Lou Reed (0:00) (-4.52)
(12805) 2011-05-17 10:52:21,459 - root - INFO - downloading /tmp/lou_reed-walk_on_the_wild_side_live.mp3
(12805) 2011-05-17 10:52:24,578 - root - INFO - finished playing "Suzie Q (Live)" by Creedence Clearwater Revisited (10:11) (-5.23)
(12805) 2011-05-17 10:52:24,579 - root - INFO - stopping "Suzie Q (Live)" by Creedence Clearwater Revisited (10:11) (-5.23)
(12805) 2011-05-17 10:52:24,595 - root - INFO - playing station The Rolling Stones Radio
(12805) 2011-05-17 10:52:34,375 - root - INFO - finished downloading /tmp/lou_reed-walk_on_the_wild_side_live.mp3
(12805) 2011-05-17 10:52:34,377 - root - INFO - found existing file for /tmp/lou_reed-walk_on_the_wild_side_live.mp3
(12805) 2011-05-17 10:52:36,981 - root - INFO - playing "Walk On The Wild Side (Live)" by Lou Reed (5:56) (-4.52)
(12805) 2011-05-17 10:52:52,147 - root - INFO - preloading "Stay With Me" by The Faces (0:00) (-5.57)
(12805) 2011-05-17 10:52:52,156 - root - INFO - downloading /tmp/the_faces-stay_with_me.mp3
(12805) 2011-05-17 10:52:55,236 - root - INFO - finished playing "Walk On The Wild Side (Live)" by Lou Reed (5:56) (-4.52)
(12805) 2011-05-17 10:52:55,236 - root - INFO - stopping "Walk On The Wild Side (Live)" by Lou Reed (5:56) (-4.52)
(12805) 2011-05-17 10:52:55,248 - root - INFO - playing station The Rolling Stones Radio
(12805) 2011-05-17 10:52:58,719 - root - INFO - finished downloading /tmp/the_faces-stay_with_me.mp3
(12805) 2011-05-17 10:52:58,722 - root - INFO - found existing file for /tmp/the_faces-stay_with_me.mp3
It did the same thing yesterday as well. I left it off for a few minutes, restarted it, and everything seemed to go back to normal. It also did this for a couple minutes yesterday with DjPandora completely shut down, so I don't think it's anything on the web frontend causing it, but I'm willing to be wrong :)
get fresh stations from pandora when rpc get stations is called
pre-compile or find a way to compile C extension for windows
return mp3 purchase urls in rpc server song object
add id3 info to mp3s
here's the spec http://www.id3.org/id3v2.3.0
this should be done in its own branch
excessive memory usage if running too long
700Mb after a few hours....maybe some objects aren't being released?
include fmod libraries and include files in package
for both 32bit and 64bit, mac and linux, and install the correct ones based on some tests in setup.py. should only add another 1.5mb to the actual installation, and ~5mb to the package
fmod channel error
when using playSound, i think if a bunch of sounds get played concurrently while music is playing, there'll be a rare error:
FMOD error! (11) The specified channel has been reused to play another sound. <ProtocolError for localhost:8123/RPC2: -1 >
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.