MozillaZine

[EXT] UK TV, and Radio, Guide and Search

Announce and Discuss the Latest Theme and Extension Releases.
Benjamin Markson

User avatar
 
Posts: 338
Joined: November 19th, 2011, 3:57 am
Location: en-GB

Post Posted December 12th, 2013, 5:43 am

As alluded to here the data for my original UK TV Guide and Search add-on is slowly atrophying. So, this is announcing its replacement:

UK TV, and Radio, Guide and Search.

The reason for this is that the original data feed is being replaced with a completely new way of fetching the data. The old data feed is a sub-set of this new feed and is slated to be discontinued.

For old users it's pretty much business as usual, for the most part everything will look familiar, but there are a number of changes. We also have more TV channels - so we should now have those 'missing' TV channels - we also have Radio channels.

The main changes are:

• There are now listings for both TV and Radio.
• The Channel List can be filtered by Service: Freeview, Freesat, Virgin Media, Sky, etc.
• The Channel List can be filtered by Media: TV, or Radio.
• Genres get split between a Main Genre for the Guide Colours, and a much more detailed Sub Genre on the Search.

More minor changes:

• For a selected Service you can show the Channel Numbers.
• Films now include a certificate rating: 18, 15, PG, and U.
• A new Attributes filter of: Audio Described (this is a feature for people with vision impairment. See here: RNIB for information on how to access this feature on your TV).
• A few extra items (High Definition, Surround Sound, Audio Described, and Live) appear on the programme details panel.
• There maybe other minor things that I don't remember changing! :)

Considerations:

When selecting channels I strongly recommend that you pick a Service other then All otherwise the list of channels can be overwhelming (and a little confusing).

The new feed only carries 7 days of Schedule data, unlike the old feed that has 14 days. There's nothing I can do about this.

Channel Numbers may not reflect regional variations. Hopefully, I have got the most common numbers.

A Total Episodes value is currently not in the data feed.

The Genres have not only changed but work slightly differently. I'm now capturing a Main, and a Sub Genre. On the Guide the Colours drop-down includes relatively few broad Genres, whereas on the Search you will now find a much more detailed list of Genres. Basiclly, I decided that the detailed Genres on the Guide was too much, and the broad Genres on the Search was too little.

There is a 'Lucky Dip' of channels under the Service drop-down. These are channels that don't appear under any of the 'proper' Services. The Radio channels mainly seem to be for Local Radio. The TV channels mainly seem to be junk (and have no Schedule data). At some time in the future I may remove these channels - what do people think?

Fetching the Channel List can take some time (for me it takes around 30 seconds) therefore, once you have initially established the Channel List, I recommend that you check the 'Fetch Only Schedules' checkbox. This will prevent the Channel List from being fetched each day. As the list of channels rarely changes, you probably only need to periodically uncheck this option, refresh the screen, and then recheck the option again, to keep the Channel List up to date.

Finally:

So far I have chosen only to submit this add-on for a Preliminary Review because I don't think it's fully ready. The new feed - which is supplied under the stewardship of: http://metabroadcast.com - is still under development and therefore may not be 100% reliable. I have not used my add-on as much as I would like before release because I know there are people who are keen to get the 'missing' channels. Please, therefore, report any issues here and be patient if there are any glitches - hopefully there are no 'show stoppers' and you can enjoy the additional channel coverage without too many hiccups.

The good news is that the new data feed is being actively developed. For example, we may see Film ratings some time in the future.

This add-on will happily run alongside the original UK TV Guide and Search.

Ben.
XUL is dead. Long live the Google Chrome Clones.

Vitesse
 
Posts: 1236
Joined: April 21st, 2011, 6:03 pm

Post Posted December 13th, 2013, 2:48 am

Well done that man! =D>

I shall have a play around with this over the next couple of days and post any issues here, Ben.

Benjamin Markson

User avatar
 
Posts: 338
Joined: November 19th, 2011, 3:57 am
Location: en-GB

Post Posted December 14th, 2013, 2:38 am

Sorry folks.

At the time of typing, the feed seems to be down. No schedule content is being returned from http://atlas.metabroadcast.com/4.0/schedules

I did say the new feed might not be 100% reliable just yet. :oops:

Ben.
XUL is dead. Long live the Google Chrome Clones.

Vitesse
 
Posts: 1236
Joined: April 21st, 2011, 6:03 pm

Post Posted December 14th, 2013, 3:35 am

Ah, I thought maybe it was just me! It was working fine yesterday, so getting a blank page was a bit disconcerting ...

Benjamin Markson

User avatar
 
Posts: 338
Joined: November 19th, 2011, 3:57 am
Location: en-GB

Post Posted December 14th, 2013, 7:11 am

There's an indication that it's being worked on even as we type...

See: https://groups.google.com/forum/?fromgr ... rzfnEyp7Qk

So, it may be back soon, although, if that {"schedule": bit is going to remain in the output then I'm going to have to issue a fix because that's a change to how it was working before.

Ben.
XUL is dead. Long live the Google Chrome Clones.

Benjamin Markson

User avatar
 
Posts: 338
Joined: November 19th, 2011, 3:57 am
Location: en-GB

Post Posted December 14th, 2013, 9:48 am

This will probably not get fixed until early next week. :(

I have a version ready that reflects the change in the shape of the data but until the actual data returns I'm going to hold fire.

Sorry for the false start.

Ben.
XUL is dead. Long live the Google Chrome Clones.

keithy397

User avatar
 
Posts: 2339
Joined: August 29th, 2004, 6:49 pm
Location: North Wales, UK.

Post Posted December 15th, 2013, 3:17 am

Hi Ben,

I notice there's no Satellite category in the 'Service' selection. Is that because of the current problems you're having?
Cheers,
Keith

Benjamin Markson

User avatar
 
Posts: 338
Joined: November 19th, 2011, 3:57 am
Location: en-GB

Post Posted December 15th, 2013, 7:47 am

These are the Services I see in my list:

    BT TV
    Freesat
    Freeview
    Saorsat
    Saorview
    Sky HD
    Sky SD
    TalkTalk YouView
    Top Up TV
    UPC
    Virgin
    YouView
Does that not include the satellite services? I may be misunderstanding something as I'm just a simple Freeview soul. :)

The Channel data is currently available. It's the Schedule data that is currently missing.

Ben.
XUL is dead. Long live the Google Chrome Clones.

keithy397

User avatar
 
Posts: 2339
Joined: August 29th, 2004, 6:49 pm
Location: North Wales, UK.

Post Posted December 15th, 2013, 9:57 am

Sorry for the delay, this is what I got:-

BT TV
Saorsat
Saorview
Top Up TV
UPC
Virgin
YouView
Cheers,
Keith

Benjamin Markson

User avatar
 
Posts: 338
Joined: November 19th, 2011, 3:57 am
Location: en-GB

Post Posted December 15th, 2013, 12:06 pm

It kind of feels as if you didn't get a full download of Channel data (it does take a bit of time).

This is the sort of thing you'd expect to see in the Log after a full download of Channel data:

Code: Select all
Fetching: http://atlas.metabroadcast.com/3.0/channel_groups.json?limit=50&offset=0&annotations=channels
50 records returned for Channel Groups.
Fetching: http://atlas.metabroadcast.com/3.0/channel_groups.json?limit=50&offset=50&annotations=channels
50 records returned for Channel Groups.
Fetching: http://atlas.metabroadcast.com/3.0/channel_groups.json?limit=50&offset=100&annotations=channels
50 records returned for Channel Groups.
Fetching: http://atlas.metabroadcast.com/3.0/channel_groups.json?limit=50&offset=150&annotations=channels
50 records returned for Channel Groups.
Fetching: http://atlas.metabroadcast.com/3.0/channel_groups.json?limit=50&offset=200&annotations=channels
33 records returned for Channel Groups.

...which should give you the full set of Channels that have a Service.

Followed by:

Code: Select all
Fetching: http://atlas.metabroadcast.com/3.0/channels.json?limit=100&offset=0
100 records returned for Channels.
Fetching: http://atlas.metabroadcast.com/3.0/channels.json?limit=100&offset=100
100 records returned for Channels.
Fetching: http://atlas.metabroadcast.com/3.0/channels.json?limit=100&offset=200
100 records returned for Channels.
Fetching: http://atlas.metabroadcast.com/3.0/channels.json?limit=100&offset=300
100 records returned for Channels.
Fetching: http://atlas.metabroadcast.com/3.0/channels.json?limit=100&offset=400
100 records returned for Channels.
Fetching: http://atlas.metabroadcast.com/3.0/channels.json?limit=100&offset=500
100 records returned for Channels.
Fetching: http://atlas.metabroadcast.com/3.0/channels.json?limit=100&offset=600
100 records returned for Channels.
Fetching: http://atlas.metabroadcast.com/3.0/channels.json?limit=100&offset=700
100 records returned for Channels.
Fetching: http://atlas.metabroadcast.com/3.0/channels.json?limit=100&offset=800
100 records returned for Channels.
Fetching: http://atlas.metabroadcast.com/3.0/channels.json?limit=100&offset=900
100 records returned for Channels.
Fetching: http://atlas.metabroadcast.com/3.0/channels.json?limit=100&offset=1000
100 records returned for Channels.
Fetching: http://atlas.metabroadcast.com/3.0/channels.json?limit=100&offset=1100
100 records returned for Channels.
Fetching: http://atlas.metabroadcast.com/3.0/channels.json?limit=100&offset=1200
100 records returned for Channels.
Fetching: http://atlas.metabroadcast.com/3.0/channels.json?limit=100&offset=1300
100 records returned for Channels.
Fetching: http://atlas.metabroadcast.com/3.0/channels.json?limit=100&offset=1400
100 records returned for Channels.
Fetching: http://atlas.metabroadcast.com/3.0/channels.json?limit=100&offset=1500
22 records returned for Channels.

...which fetches all those 'orphan' Channels (the 'Lucky Dip' stuff).

To see the Log: click the 'i' icon (bottom right), and then the Log button.

These log entries will only appear when the Channels are fetched. The only way you can easily force this to happen after a successful Channel download (without waiting for the next day) would be to delete (or rename) the sqlite database file in the UKTVGuideV2 folder under your Firefox profile - also making sure you have 'Fetch Only Schedules' unchecked.

Be aware that if you delete the sqlite database then you're effectively starting from scratch ... you lose any Picks, Aliases, Groups, Colours, Favourites.

Having said that, it doesn't feel like you've had a successful Channel download.

Ben.
XUL is dead. Long live the Google Chrome Clones.

keithy397

User avatar
 
Posts: 2339
Joined: August 29th, 2004, 6:49 pm
Location: North Wales, UK.

Post Posted December 17th, 2013, 3:37 am

Hmmm,

Code: Select all
17/12/2013 10:17:45 – Database: C:\Documents and Settings\Owner\Application Data\Mozilla\Firefox\Profiles\z4txdqjk.keithy397\UKTVGuideV2\UKTVGuideV2.sqlite
17/12/2013 10:17:46 – Executed in executeAsyncSql: CREATE TABLE IF NOT EXISTS Channels (Id TEXT PRIMARY KEY NOT NULL UNIQUE,  Id_Description TEXT NOT NULL,  Media_Type TEXT NOT NULL) Parms()
17/12/2013 10:17:46 – Executed in executeAsyncSql: CREATE TABLE IF NOT EXISTS Platforms (Id TEXT NOT NULL,  Platform_Id TEXT NOT NULL,  Platform_Description TEXT NOT NULL,  Channel_Number INTEGER,  PRIMARY KEY (Id, Platform_Id)) Parms()
17/12/2013 10:17:46 – Executed in executeAsyncSql: CREATE TABLE IF NOT EXISTS Schedule (Id TEXT NOT NULL,  Title TEXT,  Sub_Title TEXT,  Series TEXT,  Episode TEXT,  Year INTEGER,  Director TEXT,  Cast TEXT,  Premiere BOOL,  Film BOOL,  Repeat BOOL,  Subtitles BOOL,  Widescreen BOOL,  High_Definition BOOL,  Surround BOOL,  New_Series BOOL,  Deaf_Signed BOOL,  Audio_Described BOOL,  Black_and_White BOOL,  Live BOOL,  Rating TEXT,  Certificate TEXT,  Main_Genre TEXT,  Sub_Genre TEXT,  Description TEXT,  Start_Date TEXT NOT NULL,  Start_Time TEXT NOT NULL,  End_Date TEXT NOT NULL,  End_Time TEXT NOT NULL,  Duration INTEGER,  PRIMARY KEY (Id, Start_Date, Start_Time, End_Date, End_Time)) Parms()
17/12/2013 10:17:46 – Executed in executeAsyncSql: CREATE TABLE IF NOT EXISTS Timing (Id TEXT PRIMARY KEY NOT NULL UNIQUE,  Date TEXT NOT NULL,  Time TEXT NOT NULL) Parms()
17/12/2013 10:17:46 – Executed in executeAsyncSql: CREATE TABLE IF NOT EXISTS Picks (Group_Id INTEGER NOT NULL,  Id TEXT NOT NULL,  PRIMARY KEY (Group_Id, Id)) Parms()
17/12/2013 10:17:46 – Executed in executeAsyncSql: CREATE TABLE IF NOT EXISTS Groups (Group_Id INTEGER PRIMARY KEY NOT NULL UNIQUE,  Group_Description TEXT) Parms()
17/12/2013 10:17:46 – Executed in executeAsyncSql: CREATE TABLE IF NOT EXISTS Alias (Group_Id INTEGER NOT NULL,  Id TEXT NOT NULL,  Alias TEXT,  PRIMARY KEY (Group_Id, Id)) Parms()
17/12/2013 10:17:46 – Executed in executeAsyncSql: CREATE TABLE IF NOT EXISTS Colours (Genre TEXT PRIMARY KEY NOT NULL UNIQUE,  Colour TEXT NOT NULL) Parms()
17/12/2013 10:17:46 – Executed in executeAsyncSql: CREATE TABLE IF NOT EXISTS Favourites (Title TEXT NOT NULL,  Series TEXT NOT NULL,  PRIMARY KEY (Title, Series)) Parms()
17/12/2013 10:17:46 – Executed in executeAsyncSql: CREATE TABLE IF NOT EXISTS List (Id TEXT PRIMARY KEY NOT NULL UNIQUE,  Id_Description TEXT NOT NULL,  Alias TEXT NOT NULL,  Media_Type TEXT NOT NULL,  Channel_Number INTEGER) Parms()
17/12/2013 10:17:46 – Executed in executeAsyncSql: CREATE TABLE IF NOT EXISTS Search (Search_Row_Id INTEGER PRIMARY KEY NOT NULL UNIQUE) Parms()
17/12/2013 10:17:46 – Executed in executeAsyncSql: CREATE TABLE IF NOT EXISTS Log (Date TEXT NOT NULL,  Time TEXT NOT NULL,  Log_Text TEXT) Parms()
17/12/2013 10:17:46 – Executed in executeAsyncSql: DELETE FROM Log Parms()
17/12/2013 10:17:46 – Executed in executeAsyncSql: INSERT OR IGNORE INTO Groups (Group_Id, Group_Description) VALUES (?1, ?2) Parms(1,Default Group)
17/12/2013 10:17:46 – Channels(-1) is already up to date.
17/12/2013 10:17:47 – Executed in executeAsyncSql: DELETE FROM List Parms()
17/12/2013 10:17:47 – Group List initialised.
17/12/2013 10:17:47 – Populate Service button complete.
17/12/2013 10:17:48 – Channel List initialised.
17/12/2013 10:17:48 – Ready.


All Greek to me Ben!!
Cheers,
Keith

Benjamin Markson

User avatar
 
Posts: 338
Joined: November 19th, 2011, 3:57 am
Location: en-GB

Post Posted December 17th, 2013, 6:38 am

Hi Keith,

Most of it - the "CREATE TABLE IF NOT EXIST" stuff - is just creating the database tables... if they don't already exist.

However, the later entry of: "Channels(-1) is already up to date." indicates that the Channels were not updated. Either because this is not the first run of the day, or because the: 'Fetch Only Schedules' checkbox is ticked.

So, by design, no attempt was made to update the Channel List therefore I can't really conclude anything.

If you do have the: 'Fetch Only Schedules' checkbox ticked then you need to untick this, refresh the browser window, and then look at the log.

If this wasn't the first use for today you will need to look at the log tomorrow following the first use of the add-on.

Incidentally, currently there is still no Schedule data being returned from the feed. :(

Ben.
XUL is dead. Long live the Google Chrome Clones.

keithy397

User avatar
 
Posts: 2339
Joined: August 29th, 2004, 6:49 pm
Location: North Wales, UK.

Post Posted December 17th, 2013, 11:57 pm

Oops! I had the 'Fetch Only Schedules' ticked!

Thanks for the help Ben and for the amount of work you've put into this brill extension.
Cheers,
Keith

Benjamin Markson

User avatar
 
Posts: 338
Joined: November 19th, 2011, 3:57 am
Location: en-GB

Post Posted December 18th, 2013, 4:53 am

:)

Does that mean you now have the complete list of Services?

I'm guessing that maybe you originally ticked the 'Fetch Only Schedules' checkbox while it was in the process of downloading the Channels? That would have stopped it in mid-flight.

Unlike on the old set up, the channels are accumulated from the product of about a dozen separate fetch requests over around a 30 second period. Ticking that box during that time would cause the process to stop early.

I think I can tweak the code to have it only take notice of the checkbox on the first of the Channel fetch request preventing people from accidentally stopping it early once it has started - I think that would make more sense - once it has started it's important that it is allowed to finish.

Now, if we could just get the Schedule data back! [-o<

Ben.
XUL is dead. Long live the Google Chrome Clones.

keithy397

User avatar
 
Posts: 2339
Joined: August 29th, 2004, 6:49 pm
Location: North Wales, UK.

Post Posted December 18th, 2013, 5:52 am

Benjamin Markson wrote:Does that mean you now have the complete list of Services?

Sure does Ben but.....

Benjamin Markson wrote:Now, if we could just get the Schedule data back! [-o<

.....just waiting for the schedule! :-"
Cheers,
Keith

Return to Extension/Theme Releases


Who is online

Users browsing this forum: No registered users and 3 guests