-
Notifications
You must be signed in to change notification settings - Fork 55
SiriusXM with Ripping capability #13
base: master
Are you sure you want to change the base?
Conversation
Search each layer in the marker lists for the episode layer because it's not always guaranteed to be the same. Fixes the issue where the current episode could not be found. The authentication method now resets the session on login failures. Previously the session would get borked and authentication would no longer work on the session.
Past, current and future episodes are stored when retrieving the now-playing data. As the current episode transitions, it is popped from the store list of episodes until it's empty.
The cookie name appears to have changed to 'SXMAUTHNEW'. This change updates the cookie name so that the script understands it has authenticated.
@kryptek I'm using your fork. Question about the episode recording. Should it stop/split between episodes? I'm using it to download from the Jason Ellis Channel, intent is to archive as many segments as i can for offline listening. It so far has not split, i'm just getting 1 large mp3 file. The guide info does seem correct in the app and online with different episode names. Seems like something is off. i wonder if i need to tweak the data its looking at?
There for sure isn't 22 hours left in this segmement/episode. |
Hey, @mjgorman , It should be splitting between episodes, yes. It's odd that your episode shows as 22 hours remaining. Does the title from your XM Player ever change from the title you see in sxm.py ? The episode is pulled from the API's now-playing-live dict and that contains the episode start/end time. There must be another way we can detect episode changes for you, using longDescription/shortDescription or longTitle/mediumTitle.. I've also had thoughts about fetching the episode directly from the XM website. If we can't debug your issue, this may be something to look into. |
@kryptek Yeah was digging a bit more and seeing that the episode episodes are basically 24 hours long, looks like 12a-12a each day EST. The playing segment does change though. Jason Ellis's channel has segments that are anywhere from 20 to 50 minutes long usually so they are changing, here's an example from the app: My goal is to split on those that way i can have a huge archive for when the wife and I are RVing without having to rely on cell data out boondocking. I did some lazy step debugging (added some extra logging statements) at line 256 in sxm.py right before it actually goes to process the episode data and I don't find those segment infos anywhere in the dict displayed. |
Heres the output from logging out the marker for the episode
|
I see a couple of different guid’s in your log output.. any chance those are changing when the segments change? fef6cd seems like it might be specific to the “episode”; I’d guess that maybe e03f7a or 8deb9b might change somewhere when the segments change. Any chance you can check that out? |
Sirius recently updated their API and changed the JSON structure around a bit. This change fixes the functions which access the channel list response so that the script continues to work
Adds stream ripping and mp3 tagging capability. I've been using this to automatically record shows and push them into iCloud so they appear on my devices.