Aside from tellyaddict's caveat (others welcome);
snip

> I think what Charles was meaning is that if you were using --url 
> "http://www.bbc.co.uk/programmes/b08xy0gl"; rather than a direct PID then the 
> code is looking for something starting with either b, p or w followed by 
> between 7 and 14 letters or numbers and the first thing it hits that matches 
> all that criteria is the word "programmes". Like you say, GiP wouldn't return 
> any VPID info but as it finds programmes to be a valid PID, it won't keep 
> looking for the proper PID in that URL so would never be able to download 
> from a URL.
> 

?
pseudo code
if --url
  strip characters following last /
  use as pid
  validate_pid
end-if
?

Anyway...
changing all 7 occurrences (sigh...) of
[bp]0[a-z0-9]{6}
to
(?:[bp]0[a-z0-9]{6}|w[a-z0-9]{7,14})
solves the w3*, w1* problem for Me.

I only use WebPVR and command line with explicit pids.
A re-run of WebPVR successfully downloaded all my outstanding programmes.  I 
then refreshed (radio) cache, made selections (b*, p* & w*) and everything down 
loaded fine.

Big thanks to Vangelis & Ralph.

FWIW
I usually refresh radio cache daily, make selections and then run WebPVR (or 
list on command line).  First noticed a w* pid on the 5th August (Music Extra: 
The Music of Time - The Music of Time – Cuba (w3csvnyc) ).  Thought it was a 
one-off.  It was until the 12th when a slew of w3* and w1* appeared.
Can't comment on the BBC's Pid.php;
https://github.com/bbc/programmes-pages-service/blob/master/src/Domain/ValueObject/Pid.php#l14

Also.
No disrespect intended to Dinkypumpkin as "he's" only picked-up existing code 
but, as an ex-programmer I'm horrified by the code repetition.  Doesn't Perl 
allow 'functions'?  i.e. if valid_pid ... where valid_pid contains said 
validation.

Regards,
Martin

_______________________________________________
get_iplayer mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/get_iplayer

Reply via email to