From 92c1b3a0e2bec3232e079c1ad8f74a84ee22abad Mon Sep 17 00:00:00 2001 From: Nic Ford Date: Mon, 5 Dec 2016 08:38:23 +0000 Subject: [PATCH] First tranch --- boxsetter.rb | 261 +++++++ common.rb | 161 +++++ db.sql | 1353 ++++++++++++++++++++++++++++++++++++ db_boxsetter.sqlite3 | Bin 0 -> 472064 bytes doctor_who_ordered.sqlite3 | Bin 0 -> 74752 bytes harvest.rb | 7 + harvest.sh | 9 + irb-setup.rb | 23 + models/boxset.rb | 351 ++++++++++ models/broadcast_entity.rb | 82 +++ models/channel.rb | 49 ++ models/programme.rb | 267 +++++++ models/season.rb | 155 +++++ models/user.rb | 227 ++++++ views/obj_html.erb | 12 + views/objects_html.erb | 16 + views/objects_json.erb | 1 + 17 files changed, 2974 insertions(+) create mode 100755 boxsetter.rb create mode 100755 common.rb create mode 100644 db.sql create mode 100755 db_boxsetter.sqlite3 create mode 100755 doctor_who_ordered.sqlite3 create mode 100644 harvest.rb create mode 100755 harvest.sh create mode 100644 irb-setup.rb create mode 100755 models/boxset.rb create mode 100644 models/broadcast_entity.rb create mode 100755 models/channel.rb create mode 100755 models/programme.rb create mode 100755 models/season.rb create mode 100755 models/user.rb create mode 100755 views/obj_html.erb create mode 100755 views/objects_html.erb create mode 100755 views/objects_json.erb diff --git a/boxsetter.rb b/boxsetter.rb new file mode 100755 index 0000000..97933c1 --- /dev/null +++ b/boxsetter.rb @@ -0,0 +1,261 @@ +#! /usr/bin/env ruby + +require 'rubygems' +require 'sinatra' +require 'sinatra/cookies' +require 'thin' +require 'common' + +enable :session + +def authorised? + @auth = Rack::Auth::Basic::Request.new(request.env) + @user = (User.find { |u| @auth.credentials == u.credentials } if @auth.provided? and @auth.basic? and @auth.credentials) +end + +def authorised! + if authorised? + puts "#### #{@user.name} is accessing Boxsetter..." + @user.update_boxsets(true) if request.params['refresh'] == 'update' + else + headers['WWW-Authenticate'] = 'Basic realm="Restricted Area"' + halt 401, "Not authorised\n" + end +end + +def secure? + request.env['HTTP_BOXSETTERSECURE'] == 'true' +end + +def secure! + halt 401, "Not secure enough - try https!\n" unless secure? +end + +def erbidacious(obj, format) + obj = obj.parent while obj.destroyed? + @objects = obj.viewable_children.select_collect { |o| + o.props if o.instance_of?(Programme) or o.viewable_children.count > 0 + } + if format == 'json' + content_type :json + erb :objects_json + else + content_type :html + erb :objects_html + end +end + +not_found do + # halt(404, "Boxsetter doesn't know this ditty\n") unless request.path.match(/^\/images\/.*\/([^\/]+?)(-([a-z]+))?\.jpg$/) + # type = ($3.blank?) ? 'image' : $3 + # puts "@@@ #{type} request for pcrid #{$1}" + + # filename = Programme.first(:pcrid => $1).send("generate_#{type}".to_sym) + # puts "@@@ File name for #{type}: #{filename}" + + # content_type 'image/jpeg' + # halt 200, File.open(filename, 'r') { |f| f.read } + puts "Not known path: #{request.path}" +end + +after do + @user.logout if @user +end + +get '/boxsetter.gomes.com.es.html' do + File.read(File.join('public', 'boxsetter.gomes.com.es.html')) +end + +get '/test' do + secure! + 'OK' +end + +get '/login' do + secure! + authorised! + 'OK' +end + +get '/boxsets.?:format?' do |format| + secure! + authorised! + + searchterm = request.params['search'] +puts "PARAMS>>> #{request.params}" + if !searchterm.blank? and b = Boxset.educe(searchterm, @user, request.params['type'] == 'movie') + @user.boxsets << b unless @user.boxsets.include?(b) + @user.save + end + + erbidacious(@user, format) +end + +get '/boxset/:id/delete.?:format?' do |id, format| + secure! + authorised! + + halt 404, "Boxset #{id} not found\n" unless boxset = @user.boxsets.get(id) + boxset.kill! + erbidacious(boxset, format) +end + +get '/boxset/:id.?:format?' do |id, format| + secure! + authorised! + + halt 404, "Boxset #{id} not found\n" unless boxset = @user.boxsets.get(id) + + searchterm = request.params['search'] + if request.params['delete'] == 'now' + boxset.rescinded = true + boxset.save + halt 200, 'OK' + elsif !searchterm.blank? + boxset.educe(EPOCH, searchterm) + erbidacious(@user, format) + elsif request.params['join'] + ids = request.params['join'].split(',') + if ids.length > 1 and (season = boxset.seasons.get(ids.first.to_i)) + ids[1..-1].each do |id| + if id[0] == 'P' + a = Programme.get(id[1..-1].to_i) + else + a = boxset.seasons.get(id.to_i) + a = a.programmes if a + end + season.acquire(a) if a + end + end + erbidacious(@user, format) + else + erbidacious(boxset, format) + end +end + +post '/boxset/:id' do |id| + secure! + authorised! + + halt 404, "Boxset #{id} not found\n" unless boxset = @user.boxsets.get(id) + params['season'].each_pair do |sid, hash| + s = boxset.seasons.get(sid.to_i) + if s.title != hash['editable'] + s.name = hash['editable'] + s.save + end + end + erbidacious(boxset, nil) +end + +get '/boxset/:bid/season/:num/delete.?:format?' do |bid, num, format| + secure! + authorised! + + halt 404, "Season #{num} of boxset #{bid} not found\n" unless season = @user.boxsets.get(bid).children[num.to_i - 1] + season.kill! + erbidacious(season, format) +end + +get '/boxset/:bid/season/:num.?:format?' do |bid, num, format| + secure! + authorised! + + boxset = @user.boxsets.get(bid) + halt 404, "Season #{num} of boxset #{bid} not found\n" unless boxset and season = boxset.children[num.to_i - 1] + if request.params['delete'] == 'now' + season.rescinded = true + season.save + halt 200, 'OK' + else + searchterm = request.params['search'] + if !searchterm.blank? + boxset.educe(EPOCH, searchterm, season) + erbidacious(@user, format) + else + erbidacious(season, format) + end + end +end + +post '/boxset/:bid/season/:num' do |bid, num| + secure! + authorised! + + halt 404, "Season #{num} of boxset #{bid} not found\n" unless season = @user.boxsets.get(bid).children[num.to_i - 1] + params['programme'].each_pair do |pid, hash| + p = season.programmes.get(pid.to_i) + if p.desc_orig != hash['editable'] + if hash['editable'].blank? + p.kill! + else + p.desc_orig = hash['editable'] + p.save + end + end + end + erbidacious(season, nil) +end + +get '/fetch/:pcrid/delete.?:format?' do |pcrid, format| + secure! + authorised! + + halt 404, "Programme #{pcrid} not found\n" unless prog = @user.programmes.first(:pcrid => pcrid) + prog.kill! + erbidacious(prog, format) +end + +get '/fetch/:pcrid.mp4' do |pcrid| + secure! + authorised! + + halt(404, "Programme #{pcrid} not found\n") unless prog = @user.programmes.first(:pcrid => pcrid) + if request.params['position'] + p, d = prog.set_saved_at(request.params['position'].to_i, request.params['viewedat'].to_i) + halt 200, {:status => 200, :position => p, :viewed_at => d}.to_json + elsif request.params['delete'] == 'now' + prog.rescinded = true + prog.save + halt 200, 'OK' + else + puts "Got here..." + searchterm = request.params['search'] + if !searchterm.blank? + prog.season.boxset.educe(EPOCH, searchterm, prog.season) + erbidacious(@user, 'json') + else + halt(403, "User #{@user.fullname} forbidden from accessing video at this time") if @user.throttled? + url = prog.mp4_url + @user.record_download + if request.params['format'] == 'json' + json = {:status => 200, :destination => url, :position => prog.position}.to_json + puts 'JSON = ' + json + halt 200, json + else + puts "Okay, transferring to #{url}" + redirect url + end + end + end +end + +get '/search/:searchterm.?:format?' do |searchterm, format| + secure! + authorised! + + if !searchterm.blank? and b = Boxset.educe(searchterm, @user) + @user.boxsets << b + @user.save + end + erbidacious(@user, format) +end + +get '/movie' do + secure! + authorised! + + Programme.from_redux(@user, $1) if params['url'].match('^https?:\/\/g\.bbcredux\.com(\/programme\/.*)$') + redirect back +end + diff --git a/common.rb b/common.rb new file mode 100755 index 0000000..86a4be8 --- /dev/null +++ b/common.rb @@ -0,0 +1,161 @@ +require 'rubygems' +require 'dm-core' +require 'dm-validations' +require 'dm-migrations' +require 'net/http' +require 'json' +require 'time' +require 'cgi' + +class Everyone + def initialize(o) + @obj = o + end + def method_missing(name, *args) + if @obj.is_a?(Array) + @obj.collect { |x| x.send(name, *args) } + elsif @obj.is_a?(Hash) + a = {} + @obj.each_pair { |k,v| a[k] = v.send(name, *args) } + a + else + @obj.send(name, *args) + end + end +end + +class DateTime + def to_millis + (self.to_time.to_f * 1000).to_i + end +end + +class Object + def everyone + @everyone ||= Everyone.new(self) + end + + def methods_uniq + self.methods.reject { |m| Object.methods.include?(m) }.sort + end +end + +class Hash + def to_json(x=nil) + '{' + self.keys.collect { |k| k.to_json(x) + ':' + self[k].to_json(x) }.join(',') + '}' + end +end + +class Array + def to_json(x=nil) + '[' + self.collect { |k| k.to_json(x) }.join(',') + ']' + end + def find_by_index(idx) + self.reject { |o| o.idx != idx } + end + def select_collect + collect { |a| yield(a) }.compact + end +end + +class String + def repword(k, v) + self.split(' ').collect { |a| a == k ? v : a }.join(' ') + end + def sanitise + self.strip.gsub('\'', '').gsub(/[^a-zA-Z0-9\(\) ]/, '-').gsub('-', ' - ').gsub(' ', ' ') + end + def to_searchterm + self.strip.downcase.gsub(/[^a-z0-9'\:\&\+\. ]/,'') + end + def to_json(x = nil) + return '"' + self + '.json"' if self.match(/boxsetter\.gomes\.com\.es\/[^\.]*$/) + super(x) + end + def blank? + self == '' + end + def escape + URI.escape(self) + end + def to_crid + if self.match(/^(crid:\/\/)?fp\.bbc\.co\.uk\/([0-9A-Z]+)$/) + $2 + elsif self.match(/^(crid:\/\/)?bds\.tv\/([0-9A-Z]+)$/) + $2 + elsif self.match(/^(crid:\/\/)?www\.itv\.com\/([0-9#]+)$/) + $2.gsub('#','-') + elsif self.match(/^(crid:\/\/)?www\.channel4\.com\/([0-9]+)\/([0-9]+)$/) + $2 + '-' + $3 + elsif self.match(/^(crid:\/\/)?www\.five\.tv\/([A-Z0-9#]+)$/) + $2.gsub('#','-') + '$V' + else + self.delete("^a-zA-Z0-9") + end + end + def hexEncode + self.each_byte.map { |b| sprintf('%02x', b) }.join + end + def hexDecode + self.scan(/../).map { |x| x.hex }.pack('c*') + end + def titleise + @@commoners ||= ['and', 'a', 'an', 'the', 'of', 'on', 'in', 'with'] + res = [] + self.downcase.split(/\s+/).each_with_index do |a, i| + res << (i == 0 || !@@commoners.include?(a) ? a.capitalize : a) + end + res.join(' ') + end +end + +def nil.blank? + true +end + +REDUX_HOST = 'devapi.bbcredux.com' +REDUX_SCHEME = 'http' +REDUX_URL = REDUX_SCHEME + '://' + REDUX_HOST +REDUX_URLS = 'https://' + REDUX_HOST + +BXSTR_HOST = 'boxsetter.gomes.com.es' +BXSTR_SCHEME = 'https' +BXSTR_URL = BXSTR_SCHEME + '://' + BXSTR_HOST + +DEFAULT_IMAGE = 'default.png' + +EPOCH = DateTime.new(1965, 11, 30) + +DataMapper.setup(:default, "sqlite3://#{Dir.pwd}/db_boxsetter.sqlite3") +require './models/broadcast_entity' +require './models/user' +require './models/channel' +require './models/boxset' +require './models/season' +require './models/programme' +DataMapper.auto_upgrade! + +[ + ['BBC One', Channel::TYPE_BBC], + ['BBC Two', Channel::TYPE_BBC], + ['BBC Three', Channel::TYPE_BBC], + ['BBC Four', Channel::TYPE_BBC], + ['CBBC', Channel::TYPE_BBC], + ['CBeebies', Channel::TYPE_BBC], + ['ITV1', Channel::TYPE_ITV], + ['ITV2', Channel::TYPE_ITV], + ['ITV3', Channel::TYPE_ITV], + ['ITV4', Channel::TYPE_ITV], + ['Channel 4', Channel::TYPE_CH4], + ['More4', Channel::TYPE_CH4], + ['E4', Channel::TYPE_CH4], + ['Five', Channel::TYPE_CH5], + ['Dave', Channel::TYPE_EXT], + ['S4C', Channel::TYPE_EXT] +].each_with_index do |data, index| + fullname, channeltype = data + c = Channel.first_or_create(:fullname => fullname) + c.channeltype = channeltype + c.idx = index + c.save +end diff --git a/db.sql b/db.sql new file mode 100644 index 0000000..a2751c9 --- /dev/null +++ b/db.sql @@ -0,0 +1,1353 @@ +BEGIN TRANSACTION; +CREATE TABLE "channels" ("id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, "fullname" VARCHAR(50) DEFAULT '', "idx" INTEGER DEFAULT 0, "last_checked" TIMESTAMP, "channeltype" INTEGER DEFAULT 0, "name" VARCHAR(50) DEFAULT ''); +INSERT INTO "channels" VALUES(1, 'BBC One', 0, NULL, 1, ''); +INSERT INTO "channels" VALUES(2, 'BBC Two', 1, NULL, 1, ''); +INSERT INTO "channels" VALUES(3, 'BBC Four', 3, NULL, 1, ''); +INSERT INTO "channels" VALUES(4, 'BBC Three', 2, NULL, 1, ''); +INSERT INTO "channels" VALUES(6, 'CBBC', 4, NULL, 1, ''); +INSERT INTO "channels" VALUES(7, 'CBeebies', 5, NULL, 1, ''); +INSERT INTO "channels" VALUES(8, 'ITV1', 6, NULL, 2, ''); +INSERT INTO "channels" VALUES(9, 'ITV2', 7, NULL, 2, ''); +INSERT INTO "channels" VALUES(10, 'ITV3', 8, NULL, 2, ''); +INSERT INTO "channels" VALUES(11, 'ITV4', 9, NULL, 2, ''); +INSERT INTO "channels" VALUES(12, 'Channel 4', 10, NULL, 4, ''); +INSERT INTO "channels" VALUES(13, 'More4', 11, NULL, 4, ''); +INSERT INTO "channels" VALUES(14, 'E4', 12, NULL, 4, ''); +INSERT INTO "channels" VALUES(15, 'Five', 13, NULL, 8, ''); +INSERT INTO "channels" VALUES(16, 'Dave', 14, NULL, 16, ''); +INSERT INTO "channels" VALUES(17, 'S4C', 15, NULL, 16, ''); +DELETE FROM sqlite_sequence; +INSERT INTO "sqlite_sequence" VALUES('channels', 17); +INSERT INTO "sqlite_sequence" VALUES('boxsets', 211); +INSERT INTO "sqlite_sequence" VALUES('seasons', 800); +INSERT INTO "sqlite_sequence" VALUES('users', 13); +INSERT INTO "sqlite_sequence" VALUES('programmes', 6085); +CREATE TABLE "boxsets" ("id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, "name" VARCHAR(50) DEFAULT '', "searchterm" VARCHAR(50) DEFAULT '', "user_id" INTEGER NOT NULL, "movie" BOOLEAN DEFAULT 'f', "rescinded" BOOLEAN DEFAULT 'f', "position" INTEGER DEFAULT 0, "viewed_at" INTEGER DEFAULT 0); +INSERT INTO "boxsets" VALUES(1, 'Doctor Who', 'doctor who', 1, 'f', 'f', 0, 1449746644459); +INSERT INTO "boxsets" VALUES(11, 'Happy Valley', 'happy valley', 2, 'f', 'f', 0, 0); +INSERT INTO "boxsets" VALUES(12, 'The Vicar of Dibley', 'the vicar of dibley', 2, 'f', 'f', 0, 0); +INSERT INTO "boxsets" VALUES(13, 'Luther', 'luther', 2, 'f', 'f', 0, 0); +INSERT INTO "boxsets" VALUES(37, 'Death in Paradise', 'death in paradise', 2, 'f', 'f', 0, 0); +INSERT INTO "boxsets" VALUES(38, 'The Tudors', 'the tudors', 2, 'f', 'f', 0, 0); +INSERT INTO "boxsets" VALUES(84, 'Homeland', 'homeland', 2, 'f', 'f', 0, 0); +INSERT INTO "boxsets" VALUES(86, 'Lewis', 'lewis', 2, 'f', 'f', 0, 0); +INSERT INTO "boxsets" VALUES(106, 'The Wrong Mans', 'the wrong mans', 2, 'f', 'f', 0, 0); +INSERT INTO "boxsets" VALUES(124, 'Torchwood', 'torchwood', 1, 'f', 'f', 0, 0); +INSERT INTO "boxsets" VALUES(131, 'OOglies', 'ooglies', 11, 'f', 'f', 0, 0); +INSERT INTO "boxsets" VALUES(132, 'The Sarah Jane Adventures', 'the sarah jane adventures', 11, 'f', 'f', 0, 0); +INSERT INTO "boxsets" VALUES(136, 'Horrid Henry', 'horrid henry', 11, 'f', 'f', 0, 0); +INSERT INTO "boxsets" VALUES(141, 'Big Babies', 'big babies', 11, 'f', 'f', 0, 0); +INSERT INTO "boxsets" VALUES(147, 'Orphan Black', 'orphan black', 1, 'f', 'f', 0, 0); +INSERT INTO "boxsets" VALUES(172, 'Jonathan Strange & Mr Norrell', 'jonathan strange & mr norrell', 1, 'f', 'f', 0, 0); +INSERT INTO "boxsets" VALUES(174, 'Movies', 'an american werewolf', 1, 't', 'f', 0, 0); +INSERT INTO "boxsets" VALUES(176, 'Movies', 'bourne', 11, 't', 'f', 0, 0); +INSERT INTO "boxsets" VALUES(178, 'Undercover', 'undercover', 1, 'f', 'f', 0, 0); +INSERT INTO "boxsets" VALUES(181, 'Batman', 'batman', 11, 'f', 'f', 0, 0); +INSERT INTO "boxsets" VALUES(184, 'Doctor Who', 'doctor who', 12, 'f', 'f', 0, 0); +INSERT INTO "boxsets" VALUES(185, '', 'see', 1, 'f', 'f', 0, 0); +INSERT INTO "boxsets" VALUES(192, 'Sherlock', 'sherlock', 1, 'f', 'f', 0, 0); +INSERT INTO "boxsets" VALUES(194, '', 'elementary', 12, 'f', 'f', 0, 0); +INSERT INTO "boxsets" VALUES(202, 'The Fall', 'the fall', 2, 'f', 'f', 0, 0); +INSERT INTO "boxsets" VALUES(207, 'Sherlock', 'sherlock', 12, 'f', 'f', 0, 0); +CREATE TABLE "seasons" ("id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, "boxset_id" INTEGER NOT NULL, "channel_id" INTEGER NOT NULL, "idx" INTEGER DEFAULT -1, "name" VARCHAR(50), "rescinded" BOOLEAN DEFAULT 'f', "position" INTEGER DEFAULT 0, "viewed_at" INTEGER DEFAULT 0); +INSERT INTO "seasons" VALUES(4, 1, 3, 130, 'An Unearthly Child', 'f', 0, 0); +INSERT INTO "seasons" VALUES(13, 1, 1, 30, 'Smith 3', 'f', 0, 0); +INSERT INTO "seasons" VALUES(15, 1, 1, 40, 'Smith 2', 'f', 0, 0); +INSERT INTO "seasons" VALUES(17, 1, 1, 50, 'Smith 1', 'f', 0, 0); +INSERT INTO "seasons" VALUES(24, 1, 1, 60, 'Tennant 3', 'f', 0, 0); +INSERT INTO "seasons" VALUES(26, 1, 4, 80, 'Tennant 1', 'f', 0, 0); +INSERT INTO "seasons" VALUES(31, 1, 4, 70, 'Tennant 2', 'f', 0, 0); +INSERT INTO "seasons" VALUES(32, 1, 4, 90, 'Eccleston', 'f', 0, 0); +INSERT INTO "seasons" VALUES(90, 11, 1, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(91, 12, 1, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(92, 12, 1, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(93, 12, 1, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(94, 12, 1, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(95, 12, 1, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(96, 12, 1, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(97, 12, 1, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(98, 12, 1, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(99, 13, 1, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(100, 13, 1, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(101, 13, 1, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(159, 1, 3, 120, 'The Hand of Fear', 'f', 0, 0); +INSERT INTO "seasons" VALUES(184, 37, 1, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(185, 37, 1, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(186, 37, 1, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(187, 37, 1, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(188, 37, 1, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(189, 38, 2, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(190, 38, 2, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(191, 38, 2, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(192, 38, 2, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(193, 38, 2, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(194, 38, 2, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(195, 38, 2, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(295, 84, 12, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(296, 84, 12, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(297, 84, 12, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(307, 86, 8, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(312, 86, 8, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(315, 86, 8, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(381, 106, 2, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(382, 106, 2, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(454, 124, 2, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(456, 124, 4, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(471, 131, 6, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(472, 131, 6, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(473, 132, 6, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(474, 132, 6, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(476, 132, 1, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(477, 132, 1, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(478, 132, 6, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(483, 136, 8, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(484, 136, 8, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(485, 136, 8, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(489, 136, 8, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(491, 136, 8, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(494, 136, 8, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(497, 136, 8, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(529, 141, 6, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(538, 147, 4, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(539, 147, 4, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(541, 124, 1, 1000000, 'Torchwood: Children of Earth', 'f', 0, 0); +INSERT INTO "seasons" VALUES(542, 124, 1, 1000000, 'Torchwood: Miracle Day', 'f', 0, 0); +INSERT INTO "seasons" VALUES(554, 84, 12, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(557, 86, 10, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(558, 86, 8, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(559, 86, 10, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(566, 11, 4, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(579, 1, 1, 110, 'Warriors'' Gate', 'f', 0, 0); +INSERT INTO "seasons" VALUES(591, 172, 1, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(597, 174, 1, 1000000, 'Planet of the Apes', 'f', 0, 0); +INSERT INTO "seasons" VALUES(598, 174, 1, 1000000, 'Pirates of the Caribbean', 'f', 0, 0); +INSERT INTO "seasons" VALUES(600, 174, 1, 1000000, 'Star Wars', 'f', 0, 0); +INSERT INTO "seasons" VALUES(616, 176, 1, 1000000, 'Harry Potter', 'f', 0, 0); +INSERT INTO "seasons" VALUES(617, 174, 1, 1000000, 'Harry Potter', 'f', 0, 0); +INSERT INTO "seasons" VALUES(624, 174, 1, 1000000, 'Undercover', 't', 0, 0); +INSERT INTO "seasons" VALUES(625, 178, 16, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(626, 174, 1, 1000000, 'Bridge To Terabithia', 'f', 0, 0); +INSERT INTO "seasons" VALUES(633, 181, 11, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(634, 181, 11, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(687, 184, 3, 110, 'An Unearthly Child', 'f', 0, 0); +INSERT INTO "seasons" VALUES(688, 184, 1, 20, 'Smith 3', 'f', 0, 0); +INSERT INTO "seasons" VALUES(689, 184, 1, 30, 'Smith 2', 'f', 0, 0); +INSERT INTO "seasons" VALUES(690, 184, 1, 40, 'Smith 1', 'f', 0, 0); +INSERT INTO "seasons" VALUES(691, 184, 1, 50, 'Tennant 3', 'f', 0, 0); +INSERT INTO "seasons" VALUES(692, 184, 4, 70, 'Tennant 1', 'f', 0, 0); +INSERT INTO "seasons" VALUES(693, 184, 4, 60, 'Tennant 2', 'f', 0, 0); +INSERT INTO "seasons" VALUES(694, 184, 4, 80, 'Eccleston', 'f', 0, 0); +INSERT INTO "seasons" VALUES(695, 184, 3, 100, 'The Hand of Fear', 'f', 0, 0); +INSERT INTO "seasons" VALUES(696, 184, 1, 10, 'Capaldi 1', 'f', 0, 0); +INSERT INTO "seasons" VALUES(697, 184, 1, 90, 'Warriors'' Gate', 'f', 0, 0); +INSERT INTO "seasons" VALUES(702, 174, 1, 1000000, 'harry potter', 'f', 0, 0); +INSERT INTO "seasons" VALUES(716, 174, 1, 1000000, 'Hellboy', 'f', 0, 0); +INSERT INTO "seasons" VALUES(721, 192, 1, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(722, 192, 1, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(740, 202, 2, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(741, 202, 2, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(745, 1, 1, 100, 'McGann', 'f', 0, 0); +INSERT INTO "seasons" VALUES(746, 131, 6, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(757, 174, 1, 1000000, 'Indiana Jones', 'f', 0, 0); +INSERT INTO "seasons" VALUES(761, 37, 1, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(763, 86, 10, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(764, 176, 1, 1000000, 'James Bond', 'f', 0, 0); +INSERT INTO "seasons" VALUES(765, 176, 1, 1000000, 'Bourne', 'f', 0, 0); +INSERT INTO "seasons" VALUES(766, 37, 1, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(767, 192, 1, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(772, 207, 1, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(773, 207, 1, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(774, 207, 1, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(776, 174, 1, 1000000, 'James Bond', 'f', 0, 0); +INSERT INTO "seasons" VALUES(777, 84, 13, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(780, 184, 4, 120, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(781, 136, 8, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(785, 1, 1, 20, 'Capaldi 1', 'f', 0, 1449746644459); +INSERT INTO "seasons" VALUES(786, 184, 1, 130, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(787, 147, 4, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(791, 86, 8, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(792, 131, 6, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(795, 84, 12, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(797, 1, 1, 10, 'Capaldi 2', 'f', 0, 1449746644346); +INSERT INTO "seasons" VALUES(798, 86, 10, 1000000, NULL, 'f', 0, 0); +INSERT INTO "seasons" VALUES(799, 174, 1, 1000000, 'An American Werewolf', 'f', 0, 0); +CREATE TABLE "channel_users" ("user_id" INTEGER NOT NULL, "channel_id" INTEGER NOT NULL, PRIMARY KEY("user_id", "channel_id")); +INSERT INTO "channel_users" VALUES(1, 1); +INSERT INTO "channel_users" VALUES(1, 2); +INSERT INTO "channel_users" VALUES(1, 4); +INSERT INTO "channel_users" VALUES(1, 3); +INSERT INTO "channel_users" VALUES(1, 6); +INSERT INTO "channel_users" VALUES(1, 7); +INSERT INTO "channel_users" VALUES(1, 5); +INSERT INTO "channel_users" VALUES(1, 8); +INSERT INTO "channel_users" VALUES(1, 9); +INSERT INTO "channel_users" VALUES(1, 10); +INSERT INTO "channel_users" VALUES(1, 11); +INSERT INTO "channel_users" VALUES(1, 12); +INSERT INTO "channel_users" VALUES(1, 14); +INSERT INTO "channel_users" VALUES(1, 13); +INSERT INTO "channel_users" VALUES(1, 16); +INSERT INTO "channel_users" VALUES(1, 15); +INSERT INTO "channel_users" VALUES(2, 1); +INSERT INTO "channel_users" VALUES(2, 2); +INSERT INTO "channel_users" VALUES(2, 4); +INSERT INTO "channel_users" VALUES(2, 3); +INSERT INTO "channel_users" VALUES(2, 6); +INSERT INTO "channel_users" VALUES(2, 7); +INSERT INTO "channel_users" VALUES(2, 5); +INSERT INTO "channel_users" VALUES(2, 8); +INSERT INTO "channel_users" VALUES(2, 9); +INSERT INTO "channel_users" VALUES(2, 10); +INSERT INTO "channel_users" VALUES(2, 11); +INSERT INTO "channel_users" VALUES(2, 12); +INSERT INTO "channel_users" VALUES(2, 14); +INSERT INTO "channel_users" VALUES(2, 13); +INSERT INTO "channel_users" VALUES(2, 16); +INSERT INTO "channel_users" VALUES(2, 15); +INSERT INTO "channel_users" VALUES(4, 1); +INSERT INTO "channel_users" VALUES(4, 2); +INSERT INTO "channel_users" VALUES(4, 4); +INSERT INTO "channel_users" VALUES(4, 3); +INSERT INTO "channel_users" VALUES(4, 6); +INSERT INTO "channel_users" VALUES(4, 7); +INSERT INTO "channel_users" VALUES(4, 5); +INSERT INTO "channel_users" VALUES(6, 1); +INSERT INTO "channel_users" VALUES(6, 2); +INSERT INTO "channel_users" VALUES(6, 4); +INSERT INTO "channel_users" VALUES(6, 3); +INSERT INTO "channel_users" VALUES(6, 6); +INSERT INTO "channel_users" VALUES(6, 7); +INSERT INTO "channel_users" VALUES(6, 5); +INSERT INTO "channel_users" VALUES(6, 8); +INSERT INTO "channel_users" VALUES(6, 9); +INSERT INTO "channel_users" VALUES(6, 10); +INSERT INTO "channel_users" VALUES(6, 11); +INSERT INTO "channel_users" VALUES(6, 12); +INSERT INTO "channel_users" VALUES(6, 14); +INSERT INTO "channel_users" VALUES(6, 13); +INSERT INTO "channel_users" VALUES(6, 16); +INSERT INTO "channel_users" VALUES(6, 15); +INSERT INTO "channel_users" VALUES(7, 1); +INSERT INTO "channel_users" VALUES(7, 2); +INSERT INTO "channel_users" VALUES(7, 4); +INSERT INTO "channel_users" VALUES(7, 3); +INSERT INTO "channel_users" VALUES(7, 6); +INSERT INTO "channel_users" VALUES(7, 7); +INSERT INTO "channel_users" VALUES(7, 5); +INSERT INTO "channel_users" VALUES(7, 8); +INSERT INTO "channel_users" VALUES(7, 9); +INSERT INTO "channel_users" VALUES(7, 10); +INSERT INTO "channel_users" VALUES(7, 11); +INSERT INTO "channel_users" VALUES(7, 12); +INSERT INTO "channel_users" VALUES(7, 14); +INSERT INTO "channel_users" VALUES(7, 13); +INSERT INTO "channel_users" VALUES(7, 16); +INSERT INTO "channel_users" VALUES(7, 15); +INSERT INTO "channel_users" VALUES(8, 1); +INSERT INTO "channel_users" VALUES(8, 2); +INSERT INTO "channel_users" VALUES(8, 4); +INSERT INTO "channel_users" VALUES(8, 3); +INSERT INTO "channel_users" VALUES(8, 6); +INSERT INTO "channel_users" VALUES(8, 7); +INSERT INTO "channel_users" VALUES(8, 5); +INSERT INTO "channel_users" VALUES(8, 8); +INSERT INTO "channel_users" VALUES(8, 9); +INSERT INTO "channel_users" VALUES(8, 10); +INSERT INTO "channel_users" VALUES(8, 11); +INSERT INTO "channel_users" VALUES(8, 12); +INSERT INTO "channel_users" VALUES(8, 14); +INSERT INTO "channel_users" VALUES(8, 13); +INSERT INTO "channel_users" VALUES(8, 16); +INSERT INTO "channel_users" VALUES(8, 15); +INSERT INTO "channel_users" VALUES(11, 1); +INSERT INTO "channel_users" VALUES(11, 2); +INSERT INTO "channel_users" VALUES(11, 4); +INSERT INTO "channel_users" VALUES(11, 3); +INSERT INTO "channel_users" VALUES(11, 6); +INSERT INTO "channel_users" VALUES(11, 7); +INSERT INTO "channel_users" VALUES(11, 5); +INSERT INTO "channel_users" VALUES(11, 8); +INSERT INTO "channel_users" VALUES(11, 9); +INSERT INTO "channel_users" VALUES(11, 10); +INSERT INTO "channel_users" VALUES(11, 11); +INSERT INTO "channel_users" VALUES(11, 12); +INSERT INTO "channel_users" VALUES(11, 14); +INSERT INTO "channel_users" VALUES(11, 13); +INSERT INTO "channel_users" VALUES(11, 16); +INSERT INTO "channel_users" VALUES(11, 15); +INSERT INTO "channel_users" VALUES(12, 1); +INSERT INTO "channel_users" VALUES(12, 2); +INSERT INTO "channel_users" VALUES(12, 4); +INSERT INTO "channel_users" VALUES(12, 3); +INSERT INTO "channel_users" VALUES(12, 6); +INSERT INTO "channel_users" VALUES(12, 7); +INSERT INTO "channel_users" VALUES(12, 5); +INSERT INTO "channel_users" VALUES(12, 8); +INSERT INTO "channel_users" VALUES(12, 9); +INSERT INTO "channel_users" VALUES(12, 10); +INSERT INTO "channel_users" VALUES(12, 11); +INSERT INTO "channel_users" VALUES(12, 12); +INSERT INTO "channel_users" VALUES(12, 14); +INSERT INTO "channel_users" VALUES(12, 13); +INSERT INTO "channel_users" VALUES(12, 16); +INSERT INTO "channel_users" VALUES(12, 15); +INSERT INTO "channel_users" VALUES(1, 17); +CREATE TABLE users ("id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, "name" VARCHAR(50) DEFAULT '', "fullname" VARCHAR(50) DEFAULT '', "redux_user" VARCHAR(50) DEFAULT '', "password" VARCHAR(50) DEFAULT '', "last_updated" TIMESTAMP, "default_rp" VARCHAR(50) DEFAULT '', "last_checked" TIMESTAMP, "last_download" TIMESTAMP, "throttle" INTEGER DEFAULT 20); +INSERT INTO "users" VALUES(1, 'nic', 'Nic Ford', 'fordn01', 'Q_YRT', NULL, 'VQ]DP]W', '2015-12-10T01:01:39+00:00', '2015-12-09T07:54:00+00:00', 0); +INSERT INTO "users" VALUES(2, 'norm', 'Norman Ford', 'fordn01', '', NULL, '$#"5(h,5', '2015-12-10T01:01:50+00:00', '2015-04-22T20:20:18+01:00', 0); +INSERT INTO "users" VALUES(11, 'sam', 'Sam Ford', 'fordn01', '', NULL, 'VQ]DP]W', '2015-12-10T01:01:59+00:00', '2015-08-19T23:49:02+01:00', 0); +INSERT INTO "users" VALUES(13, 'simon', 'Simon Dean', 'fordn01', '', NULL, 'VQ]DP]W', NULL, NULL, 0); +CREATE TABLE "broadcast_entities" ("id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, "name" VARCHAR(50), "searchterm" VARCHAR(50) DEFAULT '', "movie" BOOLEAN DEFAULT 'f', "idx" INTEGER DEFAULT 1000000 NOT NULL, "title_orig" VARCHAR(200) NOT NULL, "desc_orig" VARCHAR(2000) NOT NULL, "pcrid_orig" VARCHAR(50) NOT NULL, "scrid_orig" VARCHAR(50) NOT NULL, "pcrid" VARCHAR(50) NOT NULL, "image_url" VARCHAR(2000) NOT NULL, "mediatype" VARCHAR(50) DEFAULT 'audio/mpeg' NOT NULL, "date" TIMESTAMP NOT NULL, "duration" INTEGER NOT NULL, "prepared" BOOLEAN DEFAULT 'f', "reference" VARCHAR(50)); +CREATE TABLE "programmes" ("id" INTEGER NOT NULL PRIMARY KEY AUTOINCREMENT, + "title_orig" VARCHAR(200) NOT NULL, + "desc_orig" VARCHAR(2000) NOT NULL, + "pcrid_orig" VARCHAR(50) NOT NULL, + "pcrid" VARCHAR(50) NOT NULL, + "date" TIMESTAMP NOT NULL, + "duration" INTEGER NOT NULL, + "idx" INTEGER DEFAULT -1 NOT NULL, + "movie" BOOLEAN DEFAULT 'f', + "season_id" INTEGER NOT NULL, + "channel_id" INTEGER NOT NULL, + "user_id" INTEGER NOT NULL, + "prepared" BOOLEAN DEFAULT 'f', + "reference" VARCHAR(50), + "position" INTEGER DEFAULT 0, + "rescinded" BOOLEAN DEFAULT 'f', + "distrib" VARCHAR(50) DEFAULT 'bbcredux', "viewed_at" INTEGER DEFAULT 0); +INSERT INTO "programmes" VALUES(5, 'Doctor Who', 'Part 4: An Unearthly Child: Part 4: The Firemaker: The Doctor decides that the only way to escape is to show the Stone Age cave dwellers how to make fire. b&w.', 'crid://fp.bbc.co.uk/4CTC4S', '4CTC4S', '2013-11-21T23:45:00+00:00', 1500, 1000000, 'f', 4, 3, 1, 't', '5948862565223281404', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6, 'Doctor Who', 'Part 3: An Unearthly Child: Part 3: The Doctor and crew leave the TARDIS to explore their new surroundings, but are captured. b&w.', 'crid://fp.bbc.co.uk/4CTC4R', '4CTC4R', '2013-11-21T23:20:00+00:00', 1500, 1000000, 'f', 4, 3, 1, 't', '5948856122772337403', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(7, 'Doctor Who', 'Part 2: An Unearthly Child: Part 2: The Cave of Skulls: The TARDIS travels back to Stone Age times, where the crew make the mistake of venturing outside. b&w.', 'crid://fp.bbc.co.uk/4CTC4Q', '4CTC4Q', '2013-11-21T22:55:00+00:00', 1500, 1000000, 'f', 4, 3, 1, 't', '5948849680321393402', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(8, 'Doctor Who', 'Part 1: An Unearthly Child: Part 1: Two teachers follow a pupil to a junkyard where they meet her grandfather, the Doctor. b&w.', 'crid://fp.bbc.co.uk/4CTC4P', '4CTC4P', '2013-11-21T22:30:00+00:00', 1500, 1000000, 'f', 4, 3, 1, 't', '5948843237870449401', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(10, 'Doctor Who', '8/8. The Name of the Doctor: Sci-fi drama. The Doctor has a secret he will take to his grave. And it is discovered... Also in HD.', 'crid://fp.bbc.co.uk/1FTWPB', '1FTWPB', '2013-05-18T18:00:00+00:00', 2700, 140, 'f', 13, 1, 1, 't', '5879380731767337870', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(11, 'Doctor Who', '7/8. Nightmare in Silver: Sci-fi drama. Hedgewick''s World of Wonders is the perfect theme park day out. And ground zero for a deadly silver resurrection. Also in HD.', 'crid://fp.bbc.co.uk/1FTWPA', '1FTWPA', '2013-05-11T18:00:00+00:00', 2700, 130, 'f', 13, 1, 1, 't', '5876783135546715040', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(12, 'Doctor Who', '6/8. The Crimson Horror: Sci-fi drama. Something ghastly is afoot in Victorian Yorkshire, as bodies are found with their skin a waxy, glowing red. Also in HD.', 'crid://fp.bbc.co.uk/1FTWP9', '1FTWP9', '2013-05-04T17:30:00+00:00', 2700, 120, 'f', 13, 1, 1, 't', '5874177808384959125', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(13, 'Doctor Who', '5/8. Journey to the Centre of the TARDIS: Sci-fi drama. The TARDIS has crashed, Clara is lost inside, and the Doctor has 30 minutes before his ship explodes! Also in HD.', 'crid://fp.bbc.co.uk/1FTWP8', '1FTWP8', '2013-04-27T17:30:00+00:00', 2700, 110, 'f', 13, 1, 1, 't', '5871580212164336284', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(15, 'Doctor Who', '4/8. Hide: Sci-fi drama. Something terrifying is hiding in Caliburn House, and the Doctor finds himself part of the ghost hunt. Also in HD.', 'crid://fp.bbc.co.uk/1FTWP7', '1FTWP7', '2013-04-20T17:45:00+00:00', 2700, 100, 'f', 13, 1, 1, 't', '5871220723409796957', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(16, 'Doctor Who', '3/8. Cold War: Sci-fi drama. On a Russian submarine in 1983, a frozen alien warrior is waking up, just as the TARDIS materialises. Also in HD.', 'crid://fp.bbc.co.uk/1FTWP6', '1FTWP6', '2013-04-13T17:00:00+00:00', 2700, 90, 'f', 13, 1, 1, 't', '5866377288781984189', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(17, 'Doctor Who', '2/8. The Rings Of Akhaten: Sci-fi drama. The Doctor takes Clara to the Festival of Offerings, but the Old God is waking and demands sacrifice! Also in HD.', 'crid://fp.bbc.co.uk/1FTWP5', '1FTWP5', '2013-04-06T17:15:00+00:00', 2700, 80, 'f', 13, 1, 1, 't', '5863783558031926761', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(18, 'Doctor Who', '1/8. The Bells of Saint John: The search for Clara brings the Doctor to London, where something deadly is in the Wi-Fi. Also in HD.', 'crid://fp.bbc.co.uk/1FTWP4', '1FTWP4', '2013-03-30T18:15:00+00:00', 2700, 70, 'f', 13, 1, 1, 't', '5861201423693569898', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(38, 'Doctor Who', 'The Snowmen: Sci-fi drama. It is Christmas Eve, 1892, and the falling snow is the stuff of fairytales. But the fairytale becomes a nightmare, and a chilling menace threatens Earth. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTW2M', '1FTW2M', '2012-12-25T18:00:00+00:00', 3600, 60, 'f', 13, 1, 1, 't', '6092399083748630753', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(39, 'Doctor Who', 'A Christmas Carol: Festive edition of the time-travelling drama. The Doctor has one hour to save a crashing spaceship and a miser''s soul - but what lurks in the fog?', 'crid://fp.bbc.co.uk/1FTW9F', '1FTW9F', '2012-12-15T19:00:00+00:00', 3900, 140, 'f', 17, 4, 1, 't', '5554681204189754746', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(48, 'Doctor Who', '5/5. The Angels Take Manhattan: Sci-fi drama. The Doctor and his friends face a race against time through the streets of Manhattan, as New York''s statues come to life around them. Also in HD.', 'crid://fp.bbc.co.uk/1FTWP3', '1FTWP3', '2012-09-29T18:20:00+00:00', 2700, 50, 'f', 13, 1, 1, 't', '5858255935130089160', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(49, 'Doctor Who', '4/5. The Power of Three: The Doctor and the Ponds puzzle over an unlikely invasion of Earth, as millions of sinister black cubes arrive overnight. But what are they? Also in HD.', 'crid://fp.bbc.co.uk/1FTWP2', '1FTWP2', '2012-09-22T18:30:00+00:00', 2700, 40, 'f', 13, 1, 1, 't', '5858244338718389296', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(50, 'Doctor Who', '3/5. A Town Called Mercy: The Doctor gets a Stetson (and a gun!), and finds himself a reluctant sheriff. Also in HD.', 'crid://fp.bbc.co.uk/1FTWP1', '1FTWP1', '2012-09-15T18:35:00+00:00', 2700, 30, 'f', 13, 1, 1, 't', '5856029424083841904', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(51, 'Doctor Who', '2/5. Dinosaurs on a Spaceship: The Doctor battles to save an unmanned spaceship and its impossible cargo... of dinosaurs! Also in HD.', 'crid://fp.bbc.co.uk/1FTWP0', '1FTWP0', '2012-09-08T18:35:00+00:00', 2700, 20, 'f', 13, 1, 1, 't', '5855650607968334532', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(52, 'Doctor Who', 'New series. 1/5. Asylum of the Daleks: When the Doctor is kidnapped by his oldest foe, he goes on an impossible mission - to a place even the Daleks are terrified of. Also in HD.', 'crid://fp.bbc.co.uk/1FTWOZ', '1FTWOZ', '2012-09-01T18:20:00+00:00', 3000, 10, 'f', 13, 1, 1, 't', '5904992051258251649', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(53, 'Doctor Who', '13/13. The Wedding of River Song: Sci-fi drama. By the shores of Lake Silencio in Utah, all of time and space hang in the balance - for this is the day the Doctor dies. Also in HD.', 'crid://fp.bbc.co.uk/1FTWAL', '1FTWAL', '2011-10-01T18:05:00+00:00', 2700, 1000000, 'f', 15, 1, 1, 't', '5658570879622510147', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(54, 'Doctor Who', '12/13. Closing Time: Sci-fi drama. The Doctor''s final days are upon him - but when he drops in on an old friend, the Cybermen are waiting. Also in HD.', 'crid://fp.bbc.co.uk/1FTWAK', '1FTWAK', '2011-09-24T18:10:00+00:00', 2700, 1000000, 'f', 15, 1, 1, 't', '5655974571892075921', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(55, 'Doctor Who', '11/13. The God Complex: Sci-fi drama. The TARDIS lands in a hotel where every visitor''s room contains their deepest, darkest fears. What lies in wait in the Doctor''s room? Also in HD.', 'crid://fp.bbc.co.uk/1FTWAJ', '1FTWAJ', '2011-09-17T18:10:00+00:00', 3000, 1000000, 'f', 15, 1, 1, 't', '5653376975671454897', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(56, 'Doctor Who', '10/13. The Girl Who Waited: Amy is trapped in a quarantine facility for victims of an alien plague. Can Rory save her before she is killed by kindness? Also in HD.', 'crid://fp.bbc.co.uk/1FTWAI', '1FTWAI', '2011-09-10T18:15:00+00:00', 2700, 1000000, 'f', 15, 1, 1, 't', '5650780667941020919', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(57, 'Doctor Who', '9/13. Night Terrors: Classic sci-fi drama series. The Doctor and his companions come to the aid of a terrified child, whose monsters appear to be real. Also in HD.', 'crid://fp.bbc.co.uk/1FTWAH', '1FTWAH', '2011-09-03T18:00:00+00:00', 2700, 1000000, 'f', 15, 1, 1, 't', '5648179206249831310', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(58, 'Doctor Who', 'New series. 8/13. Let''s Kill Hitler: The search for Melody Pond sees the TARDIS crash-landing in 1930s Berlin. Also in HD.', 'crid://fp.bbc.co.uk/1FTWAG', '1FTWAG', '2011-08-27T18:10:00+00:00', 3000, 1000000, 'f', 15, 1, 1, 't', '5645584187009587369', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(59, 'Doctor Who', '7/13. A Good Man Goes to War: Science fiction drama. The Doctor assembles an army to face the Battle of Demons Run - and River Song has something to tell him. Also in HD.', 'crid://fp.bbc.co.uk/1FTWAF', '1FTWAF', '2011-06-04T17:40:00+00:00', 3000, 1000000, 'f', 15, 1, 1, 't', '5614405301421005386', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(60, 'Doctor Who', '6/13. The Almost People: Science fiction drama. The Doctor must convince terrified factory workers to work with their doppelgangers to overcome a monster of their own making. Also in HD.', 'crid://fp.bbc.co.uk/1FTWAE', '1FTWAE', '2011-05-28T17:45:00+00:00', 2700, 1000000, 'f', 15, 1, 1, 't', '5611808993690570663', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(61, 'Doctor Who', '5/13. The Rebel Flesh: A solar tsunami liberates doppelgangers from their human ''originals'' in a factory. Also in HD.', 'crid://fp.bbc.co.uk/1FTWAD', '1FTWAD', '2011-05-21T17:45:00+00:00', 2700, 1000000, 'f', 15, 1, 1, 't', '5609211397469947247', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(62, 'Doctor Who', '4/13. The Doctor''s Wife: Science fiction drama. When he follows a Time Lord distress signal, the Doctor puts Amy, Rory and his beloved TARDIS in grave danger. Also in HD.', 'crid://fp.bbc.co.uk/1FTWAC', '1FTWAC', '2011-05-14T17:30:00+00:00', 3000, 1000000, 'f', 15, 1, 1, 't', '5606609935778757900', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(67, 'Doctor Who', '3/13. The Curse of the Black Spot: Science fiction drama. The Doctor, Amy and Rory must solve the mystery of the disappearance of a pirate crew at the hands of a beautiful Siren. Also in HD.', 'crid://fp.bbc.co.uk/1FTWAB', '1FTWAB', '2011-05-07T17:15:00+00:00', 2700, 1000000, 'f', 15, 1, 1, 't', '5604008474087570454', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(68, 'Doctor Who', '2/13. Day of the Moon: Science fiction drama. The Doctor mounts a rebellion against an alien invasion dating back to the very beginnings of human civilisation. Also in HD.', 'crid://fp.bbc.co.uk/1FTWAA', '1FTWAA', '2011-04-30T17:00:00+00:00', 2700, 1000000, 'f', 15, 1, 1, 't', '5601407012396381010', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(69, 'Doctor Who', 'New series. 1/13. The Impossible Astronaut: The Doctor is summoned to assist President Nixon in saving a terrified little girl. Also in HD.', 'crid://fp.bbc.co.uk/1FTWA9', '1FTWA9', '2011-04-23T17:00:00+00:00', 2700, 1000000, 'f', 15, 1, 1, 't', '5598809416175758906', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(70, 'Doctor Who', '13/13. The Big Bang: Science fiction drama. The last hope for all of reality is a little girl who still believes in stars. Also in HD.', 'crid://fp.bbc.co.uk/1FTW6F', '1FTW6F', '2010-06-26T17:05:00+00:00', 3300, 130, 'f', 17, 1, 1, 't', '5487114067179272553', 594676, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(71, 'Doctor Who', '12/13. The Pandorica Opens: The Doctor''s friends unite to warn him that the Pandorica is opening. What is inside? Also in HD.', 'crid://fp.bbc.co.uk/1FTW6E', '1FTW6E', '2010-06-19T17:40:00+00:00', 3000, 120, 'f', 17, 1, 1, 't', '5484525490389973352', 2910178, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(72, 'Doctor Who', '11/13. The Lodger: Science fiction drama. The Doctor must pass himself off as a human being to solve the mystery of a staircase that people go up but never go down. Also in HD.', 'crid://fp.bbc.co.uk/1FTW6D', '1FTW6D', '2010-06-12T17:45:00+00:00', 2700, 110, 'f', 17, 1, 1, 't', '5481929182659536685', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(73, 'Doctor Who', '10/13. Vincent and the Doctor: Science fiction drama. The Doctor and Amy Pond meet Vincent van Gogh. Also in HD.', 'crid://fp.bbc.co.uk/1FTW6C', '1FTW6C', '2010-06-05T17:40:00+00:00', 3000, 100, 'f', 17, 1, 1, 't', '5479330297948725730', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(74, 'Doctor Who', '9/13. Cold Blood: Science fiction drama. The Earth faces the dawn of a new age of harmony, or the start of its final war. Also in HD.', 'crid://fp.bbc.co.uk/1FTW6B', '1FTW6B', '2010-05-29T18:00:00+00:00', 3000, 90, 'f', 17, 1, 1, 't', '5476737855688857707', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(75, 'Doctor Who', '8/13. The Hungry Earth: Science fiction drama. The most ambitious drilling project ever reaches far below the Earth''s crust - but the ground is fighting back. Also in HD.', 'crid://fp.bbc.co.uk/1FTW6A', '1FTW6A', '2010-05-22T17:15:00+00:00', 2700, 80, 'f', 17, 1, 1, 't', '5474128663056535077', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(76, 'Doctor Who', '7/13. Amy''s Choice: Science fiction drama. Five years have passed since Amy Pond last saw the Doctor. But when one day he reappears in her life, she faces a terrible decision. Also in HD.', 'crid://fp.bbc.co.uk/1FTW69', '1FTW69', '2010-05-15T17:25:00+00:00', 2700, 70, 'f', 17, 1, 1, 't', '5471533643816288961', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(77, 'Doctor Who', '6/13. The Vampires of Venice: Science fiction drama. Desiccated corpses and terror fill the canals as the Doctor takes Amy and Rory to 16th Century Venice. Also in HD.', 'crid://fp.bbc.co.uk/1FTW68', '1FTW68', '2010-05-08T17:00:00+00:00', 2700, 60, 'f', 17, 1, 1, 't', '5468929605144722514', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(78, 'Doctor Who', '5/13. Flesh and Stone: Science fiction drama. Surrounded by an army of Weeping Angels, the Doctor and his friends must escape through the forest vault. Also in HD.', 'crid://fp.bbc.co.uk/1FTW67', '1FTW67', '2010-05-01T17:25:00+00:00', 2700, 50, 'f', 17, 1, 1, 't', '5466338451375045467', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(79, 'Doctor Who', '4/13. The Time of Angels: Science fiction drama. The Doctor is recruited by Father Octavian to track the last of the Weeping Angels through the terrifying Maze of the Dead. Also in HD.', 'crid://fp.bbc.co.uk/1FTW66', '1FTW66', '2010-04-24T17:20:00+00:00', 2700, 40, 'f', 17, 1, 1, 't', '5463739566664235654', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(80, 'Doctor Who', '3/13. Victory of the Daleks: The Doctor is summoned to Blitz-torn London by Winston Churchill, and the Daleks are waiting for him!', 'crid://fp.bbc.co.uk/1FTW65', '1FTW65', '2010-04-17T17:30:00+00:00', 2700, 30, 'f', 17, 1, 1, 't', '5461144547423989477', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(81, 'Doctor Who', '2/13. The Beast Below: The Doctor takes Amy to the distant future, where she finds all of Britain in a giant spaceship. Also in HD.', 'crid://fp.bbc.co.uk/1FTW64', '1FTW64', '2010-04-10T17:15:00+00:00', 2700, 20, 'f', 17, 1, 1, 't', '5458543085732800327', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(82, 'Doctor Who', 'New series. 1/13. The Eleventh Hour: The newly-regenerated Doctor has twenty minutes to save the world, and only Amy Pond can help him. Also in HD.', 'crid://fp.bbc.co.uk/1FTW63', '1FTW63', '2010-04-03T17:20:00+00:00', 3900, 10, 'f', 17, 1, 1, 't', '5985529130683705264', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(83, 'Doctor Who', '2/2. The End of Time, Part Two: The Doctor faces the end of his life, as the Master''s victory unleashes the greatest terror of all. Also in HD.', 'crid://fp.bbc.co.uk/1FTW61', '1FTW61', '2010-01-01T18:40:00+00:00', 4500, 1000000, 'f', 24, 1, 1, 't', '5421843019685202391', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(84, 'Doctor Who', '1/2. The End of Time, Part One: It is Christmas Eve, and the Doctor is reunited with Wilf to face the return of an old enemy. Also in HD.', 'crid://fp.bbc.co.uk/1FTW60', '1FTW60', '2009-12-25T18:00:00+00:00', 3600, 1000000, 'f', 24, 1, 1, 't', '5419235115543071049', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(85, 'Doctor Who', 'The Waters of Mars: Mars, 2059. Bowie Base One. Last recorded message: ''Don''t drink the water. Don''t even touch it. Not one drop.'' Also in HD.', 'crid://fp.bbc.co.uk/1FTW62', '1FTW62', '2009-11-15T19:00:00+00:00', 3600, 1000000, 'f', 24, 1, 1, 't', '5404407170450378653', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(86, 'Doctor Who', 'The Next Doctor: Christmas Eve, 1851, and Cybermen stalk the snow of Victorian London. But when the Doctor meets another Doctor, the two must combine forces to stop the rise of the CyberKing.', 'crid://fp.bbc.co.uk/1FTW5O', '1FTW5O', '2008-12-25T18:00:00+00:00', 3600, 1000000, 'f', 24, 1, 1, 't', '5283789026896393049', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(87, 'Doctor Who', 'Journey''s End: As Davros and the Daleks threaten the entire universe, the Doctor''s companions join forces. But the prophecy declares that one of them will die...', 'crid://fp.bbc.co.uk/54BXKY', '54BXKY', '2008-07-05T17:40:00+00:00', 3900, 1000000, 'f', 24, 1, 1, 't', '5219570675886598331', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(88, 'Doctor Who', 'The Stolen Earth: Earth''s greatest heroes assemble to fight the New Dalek Empire. But a fearsome old enemy waits in the shadows... Starring David Tennant and Catherine Tate.', 'crid://fp.bbc.co.uk/54BXKX', '54BXKX', '2008-06-28T18:10:00+00:00', 3000, 1000000, 'f', 24, 1, 1, 't', '5216980810607108643', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(89, 'Doctor Who', 'Turn Left: As Donna''s world collapses, she finds help from a mysterious blonde woman - but can Donna and Rose stop the approaching Darkness?', 'crid://fp.bbc.co.uk/54BXKW', '54BXKW', '2008-06-21T17:40:00+00:00', 3000, 1000000, 'f', 24, 1, 1, 't', '5214375483445355207', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(90, 'Doctor Who', 'Midnight: The Doctor is trapped, powerless and terrified, on the planet Midnight, as the knocking on the wall begins... Starring David Tennant and Catherine Tate.', 'crid://fp.bbc.co.uk/54BXKV', '54BXKV', '2008-06-14T18:10:00+00:00', 2700, 1000000, 'f', 24, 1, 1, 't', '5211785618165862871', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(91, 'Doctor Who', 'Forest of the Dead: As the shadows rise, the Doctor forges an alliance with the mysterious River Song. But can anyone stop the Vashta Nerada? Starring David Tennant and Catherine Tate.', 'crid://fp.bbc.co.uk/54BXKU', '54BXKU', '2008-06-07T18:00:00+00:00', 2700, 1000000, 'f', 24, 1, 1, 't', '5209185444964862650', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(92, 'Doctor Who', 'Silence in the Library: The Doctor and Donna enter a world of terror inside an abandoned library. They are given only one warning: "Count the shadows".', 'crid://fp.bbc.co.uk/54BXKT', '54BXKT', '2008-05-31T18:00:00+00:00', 2700, 1000000, 'f', 24, 1, 1, 't', '5206587848744268357', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(93, 'Doctor Who', 'The Unicorn and the Wasp: In 1926, Agatha Christie disappeared for ten days. Was it amnesia? A nervous breakdown? Or a giant alien wasp...?', 'crid://fp.bbc.co.uk/54BXKS', '54BXKS', '2008-05-17T18:00:00+00:00', 2700, 1000000, 'f', 24, 1, 1, 't', '5201392656303022524', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(94, 'Doctor Who', 'The Doctor''s Daughter: On the planet Messaline, in the middle of an endless war, the Doctor meets the most important woman of his life.', 'crid://fp.bbc.co.uk/54BXKR', '54BXKR', '2008-05-10T17:45:00+00:00', 2700, 1000000, 'f', 24, 1, 1, 't', '5198791194611832979', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(95, 'Doctor Who', 'The Poison Sky: As the Sontarans choke the Earth, the Doctor battles to keep both Martha and Donna alive.', 'crid://fp.bbc.co.uk/54BXKQ', '54BXKQ', '2008-05-03T17:20:00+00:00', 2700, 1000000, 'f', 24, 1, 1, 't', '5196187155940266119', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(96, 'Doctor Who', 'The Sontaran Stratagem: Martha Jones summons the Doctor back to modern-day Earth, but an old enemy lies in wait.', 'crid://fp.bbc.co.uk/54BXKP', '54BXKP', '2008-04-26T17:20:00+00:00', 2700, 1000000, 'f', 24, 1, 1, 't', '5193589559719643111', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(97, 'Doctor Who', 'Planet of the Ood: The Doctor takes Donna to her first alien world, but the Ood-Sphere reveals some terrible truths about the human race. Starring David Tennant and Catherine Tate.', 'crid://fp.bbc.co.uk/54BXKO', '54BXKO', '2008-04-19T17:20:00+00:00', 2700, 1000000, 'f', 24, 1, 1, 't', '5190991963499020053', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(98, 'Doctor Who', 'The Fires of Pompeii: Psychic powers and stone beasts run riot in old Pompeii, but can Donna dare the Doctor to change established history?', 'crid://fp.bbc.co.uk/54BXKN', '54BXKN', '2008-04-12T17:45:00+00:00', 3000, 1000000, 'f', 24, 1, 1, 't', '5188400809729341019', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(99, 'Doctor Who', 'Partners in Crime: Donna is determined to find the Doctor again - even if it means braving the villainous Miss Foster and her hordes of sinister Adipose.', 'crid://fp.bbc.co.uk/54BXKM', '54BXKM', '2008-04-05T17:20:00+00:00', 3000, 1000000, 'f', 24, 1, 1, 't', '5185796771057773878', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(100, 'Doctor Who', 'Voyage of the Dammed: When disaster hits the Titanic, the Doctor uncovers a threat to the human race. Battling alongside aliens, saboteurs and robot angels, can he stop the inferno?', 'crid://fp.bbc.co.uk/54BXKZ', '54BXKZ', '2007-12-25T18:50:00+00:00', 4200, 140, 'f', 31, 1, 1, 't', '5147984737977246330', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(101, 'Doctor Who', '13/13. Doomsday: Two armies wage war across the Earth with humans caught in the middle. But the Doctor faces a greater dilemma. Does saving the world mean the death of Rose?', 'crid://fp.bbc.co.uk/54BVA1', '54BVA1', '2007-08-29T18:00:00+00:00', 3000, 140, 'f', 26, 4, 1, 't', '5104168340629188990', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(102, 'Doctor Who', '12/13. Army of Ghosts: The human race rejoices as the ghosts of loved ones return home. But as the Doctor, Rose and Jackie investigate, a trap is being sprung that threatens Earth.', 'crid://fp.bbc.co.uk/54BVA0', '54BVA0', '2007-08-28T18:00:00+00:00', 2700, 130, 'f', 26, 4, 1, 't', '5103797255454814549', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(103, 'Doctor Who', '11/13. Fear Her: When the Tardis lands in 2012, the Doctor plans to show Rose the London Olympics. On a nearby housing estate, a desperate mother is hiding her daughter''s unearthly powers.', 'crid://fp.bbc.co.uk/54BV9Z', '54BV9Z', '2007-08-27T18:00:00+00:00', 2700, 120, 'f', 26, 4, 1, 't', '5103426170280440122', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(104, 'Doctor Who', '10/13. Love and Monsters: A man called Elton becomes obsessed with the Doctor and Rose and the Tardis. But this harmless hobby suddenly plunges Elton into a world of living nightmares.', 'crid://fp.bbc.co.uk/54BV9Y', '54BV9Y', '2007-08-23T18:00:00+00:00', 2700, 110, 'f', 26, 4, 1, 't', '5101941829582941391', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(105, 'Doctor Who', '9/13. The Satan Pit: Rose battles the murderous Ood, and the Doctor finds his every belief being challenged to the core. As the Pit beckons, he must make the ultimate sacrifice.', 'crid://fp.bbc.co.uk/54BV9X', '54BV9X', '2007-08-21T18:00:00+00:00', 3000, 100, 'f', 26, 4, 1, 't', '5101199659234192165', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(106, 'Doctor Who', '8/13. The Impossible Planet: The Doctor and Rose arrive on a world in the orbit of a black hole. Trapped with a human expedition and the alien Ood, they realise something evil is waking up.', 'crid://fp.bbc.co.uk/54BV9W', '54BV9W', '2007-08-20T18:00:00+00:00', 3000, 90, 'f', 26, 4, 1, 't', '5100828574059817091', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(107, 'Doctor Who', '7/13. The Idiot''s Lantern: As the 1953 celebrations surrounding the coronation of Queen Elizabeth II continue, there are rumours of monsters on the streets.', 'crid://fp.bbc.co.uk/54BV9V', '54BV9V', '2007-08-19T18:00:00+00:00', 2700, 80, 'f', 26, 4, 1, 't', '5100457488885442680', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(108, 'Doctor Who', '6/13. The Age of Steel: Cybermen take control of London and start converting the populace. While Jackie falls under Lumic''s control, the Doctor, Rose and Mickey are reduced to fugitives.', 'crid://fp.bbc.co.uk/54BV9U', '54BV9U', '2007-08-17T18:00:00+00:00', 3000, 70, 'f', 26, 4, 1, 't', '5099715318536693507', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(109, 'Doctor Who', '5/13. Rise of the Cybermen: When the Tardis is trapped on a parallel earth, Rose discovers that her father is alive. An enemy of the Doctor''s is about to be reborn in a new and terrible shape.', 'crid://fp.bbc.co.uk/54BV9T', '54BV9T', '2007-08-16T18:00:00+00:00', 3000, 60, 'f', 26, 4, 1, 't', '5099344233362318934', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(110, 'Doctor Who', '4/13. The Girl in the Fireplace: When Madame de Pompadour finds the court at Versailles under attack from clockwork killers, her only hope of salvation lies with the Doctor. Then 60 Seconds.', 'crid://fp.bbc.co.uk/54BV9S', '54BV9S', '2007-08-15T19:15:00+00:00', 2700, 50, 'f', 26, 4, 1, 't', '5098992475540776329', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(111, 'Doctor Who', '3/13. School Reunion: When the Doctor investigates a London school haunted by bat-like creatures, he finds an old friend already working undercover. Followed by 60 Seconds.', 'crid://fp.bbc.co.uk/54BV9R', '54BV9R', '2007-08-15T18:30:00+00:00', 2700, 40, 'f', 26, 4, 1, 't', '5098980879129077122', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(112, 'Doctor Who', '2/13. Tooth and Claw: The Doctor and Rose travel back to 1879, where an encounter in the Scottish Highlands with Queen Victoria and a band of warrior monks reveals a deadly trap.', 'crid://fp.bbc.co.uk/54BV9Q', '54BV9Q', '2007-08-14T18:00:00+00:00', 2700, 30, 'f', 26, 4, 1, 't', '5098602063013569512', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(113, 'Doctor Who', '1/13. New Earth: When the Doctor and Rose visit mankind''s new home, far in the future, they find gruesome secrets hidden inside a luxury hospital.', 'crid://fp.bbc.co.uk/54BV9P', '54BV9P', '2007-08-13T18:00:00+00:00', 2700, 20, 'f', 26, 4, 1, 't', '5098230977839194856', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(114, 'Doctor Who', '13/13. Parting of the Ways: Friendships are put to the test as Earth plunges into an epic war. With the human race being slaughtered, the Doctor is forced into terrible action.', 'crid://fp.bbc.co.uk/54BUGO', '54BUGO', '2007-08-10T18:00:00+00:00', 2700, 260, 'f', 32, 4, 1, 't', '5097117722316069794', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(115, 'Doctor Who', '12/13. Bad Wolf: The Doctor, Rose and Captain Jack have to fight for their lives on board the Game Station, but a more dangerous threat is lurking just out of sight.', 'crid://fp.bbc.co.uk/54BUGN', '54BUGN', '2007-08-09T18:00:00+00:00', 2700, 250, 'f', 32, 4, 1, 't', '5096746637141695352', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(116, 'Doctor Who', '11/13. Boom Town: The Doctor encounters an enemy he thought long since dead. A plan to build a nuclear power station in Cardiff disguises an alien plot to rip the world apart.', 'crid://fp.bbc.co.uk/54BUGM', '54BUGM', '2007-08-08T18:00:00+00:00', 2700, 240, 'f', 32, 4, 1, 't', '5096375551967320695', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(117, 'Doctor Who', '10/13. The Doctor Dances: The Child''s plague is spreading throughout wartime London, and its zombie army is on the march. The Doctor and Rose are trapped in an abandoned hospital.', 'crid://fp.bbc.co.uk/54BUGL', '54BUGL', '2007-08-07T18:00:00+00:00', 2700, 230, 'f', 32, 4, 1, 't', '5096004466792946099', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(118, 'Doctor Who', '9/13. The Empty Child: During WWII, a mysterious cylinder is being guarded by the army, while homeless children living on the bombsites are being terrorised by an unearthly child.', 'crid://fp.bbc.co.uk/54BUGK', '54BUGK', '2007-08-06T18:00:00+00:00', 2700, 220, 'f', 32, 4, 1, 't', '5095633381618571585', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(119, 'Doctor Who', '8/13. Father''s Day: Rose travels back to 1987 to witness the day her father died but when she interferes in the course of events, the monstrous Reapers are unleashed upon the world.', 'crid://fp.bbc.co.uk/54BUGJ', '54BUGJ', '2007-08-05T18:00:00+00:00', 2700, 210, 'f', 32, 4, 1, 't', '5095262296444197158', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(120, 'Doctor Who', '7/13. The Long Game: In the future, Satellite 5 broadcasts to the Earth Empire, but anyone promoted to Floor 500 is never seen again and the Doctor suspects mankind is being manipulated.', 'crid://fp.bbc.co.uk/54BUGI', '54BUGI', '2007-08-03T18:00:00+00:00', 2700, 200, 'f', 32, 4, 1, 't', '5094520126095447238', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(121, 'Doctor Who', '6/13. Dalek: The Doctor and Rose discover that the Doctor''s oldest and most deadly enemy is about to break free, after being held captive beneath the salt plains of Utah.', 'crid://fp.bbc.co.uk/54BUGH', '54BUGH', '2007-08-02T18:00:00+00:00', 3000, 190, 'f', 32, 4, 1, 't', '5094149040921072787', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(122, 'Doctor Who', '5/13. World War Three: The Doctor, Rose and Harriet Jones race against time to unmask the villainous Slitheen, but only Rose''s mum and boyfriend hold the key to salvation.', 'crid://fp.bbc.co.uk/54BUGG', '54BUGG', '2007-08-01T18:00:00+00:00', 2700, 180, 'f', 32, 4, 1, 't', '5093777955746698189', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(123, 'Doctor Who', '4/13. Aliens of London: The Doctor takes Rose home, but when a spaceship crash-lands in the Thames, London is closed off and the whole world goes on red alert.', 'crid://fp.bbc.co.uk/54BUGF', '54BUGF', '2007-07-31T18:00:00+00:00', 2700, 170, 'f', 32, 4, 1, 't', '5093406870572323382', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(124, 'Doctor Who', '3/13. The Unquiet Dead: The Doctor takes Rose back through time to 1869. But in Victorian Cardiff, the dead are walking and creatures made of gas are on the loose.', 'crid://fp.bbc.co.uk/54BUGE', '54BUGE', '2007-07-30T18:00:00+00:00', 2700, 160, 'f', 32, 4, 1, 't', '5093035785397948944', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(125, 'Doctor Who', '2/13. The End of the World: The Doctor takes Rose on her first voyage through time, to the year five billion as the sun is about to expand and swallow the Earth.', 'crid://fp.bbc.co.uk/54BUGD', '54BUGD', '2007-07-29T18:00:00+00:00', 2700, 150, 'f', 32, 4, 1, 't', '5092664700223574240', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(126, 'Doctor Who', 'Rose: When Rose Tyler meets a mysterious stranger called the Doctor she feels that her life will never be the same again. Soon she realises that the whole of planet Earth is in danger.', 'crid://fp.bbc.co.uk/54BUG9', '54BUG9', '2007-07-28T18:00:00+00:00', 3000, 140, 'f', 32, 4, 1, 't', '5092293615049199511', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(127, 'Doctor Who', '10/13. Blink: In an old, abandoned house, the Weeping Angels wait. Only the Doctor can stop them, but he''s lost in time.', 'crid://fp.bbc.co.uk/54BW1M', '54BW1M', '2007-07-24T18:00:00+00:00', 2700, 100, 'f', 31, 4, 1, 't', '5090809274351699720', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(128, 'Doctor Who', '9/13. The Family of Blood: It is 1913, and war has come to England a year in advance, as the terrifying Family hunt for the Doctor. Followed by 60 Seconds.', 'crid://fp.bbc.co.uk/54BW1L', '54BW1L', '2007-07-23T18:00:00+00:00', 2700, 90, 'f', 31, 4, 1, 't', '5090438189177325273', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(129, 'Doctor Who', '8/13. Human Nature. Part 1: England 1913, and a schoolteacher called John Smith has strange dreams of adventures in time and space.', 'crid://fp.bbc.co.uk/54BW1K', '54BW1K', '2007-07-22T18:00:00+00:00', 2700, 80, 'f', 31, 4, 1, 't', '5090067104002950868', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(130, 'Doctor Who', '7/13. 42: As a spaceship hurtles towards the sun, the Doctor and Martha have only 42 minutes to save the day.', 'crid://fp.bbc.co.uk/54BW1J', '54BW1J', '2007-07-20T18:00:00+00:00', 2700, 70, 'f', 31, 4, 1, 't', '5089324933654201966', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(131, 'Doctor Who', 'The Lazarus Experiment: Time-travelling traumas with the Timelord in the TARDIS. Martha returns home, but has to save her family from the schemes of the monstrous Professor Lazarus.', 'crid://fp.bbc.co.uk/54BW1I', '54BW1I', '2007-07-19T18:00:00+00:00', 2700, 60, 'f', 31, 4, 1, 't', '5088953848479827452', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(132, 'Doctor Who', 'Evolution of the Daleks: As a new Dalek Empire rises in 1930s New York, the Doctor must enter an unholy alliance.', 'crid://fp.bbc.co.uk/54BW1H', '54BW1H', '2007-07-18T18:00:00+00:00', 2700, 50, 'f', 31, 4, 1, 't', '5088582763305452892', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(133, 'Doctor Who', '4/13. Daleks in Manhattan: The Doctor finds his oldest enemies at work on top of the Empire State Building when he and Martha travel to 1930s New York.', 'crid://fp.bbc.co.uk/54BW1G', '54BW1G', '2007-07-17T18:00:00+00:00', 3000, 40, 'f', 31, 4, 1, 't', '5088211678131078478', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(134, 'Doctor Who', '3/13. Gridlock: The Doctor takes Martha to New Earth, in the far future, only to find that an entire city has become a deadly trap. Followed by 60 Seconds.', 'crid://fp.bbc.co.uk/54BW1F', '54BW1F', '2007-07-16T18:00:00+00:00', 2700, 30, 'f', 31, 4, 1, 't', '5087840592956702317', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(135, 'Doctor Who', '2/13. The Shakespeare Code: The Doctor takes Martha to Elizabethan England, where William Shakespeare is under the control of deadly witch-like creatures.', 'crid://fp.bbc.co.uk/54BW1E', '54BW1E', '2007-07-15T18:00:00+00:00', 2700, 20, 'f', 31, 4, 1, 't', '5087469507782327904', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(136, 'Doctor Who', '1/13. Smith and Jones: When Martha Jones finds herself on the moon, she meets a mysterious stranger called the Doctor, and her life will never be the same again. Then 60 Seconds.', 'crid://fp.bbc.co.uk/54BW1D', '54BW1D', '2007-07-13T18:00:00+00:00', 3000, 10, 'f', 31, 4, 1, 't', '5086727337433578919', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(137, 'Doctor Who', '13/13. Last of the Time Lords: Earth has been conquered and the Master rules supreme, with the Doctor his prisoner. Can Martha Jones save the world?', 'crid://fp.bbc.co.uk/54BW1P', '54BW1P', '2007-06-30T18:05:00+00:00', 3000, 120, 'f', 31, 1, 1, 't', '5081904518644642147', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(138, 'Doctor Who', '12/13. The Sound of Drums: Harry Saxon becomes Prime Minister, but his dark ambitions reach beyond the stars.', 'crid://fp.bbc.co.uk/54BW1O', '54BW1O', '2007-06-29T20:00:00+00:00', 2700, 130, 'f', 31, 4, 1, 't', '5081563068756863848', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(139, 'Doctor Who', '11/13. Utopia: Jack''s back! As Captain Jack storms back into the Doctor''s life, the Tardis is thrown to the end of the universe itself.', 'crid://fp.bbc.co.uk/54BW1N', '54BW1N', '2007-06-29T19:00:00+00:00', 2700, 110, 'f', 31, 4, 1, 't', '5081547606874598243', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(227, 'Doctor Who', 'The Doctor, the Widow and the Wardrobe: A madcap caretaker leads an evacuee and her two children into a magical wintry world. Also in HD.', 'crid://fp.bbc.co.uk/1FTW9P', '1FTW9P', '2011-12-25T19:00:00+00:00', 3600, 1000000, 'f', 15, 1, 1, 't', '5690142754718650869', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(351, 'Doctor Who', 'The Christmas Invasion: The Tardis falls to earth on Christmas Eve, bringing the new Doctor home to Rose''s family. Followed by 60 Seconds.', 'crid://fp.bbc.co.uk/54BV9O', '54BV9O', '2007-08-12T18:00:00+00:00', 3600, 10, 'f', 26, 4, 1, 't', '5097859892664820189', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(352, 'Doctor Who', 'The Runaway Bride: The Doctor finds himself with a new companion, Donna, but she''s late for her wedding. As they race to get to the church, the mysterious Empress joins the chase.', 'crid://fp.bbc.co.uk/54BW1Q', '54BW1Q', '2010-12-28T13:40:00+00:00', 3600, 150, 'f', 26, 1, 1, 't', '5085258458618345706', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(353, 'Doctor Who', 'Planet of the Dead: A London bus takes a detour to an alien world, but can the Doctor defeat the terrifying Swarm? Also in HD.', 'crid://fp.bbc.co.uk/1FTW5Z', '1FTW5Z', '2009-04-11T17:45:00+00:00', 3600, 1000000, 'f', 24, 1, 1, 't', '5323475813201660716', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(354, 'Doctor Who: The Time of the Doctor', 'Sci-fi drama. Orbiting a quiet backwater planet, the universe''s deadliest species gather, drawn to a mysterious message that echoes out to the stars. And amongst them, the Doctor. Also in HD.', 'crid://fp.bbc.co.uk/1FTW2S', '1FTW2S', '2013-12-25T19:30:00+00:00', 3600, 160, 'f', 13, 1, 1, 't', '5961413748127481733', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(355, 'Doctor Who: The Day of the Doctor', 'The Doctors embark on their greatest adventure in this anniversary special. All of reality is at stake as the Doctor''s dangerous past comes back to haunt him. Also in HD.', 'crid://fp.bbc.co.uk/1FTW2Q', '1FTW2Q', '2013-11-23T19:50:00+00:00', 4500, 150, 'f', 13, 1, 1, 't', '5949544176508245292', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(356, 'Happy Valley', '6/6. Catherine''s fears grow when she learns that Tommy has been spending time with Ryan. Contains some strong language and some violence. Also in HD.', 'crid://fp.bbc.co.uk/1FN65Q', '1FN65Q', '2014-06-03T20:00:00+00:00', 3600, 1000000, 'f', 90, 1, 2, 't', '6020795106968526005', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(357, 'Happy Valley', '5/6. Drama series. Catherine sinks into a depression as she learns that Tommy is still at large. The net closes in on Kevin. Contains some violence and some upsetting scenes. Also in HD.', 'crid://fp.bbc.co.uk/1FN64B', '1FN64B', '2014-05-27T20:00:00+00:00', 3600, 1000000, 'f', 90, 1, 2, 't', '6018197510747894328', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(358, 'Happy Valley', '4/6. Catherine and Tommy finally come face to face when he discovers he is a father. Contains some strong language, some violence and disturbing scenes. Also in HD.', 'crid://fp.bbc.co.uk/1FN64A', '1FN64A', '2014-05-20T20:00:00+00:00', 3600, 1000000, 'f', 90, 1, 2, 't', '6015599914527270823', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(359, 'Happy Valley', '3/6. Tommy brutally takes control of a situation when PC Kirsten McAskill pulls him and Lewis over. His actions have devastating consequences. Contains upsetting scenes. Also in HD.', 'crid://fp.bbc.co.uk/1FN649', '1FN649', '2014-05-13T20:00:00+00:00', 3600, 1000000, 'f', 90, 1, 2, 't', '6013002318306646896', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(360, 'Happy Valley', '2/6. Drama series. Catherine gets a tip-off regarding Tommy''s whereabouts. Helen absorbs the news that Ann has been abducted. Contains some strong language and upsetting scenes. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FN648', '1FN648', '2015-04-25T22:10:00+01:00', 3600, 1000000, 'f', 566, 4, 2, 't', '6141786912685348091', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(361, 'Happy Valley', 'New series. 1/6. Drama series. Sergeant Cawood''s world stops when the man who drove her daughter to suicide is released from prison. Contains adult themes. Also in HD.', 'crid://fp.bbc.co.uk/1FN647', '1FN647', '2014-04-29T20:00:00+00:00', 3600, 1000000, 'f', 90, 1, 2, 't', '6007807125865403315', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(362, 'The Vicar of Dibley', '1/8. The Arrival: Sitcom about a female vicar. When the 102-year-old vicar of Dibley village dies suddenly, the locals are shocked to discover that his replacement is a woman.', 'crid://fp.bbc.co.uk/4GYN95', '4GYN95', '2013-03-08T20:30:00+00:00', 1800, 1000000, 'f', 91, 1, 2, 't', '5123506001370432578', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(363, 'The Vicar of Dibley', 'Winter: Ecclesiastical sitcom about the unconventional Rev Geraldine Granger. Alice miraculously solves the problem of the Christmas show by proposing an unusual Nativity.', 'crid://fp.bbc.co.uk/3CWPPF', '3CWPPF', '2012-12-25T23:00:00+00:00', 2400, 1000000, 'f', 92, 1, 2, 't', '6096531271776001194', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(364, 'The Vicar of Dibley', 'The Christmas Lunch Incident: The Christmas 1996 episode of the clerical sitcom. Geraldine agrees to attend three Christmas lunches, in order not to hurt anyone''s feelings.', 'crid://fp.bbc.co.uk/4D917W', '4D917W', '2012-12-24T22:45:00+00:00', 2700, 1000000, 'f', 92, 1, 2, 't', '5961474307166356317', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(365, 'The Vicar of Dibley', 'Love and Marriage: Geraldine is busy preparing for Alice and Hugo''s wedding, but she is totally unprepared for Alice''s shock revelation, or for her first meeting with David''s dashing brother.', 'crid://fp.bbc.co.uk/4D919C', '4D919C', '2008-02-02T21:40:00+00:00', 1800, 1000000, 'f', 93, 1, 2, 't', '5162500868444278667', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(366, 'The Vicar of Dibley', 'Election: It''s time for the local elections and David is as confident as ever of total victory. He plans to twin-town Dibley with every single country in Europe, except of course, Belgium.', 'crid://fp.bbc.co.uk/4GYN99', '4GYN99', '2008-01-13T21:40:00+00:00', 1800, 1000000, 'f', 94, 1, 2, 't', '5155079164956785187', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(367, 'The Vicar of Dibley', 'At last the Vicar will attend a wedding in a dress, not a dog collar. Or will she? The Vicar chosen for the service seems a bit too fond of Geraldine.', 'crid://fp.bbc.co.uk/35VA6K', '35VA6K', '2008-01-09T21:00:00+00:00', 3600, 1000000, 'f', 95, 1, 2, 't', '5153584516337775417', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(368, 'The Vicar of Dibley', 'The Handsome Stranger: Alice has worked out the clues in the Da Vinci Code and concluded, somewhat worryingly, that she is the last living descendant of Jesus Christ.', 'crid://fp.bbc.co.uk/35VA6J', '35VA6J', '2007-12-29T21:10:00+00:00', 3300, 1000000, 'f', 95, 1, 2, 't', '5149505156400032461', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(369, 'The Vicar of Dibley', 'Window and the Weather: After an unfortunate accident with a big tree and a great storm, St Barnabus'' church finds itself in need of a new window. Language may offend.', 'crid://fp.bbc.co.uk/4GYN98', '4GYN98', '2007-11-03T21:40:00+00:00', 1800, 1000000, 'f', 96, 1, 2, 't', '5128732117576210320', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(370, 'The Vicar of Dibley', 'Songs of Praise is coming to film Dibley and its new woman vicar. Unfortunately, Dibley hasn''t actually got a choir - a bit of a drawback in a programme full of hymns. Language may offend.', 'crid://fp.bbc.co.uk/4GYN96', '4GYN96', '2007-10-27T20:40:00+00:00', 1800, 1000000, 'f', 96, 1, 2, 't', '5126103597591055382', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(371, 'The Vicar of Dibley', 'Ecclesiastical sitcom about the unconventional Rev Geraldine Granger.', 'crid://fp.bbc.co.uk/3CWPPE', '3CWPPE', '2007-09-29T20:25:00+00:00', 2400, 1000000, 'f', 97, 1, 2, 't', '5115709347237997032', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(372, 'The Vicar of Dibley', 'Community Spirit: It''s time for the Autumn fayre, and Vicar Geraldine sets out to quadruple last year''s tiny takings by finding a huge star to open it.', 'crid://fp.bbc.co.uk/4GYN97', '4GYN97', '2007-09-15T20:40:00+00:00', 1800, 1000000, 'f', 97, 1, 2, 't', '5110518020267317670', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(373, 'The Vicar of Dibley', 'Dibley Live: When Radio Dibley is live on air for one week, Geraldine presents a ''Brain of Dibley'' competition, and Owen offers to give a commentary whilst gelding horses. Some offensive language.', 'crid://fp.bbc.co.uk/4D919A', '4D919A', '2007-08-18T20:40:00+00:00', 1800, 1000000, 'f', 98, 1, 2, 't', '5100127635384855294', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(374, 'The Vicar of Dibley', 'Animals: Geraldine has a radical idea for an off-beat Sunday service and parish council chairman David is far from impressed.', 'crid://fp.bbc.co.uk/4GYN9A', '4GYN9A', '2007-08-16T20:30:00+00:00', 1800, 1000000, 'f', 98, 1, 2, 't', '5099382888055727832', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(375, 'Luther', '4/4. Accused of crimes he has not committed, Luther must clear his name and stop the vigilante killer from becoming a martyr. Contains some violence. Also in HD.', 'crid://fp.bbc.co.uk/1FHO1Q', '1FHO1Q', '2013-07-23T20:00:00+00:00', 3600, 1000000, 'f', 99, 1, 2, 't', '5903903277040588256', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(376, 'Luther', '3/4. A vigilante killer embarks on a crusade to punish past offenders. Meanwhile, the campaign against Luther knows no bounds. Contains some violence and upsetting scenes. Also in HD.', 'crid://fp.bbc.co.uk/1FHO1P', '1FHO1P', '2013-07-16T20:00:00+00:00', 3600, 1000000, 'f', 99, 1, 2, 't', '5901305680819965287', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(377, 'Luther', '2/4. Crime drama series. The killer has struck again. Luther trawls through cold case files, determined to try and predict the fetishist''s next move. Contains disturbing scenes. Also in HD.', 'crid://fp.bbc.co.uk/1FHO1O', '1FHO1O', '2013-07-14T21:25:00+00:00', 3600, 1000000, 'f', 99, 1, 2, 't', '5898708084599343208', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(378, 'Luther', 'New series. 1/4. Luther investigates two horrific cases, unaware his every step is under scrutiny. Contains some violence and disturbing scenes. Also in HD.', 'crid://fp.bbc.co.uk/1FHO1N', '1FHO1N', '2013-07-02T20:00:00+00:00', 3600, 1000000, 'f', 99, 1, 2, 't', '5896110488378721561', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(379, 'Luther', '4/4. Luther has a murderer in custody, a copycat killer on the loose, Toby''s body to dispose of and a suspicious Baba to appease. Contains some violence and disturbing scenes. Also in HD.', 'crid://fp.bbc.co.uk/1FH74U', '1FH74U', '2011-07-05T20:00:00+00:00', 3600, 1000000, 'f', 100, 1, 2, 't', '5625945019551878439', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(380, 'Luther', '3/4. Luther must outmanoeuvre a man whose brutal and escalating murders seem to have no motive. Contains some violence and upsetting scenes. Also in HD.', 'crid://fp.bbc.co.uk/1FH74T', '1FH74T', '2011-06-28T20:00:00+00:00', 3600, 1000000, 'f', 100, 1, 2, 't', '5623347423331285372', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(381, 'Luther', '2/4. Luther must save Ripley''s life in time to stop Cameron''s final murderous set piece. Contains some violence and disturbing scenes. Also in HD.', 'crid://fp.bbc.co.uk/1FH74S', '1FH74S', '2011-06-21T20:00:00+00:00', 3600, 1000000, 'f', 100, 1, 2, 't', '5620749827110663376', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(382, 'Luther', 'New series. 1/4. Luther faces a surreal and nightmarish case of a man who murders wearing a Punch mask. Contains some violence and upsetting scenes. Also in HD.', 'crid://fp.bbc.co.uk/1FH74R', '1FH74R', '2011-06-14T20:00:00+00:00', 3600, 1000000, 'f', 100, 1, 2, 't', '5618152230890041491', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(383, 'Luther', '6/6. Crime drama. Luther, suspected of murder, goes on the run to try and prove his innocence. He and Alice set out to exact revenge on the real killer. Contains some violence. Also in HD.', 'crid://fp.bbc.co.uk/1FH6AC', '1FH6AC', '2010-06-08T20:00:00+00:00', 3600, 1000000, 'f', 101, 1, 2, 't', '5480479631197136533', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(384, 'Luther', '5/6. Things become personal for Luther when a wealthy couple are taken hostage. Contains some strong language and some violence. Also in HD.', 'crid://fp.bbc.co.uk/1FH6AB', '1FH6AB', '2010-06-01T20:00:00+00:00', 3600, 1000000, 'f', 101, 1, 2, 't', '5477882034976514414', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(385, 'Luther', '4/6. When three girls are found murdered, Luther is forced to put personal matters aside. Contains some strong language, some violence and some upsetting scenes. Also in HD.', 'crid://fp.bbc.co.uk/1FH6AA', '1FH6AA', '2010-05-25T20:00:00+00:00', 3600, 1000000, 'f', 101, 1, 2, 't', '5475284438755891059', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(386, 'Luther', '3/6. John Luther must catch a satanic occult killer accused of kidnap and murder. Contains disturbing scenes. Also in HD.', 'crid://fp.bbc.co.uk/1FH6A9', '1FH6A9', '2010-05-18T20:00:00+00:00', 3600, 1000000, 'f', 101, 1, 2, 't', '5472686842535267723', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(387, 'Luther', '2/6. Luther must outmanoeuvre a trained sniper on a mission to gun down police officers. Contains some violence. Also in HD.', 'crid://fp.bbc.co.uk/1FH6A8', '1FH6A8', '2010-05-11T20:00:00+00:00', 3600, 1000000, 'f', 101, 1, 2, 't', '5470089246314644032', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(388, 'Luther', 'New series. 1/6. Luther, back from suspension, must solve a seemingly perfect double murder. Contains some upsetting scenes. Also in HD.', 'crid://fp.bbc.co.uk/1FH6A7', '1FH6A7', '2010-05-04T20:00:00+00:00', 3600, 1000000, 'f', 101, 1, 2, 't', '5467491650094023007', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(781, 'Doctor Who', 'Part 4: The Hand of Fear: Eldrad reconfigures his body to its final, male form. Furious with finding his world dead, he states that he will return to Earth to rule it.', 'crid://fp.bbc.co.uk/1FHO0C', '1FHO0C', '2011-05-10T19:05:00+00:00', 1500, 1000000, 'f', 159, 3, 1, 't', '5605150077225072001', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(782, 'Doctor Who', 'Part 3: The Hand of Fear: The hand has regenerated into a Kastrian called Eldrad who has modelled his form on Sarah Jane. He persuades the Doctor to take him back to Kastria.', 'crid://fp.bbc.co.uk/1FHO0B', '1FHO0B', '2011-05-10T18:40:00+00:00', 1500, 1000000, 'f', 159, 3, 1, 't', '5605143634774128000', 70296, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(783, 'Doctor Who', 'Part 2: The Hand of Fear: The fossilised hand is now in the possession of a technician called Driscoll at Nunton power station. He places it in the reactor core, causing disaster.', 'crid://fp.bbc.co.uk/1FHO0A', '1FHO0A', '2011-05-09T19:05:00+00:00', 1500, 1000000, 'f', 159, 3, 1, 't', '5604778992050697596', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(784, 'Doctor Who', 'Part 1: The Hand of Fear: Sarah Jane finds a fossilised hand and places a ring from it on her finger. She is knocked unconscious by an explosion and is taken to hospital.', 'crid://fp.bbc.co.uk/1FHO09', '1FHO09', '2011-05-09T18:40:00+00:00', 1500, 1000000, 'f', 159, 3, 1, 't', '5604772549599753595', 70744, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(904, 'Death in Paradise', '8/8. Detective drama series. The team investigates the apparent suicide of an elderly resident at a retirement home. Humphrey is surprised when his wife pays a visit to the island. Also in HD.', 'crid://fp.bbc.co.uk/1FN67Q', '1FN67Q', '2014-03-04T21:00:00+00:00', 3600, 1000000, 'f', 184, 1, 2, 't', '5987041817982708206', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(905, 'Death in Paradise', '7/8. Detective drama series. Following a murder on a privately-owned island, DI Goodman and the team find themselves spending the night locked in a house with the killer. Also in HD.', 'crid://fp.bbc.co.uk/1FN67P', '1FN67P', '2014-02-25T21:00:00+00:00', 3600, 1000000, 'f', 184, 1, 2, 't', '5984444221762083271', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(906, 'Death in Paradise', '6/8. Detective drama series set on a Caribbean island. DI Goodman and the team are faced with a conundrum when a birdwatcher is discovered murdered in the Saint-Marie jungle. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FN67O', '1FN67O', '2015-08-06T21:00:00+01:00', 3600, 1000000, 'f', 766, 1, 2, 't', '6179990646775138958', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(907, 'Death in Paradise', '5/8. Detective drama series set on a Caribbean island. DI Goodman and his team are drawn into the world of politics when Saint-Marie''s commerce minister is discovered dead. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FN67N', '1FN67N', '2015-07-21T21:00:00+01:00', 3600, 1000000, 'f', 761, 1, 2, 't', '6174053283985144088', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(908, 'Death in Paradise', '4/8. Detective drama series. Humphrey and the team are faced with the seemingly impossible murder of an air stewardess found poisoned in her hotel bedroom. Also in HD.', 'crid://fp.bbc.co.uk/1FN67M', '1FN67M', '2014-02-04T21:00:00+00:00', 3600, 1000000, 'f', 184, 1, 2, 't', '5976651433100241441', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(909, 'Death in Paradise', '3/8. Detective drama series. The murder of a local gigolo brings DI Goodman and his team into contact with the social elite of Saint Marie. Also in HD.', 'crid://fp.bbc.co.uk/1FN67L', '1FN67L', '2014-01-28T21:00:00+00:00', 3600, 1000000, 'f', 184, 1, 2, 't', '5974053836879618507', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(910, 'Death in Paradise', '2/8. DI Humphrey Goodman and his team are called to investigate a murder on a film set. Also in HD.', 'crid://fp.bbc.co.uk/1FN67K', '1FN67K', '2014-01-21T21:00:00+00:00', 3600, 1000000, 'f', 184, 1, 2, 't', '5971456240658996647', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(911, 'Death in Paradise', 'New series. 1/8. Detective drama series. A university reunion party that DI Richard Poole is attending is brought to an abrupt halt when one of the group is murdered. Also in HD.', 'crid://fp.bbc.co.uk/1FN67J', '1FN67J', '2014-01-14T21:00:00+00:00', 3600, 1000000, 'f', 184, 1, 2, 't', '5968858644438375440', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(912, 'Death in Paradise', 'Detective drama series. The pressure is on for DI Richard Poole and his team to solve an audacious murder carried out in the presence of DS Bordey on a Caribbean party boat. Also in HD.', 'crid://fp.bbc.co.uk/1FN62N', '1FN62N', '2013-08-19T20:00:00+00:00', 3600, 1000000, 'f', 185, 1, 2, 't', '5913922576748679006', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(913, 'Death in Paradise', '4/8. Detective drama series. Camille attempts to persuade Richard to take an interest in the history and folklore of Saint Marie. Richard remains focused on work. Also in HD.', 'crid://fp.bbc.co.uk/1FN62M', '1FN62M', '2013-08-12T20:00:00+00:00', 3600, 1000000, 'f', 185, 1, 2, 't', '5911324980528086582', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(914, 'Death in Paradise', '1/8. Detective drama series. DI Richard Poole struggles to muster that loving feeling for the local voodoo festival celebrating romance and friendship. Also in HD.', 'crid://fp.bbc.co.uk/1FN62J', '1FN62J', '2013-07-29T20:00:00+00:00', 3600, 1000000, 'f', 185, 1, 2, 't', '5906129788086838216', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(915, 'Death in Paradise', '8/8. Detective drama series. When a philanthropist is murdered in broad daylight at a charity fundraiser, DI Poole and his colleagues find themselves up against a daring opponent. Also in HD.', 'crid://fp.bbc.co.uk/1FN62Q', '1FN62Q', '2013-02-26T21:00:00+00:00', 3600, 1000000, 'f', 186, 1, 2, 't', '5849369218289806143', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(916, 'Death in Paradise', '7/8. Detective drama series. A storm is brewing as a hurricane heads for Saint Marie. Is the storm to blame for a death at the university, or is something more sinister afoot? Also in HD.', 'crid://fp.bbc.co.uk/1FN62P', '1FN62P', '2013-02-19T21:00:00+00:00', 3600, 1000000, 'f', 186, 1, 2, 't', '5846771622069183014', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(917, 'Death in Paradise', '6/8. Crime series. There is a blast from the past for DI Poole when an ex-colleague turns up, and the team investigate a murder. Contains moderate violence. Also in HD.', 'crid://fp.bbc.co.uk/1FN62O', '1FN62O', '2013-02-12T21:00:00+00:00', 3600, 1000000, 'f', 186, 1, 2, 't', '5844174025848581494', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(918, 'Death in Paradise', '3/8. Detective drama series. DI Richard Poole is baffled by an apparent suicide at a plastic surgery clinic, but is determined to prove that Valerie Dupree was murdered. Also in HD.', 'crid://fp.bbc.co.uk/1FN62L', '1FN62L', '2013-01-22T21:00:00+00:00', 3600, 1000000, 'f', 187, 1, 2, 't', '5836381237186712060', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(919, 'Death in Paradise', '2/8. DI Poole is baffled by a fatal fire at the convent. Will he and his team manage to unravel the mysteries at the heart of this murder? Contains some upsetting scenes. Also in HD.', 'crid://fp.bbc.co.uk/1FN62K', '1FN62K', '2013-01-15T21:00:00+00:00', 3600, 1000000, 'f', 187, 1, 2, 't', '6034154173245987884', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(920, 'Death in Paradise', '8/8. Detective drama series. Dwayne becomes embroiled in a murder investigation when incriminating evidence is found at the crime scene. Contains some upsetting scenes. Also in HD.', 'crid://fp.bbc.co.uk/1FN5W2', '1FN5W2', '2011-12-13T21:00:00+00:00', 3600, 1000000, 'f', 188, 1, 2, 't', '5685720656390712188', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(921, 'Death in Paradise', '7/8. Detective drama series. Richard sees the dark side of show business when a comeback concert ends in a public murder. Contains adult themes. Also in HD.', 'crid://fp.bbc.co.uk/1FN5W1', '1FN5W1', '2011-12-06T21:00:00+00:00', 3600, 1000000, 'f', 188, 1, 2, 't', '5683123060170088228', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(922, 'Death in Paradise', '6/8. Detective drama series. With Richard hit by a tropical disease and Camille in Paris, it is left to Dwayne and Fidel to solve the apparently impossible murder of a local diver. Also in HD.', 'crid://fp.bbc.co.uk/1FN5W0', '1FN5W0', '2011-11-29T21:00:00+00:00', 3600, 1000000, 'f', 188, 1, 2, 't', '5680525463949464766', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(923, 'Death in Paradise', '5/8. Detective drama series. A murder investigation becomes more than personal for Richard when the victim is murdered while handcuffed to him. Also in HD.', 'crid://fp.bbc.co.uk/1FN5VZ', '1FN5VZ', '2011-11-22T21:00:00+00:00', 3600, 1000000, 'f', 188, 1, 2, 't', '5677927867728842302', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(924, 'Death in Paradise', '4/8. A confession of murder proves problematic for DI Richard Poole and the team. Contains moderate violence. Also in HD.', 'crid://fp.bbc.co.uk/1FN5VY', '1FN5VY', '2011-11-15T21:00:00+00:00', 3600, 1000000, 'f', 188, 1, 2, 't', '5675330271508218675', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(925, 'Death in Paradise', '3/8. Detective drama series. When a woman predicts her own murder and gives a description of the killer, it all feels too easy for DI Richard Poole. Contains adult themes. Also in HD.', 'crid://fp.bbc.co.uk/1FN5VX', '1FN5VX', '2011-11-08T21:00:00+00:00', 3600, 1000000, 'f', 188, 1, 2, 't', '5672732675287595378', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(926, 'Death in Paradise', '2/8. Detective drama series. A bride is murdered on her wedding day. Could the killer be one of her family? Contains some violence. Also in HD.', 'crid://fp.bbc.co.uk/1FN5VW', '1FN5VW', '2011-11-01T21:00:00+00:00', 3600, 1000000, 'f', 188, 1, 2, 't', '5670135079066971816', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(927, 'Death in Paradise', 'New series. 1/8. DI Richard Poole is sent to investigate an impossible murder on a tiny paradise island. Also in HD.', 'crid://fp.bbc.co.uk/1FN5VV', '1FN5VV', '2011-10-25T20:00:00+00:00', 3600, 1000000, 'f', 188, 1, 2, 't', '5667506559081818693', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(928, 'The Tudors', '5/10. Imprisoned Sir Thomas More refuses to relent to the King''s religious rulings, much to Henry''s anger and distress. Anne suffers a miscarriage. Contains some sexual content. Also in HD.', 'crid://fp.bbc.co.uk/4J5ER9', '4J5ER9', '2013-05-30T22:20:00+00:00', 3300, 1000000, 'f', 189, 2, 2, 't', '5240016438206684022', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(929, 'The Tudors', '4/6. Historical drama series. More than one nobleman is troubled by conscience as Brandon must revisit and redouble the retribution against the rebel forces, and Robert Aske''s fate is sealed.', 'crid://fp.bbc.co.uk/4J623Y', '4J623Y', '2011-08-04T23:20:00+00:00', 3000, 1000000, 'f', 190, 2, 2, 't', '5637129114394864440', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(930, 'The Tudors', '3/6. Historical drama series. The season of goodwill has Henry reconciled and rewarded on family matters, but the northern nobles face consequences for their uprising.', 'crid://fp.bbc.co.uk/4J623X', '4J623X', '2011-08-03T23:20:00+00:00', 3000, 1000000, 'f', 190, 2, 2, 't', '5636758029220490004', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(931, 'The Tudors', '2/6. Pained by an old wound, Henry orders the insurrection in Yorkshire to be squashed, but fears that those closest to him sympathise with the rebels. Contains adult themes.', 'crid://fp.bbc.co.uk/4J623W', '4J623W', '2011-08-02T23:20:00+00:00', 3000, 1000000, 'f', 190, 2, 2, 't', '5636386944046115566', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(932, 'The Tudors', '1/6. Wedded to Jane Seymour, Henry hopes for stability, but he is disturbed by an insurrection. Contains adult themes.', 'crid://fp.bbc.co.uk/4J623V', '4J623V', '2011-08-01T23:15:00+00:00', 3000, 1000000, 'f', 190, 2, 2, 't', '5636014570381552330', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(933, 'The Tudors', '10/10. Historical drama series. Troubled by visions, Henry takes out his volatile mood swings on a confused court and queen during a time of reckonings and partings. Also in HD.', 'crid://fp.bbc.co.uk/4J62EU', '4J62EU', '2011-04-02T21:00:00+00:00', 3300, 1000000, 'f', 191, 2, 2, 't', '5591078475047144698', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(934, 'The Tudors', '9/10. Historical drama series. Queen Catherine faces a fall from favour as the King encourages the hunt for heretics, while Henry Howard''s foes hope to hasten his disgrace. Also in HD.', 'crid://fp.bbc.co.uk/4J62ET', '4J62ET', '2011-03-26T22:00:00+00:00', 3300, 1000000, 'f', 191, 2, 2, 't', '5588511802591083128', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(935, 'The Tudors', '8/10. Laying siege takes its toll on Henry''s forces in France. Contains some sexual content. Also in HD.', 'crid://fp.bbc.co.uk/4J62ES', '4J62ES', '2011-03-19T23:00:00+00:00', 3000, 1000000, 'f', 191, 2, 2, 't', '5585929668252725611', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(936, 'The Tudors', '7/10. Impatient to show military might, Henry rushes his army to lay siege outside Boulogne, though the campaign proves costly. Contains some strong language. Also in HD.', 'crid://fp.bbc.co.uk/4J62ER', '4J62ER', '2011-03-12T22:45:00+00:00', 3300, 1000000, 'f', 191, 2, 2, 't', '5583328206561536645', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(937, 'The Tudors', '6/10. France and Spain each seek to woo Henry into an alliance abroad. Contains very strong language. Also in HD.', 'crid://fp.bbc.co.uk/4J62EQ', '4J62EQ', '2011-02-26T22:30:00+00:00', 3000, 1000000, 'f', 191, 2, 2, 't', '5578129148649722915', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(938, 'The Tudors', '5/10. Historical drama series. The careless talk of Katherine''s former lover, Francis Dereham, result in his torture and painful death. Contains some sexual content. Also in HD.', 'crid://fp.bbc.co.uk/4J62EP', '4J62EP', '2011-02-19T22:00:00+00:00', 3000, 1000000, 'f', 191, 2, 2, 't', '5575523821487966740', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(939, 'The Tudors', '4/10. The triumphal royal visit to Yorkshire has disappointing results for Henry. Contains very strong language and sexual content. Also in HD.', 'crid://fp.bbc.co.uk/4J62EO', '4J62EO', '2011-02-12T22:00:00+00:00', 3000, 1000000, 'f', 191, 2, 2, 't', '5572926225267343640', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(940, 'The Tudors', '3/10. Feeling healthier, Henry VIII prepares to go to Lincoln. Contains sexual content. Also in HD.', 'crid://fp.bbc.co.uk/4J62EN', '4J62EN', '2011-02-05T22:00:00+00:00', 3000, 1000000, 'f', 191, 2, 2, 't', '5570328629046720420', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(941, 'The Tudors', '2/10. Unaware Henry is ailing, Queen Katherine''s growing resentment prompts a rash liaison. Contains strong language and some sexual content. Also in HD.', 'crid://fp.bbc.co.uk/4J62EM', '4J62EM', '2011-01-29T21:45:00+00:00', 3300, 1000000, 'f', 191, 2, 2, 't', '5567727167355530731', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(942, 'The Tudors', 'New series. 1/10. Henry reveals his marriage to Katherine Howard. Contains sexual content. Also in HD.', 'crid://fp.bbc.co.uk/4J62EL', '4J62EL', '2011-01-22T21:45:00+00:00', 3300, 1000000, 'f', 191, 2, 2, 't', '5565129571134908381', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(943, 'The Tudors', '6/6. Historical drama series. The failure of Henry''s fourth marriage hastens Cromwell''s downfall, while the king''s friends find a more tempting bed-mate for the monarch. Contains adult themes.', 'crid://fp.bbc.co.uk/4J6242', '4J6242', '2009-09-25T20:00:00+00:00', 3600, 1000000, 'f', 192, 2, 2, 't', '5385481826561490278', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(944, 'The Tudors', '5/6. With England''s enemies rallying, Cromwell connives to have Henry accept an advantageous arranged marriage - but the King resents the resulting match. Contains some sexual content.', 'crid://fp.bbc.co.uk/4J6241', '4J6241', '2009-09-18T20:00:00+00:00', 3600, 1000000, 'f', 192, 2, 2, 't', '5382884230340868330', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(945, 'The Tudors', '4/6. The hunt for Henry''s new bride is on, but political and practical obstacles emerge. Contains some strong language. Also in HD.', 'crid://fp.bbc.co.uk/4J6240', '4J6240', '2009-09-11T20:00:00+00:00', 3600, 1000000, 'f', 192, 2, 2, 't', '5380286634120244681', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(946, 'The Tudors', '3/6. With mournful Henry a recluse, troubled Cromwell tries to maintain authority. Contains sexual content and some violence. Also in HD.', 'crid://fp.bbc.co.uk/4J623Z', '4J623Z', '2009-09-04T20:00:00+00:00', 3000, 1000000, 'f', 192, 2, 2, 't', '5377689037899623698', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(947, 'The Tudors', '2/6. As the Yorkshire nobles face the consequences of rebellion, Cromwell reaps the rewards. Contains sexual content and some violence. Also in HD.', 'crid://fp.bbc.co.uk/4J6244', '4J6244', '2009-08-28T20:00:00+00:00', 5400, 1000000, 'f', 193, 2, 2, 't', '5375091441679001184', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(948, 'The Tudors', '1/6. The year is 1536. Wedded to Jane Seymour, Henry hopes for stability, but he is disturbed by an insurrection of commoners in support of Catholicism. Contains some nudity. Also in HD.', 'crid://fp.bbc.co.uk/4J6243', '4J6243', '2009-08-21T20:05:00+00:00', 5340, 1000000, 'f', 193, 2, 2, 't', '5372495133948565997', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(949, 'The Tudors', '10/10. May 1536. Anne Boleyn is to be beheaded, with few allies left to mourn her, while Henry has hopes of a fresh start in life and love. Moderate violence. Also in HD.', 'crid://fp.bbc.co.uk/4J5ERE', '4J5ERE', '2008-10-03T20:00:00+00:00', 3000, 1000000, 'f', 194, 2, 2, 't', '5253004419309766527', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(950, 'The Tudors', '9/10. Anne Boleyn''s fall from Henry''s favour escalates as scandalous rumours are circulated at court, threatening her whole family. Some strong language and some violence. Also in HD.', 'crid://fp.bbc.co.uk/4J5ERD', '4J5ERD', '2008-09-26T20:00:00+00:00', 3000, 1000000, 'f', 194, 2, 2, 't', '5250406823089173468', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(951, 'The Tudors', '8/10. While Henry''s foreign foes conspire, his own acts at court and on the jousting field endanger his family''s future far more. Also in HD.', 'crid://fp.bbc.co.uk/4J5ERC', '4J5ERC', '2008-09-19T20:00:00+00:00', 3000, 1000000, 'f', 194, 2, 2, 't', '5247809226868551238', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(952, 'The Tudors', '7/10. Anne revives Henry''s passion for her, but as one rival for his heart departs, another appears. The sacking of religious institutions rewards the ''reformers''. Sexual content. Also in HD.', 'crid://fp.bbc.co.uk/4J5ERB', '4J5ERB', '2008-09-12T20:00:00+00:00', 3300, 1000000, 'f', 194, 2, 2, 't', '5245211630647928946', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(953, 'The Tudors', '6/10. Propaganda and paranoia are exploited as Henry''s Reformation hits home, while Anne fears for her future. Some sexual content. Also in HD.', 'crid://fp.bbc.co.uk/4J5ERA', '4J5ERA', '2008-09-05T20:00:00+00:00', 3000, 1000000, 'f', 194, 2, 2, 't', '5242614034427306512', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(954, 'The Tudors', '4/10. The King''s insistence on an oath affirming him as head of the church pushes Sir Thomas More further from favour. Anne attempts to fix Henry''s wandering eye.', 'crid://fp.bbc.co.uk/4J5ER8', '4J5ER8', '2008-08-22T20:00:00+00:00', 3300, 1000000, 'f', 194, 2, 2, 't', '5237418841986061649', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(955, 'The Tudors', '3/10. With Anne Boleyn finally to be crowned his queen, Henry ignores the splits within his court and kingdom as he awaits the male heir she has promised him. Some strong language. Also in HD.', 'crid://fp.bbc.co.uk/4J5ER7', '4J5ER7', '2008-08-15T20:00:00+00:00', 3000, 1000000, 'f', 194, 2, 2, 't', '5234821245765439378', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(956, 'The Tudors', '2/10. Henry''s court lacks Christmas cheer with Queen Catherine excluded, Thomas More alienated and Anne Boleyn rumoured against. Adult themes.', 'crid://fp.bbc.co.uk/4J5ER6', '4J5ER6', '2008-08-08T20:00:00+00:00', 3600, 1000000, 'f', 194, 2, 2, 't', '5232223649544816989', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(957, 'The Tudors', '1/10. While Henry''s clashes with the Catholic church worsen, the King seeks to placate impatient Anne Boleyn, and a poisoning plot is put in motion. Some sexual content. Also in HD.', 'crid://fp.bbc.co.uk/4J5ER5', '4J5ER5', '2008-08-01T20:00:00+00:00', 3600, 1000000, 'f', 194, 2, 2, 't', '5229626053324194368', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(958, 'The Tudors', 'Cardinal Wolsey attempts to save his career by finding a surprising ally - Queen Katherine, who has also lost the King''s favour. Some strong language and some sexual content.', 'crid://fp.bbc.co.uk/4J5EDS', '4J5EDS', '2007-12-07T21:00:00+00:00', 3600, 1000000, 'f', 195, 2, 2, 't', '5141338705587604520', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(959, 'The Tudors', 'Confounded by the Catholic church stalling on his annulment, Henry turns against Cardinal Wolsey. Very strong language.', 'crid://fp.bbc.co.uk/4J5EDR', '4J5EDR', '2007-11-30T21:00:00+00:00', 3000, 1000000, 'f', 195, 2, 2, 't', '5138741109366981685', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(960, 'The Tudors', 'The promised Papal envoy convenes a court to rule upon Henry''s marriage - putting great pressure on old adversaries Wolsey and the Queen. Some strong language.', 'crid://fp.bbc.co.uk/4J5EDQ', '4J5EDQ', '2007-11-23T21:00:00+00:00', 3600, 1000000, 'f', 195, 2, 2, 't', '5136143513146387202', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(961, 'The Tudors', 'In the face of a deadly epidemic, Henry seeks refuge away from court, and far from those he holds most dear. Some sexual content.', 'crid://fp.bbc.co.uk/4J5EDP', '4J5EDP', '2007-11-16T21:00:00+00:00', 3600, 1000000, 'f', 195, 2, 2, 't', '5133545916925764594', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(962, 'The Tudors', 'Rumour and intrigue taint court life and weaken Wolsey''s position in the face of Henry''s vigorous desire to divorce so that he can marry Anne. Some strong language.', 'crid://fp.bbc.co.uk/4J5EDO', '4J5EDO', '2007-11-09T21:00:00+00:00', 3600, 1000000, 'f', 195, 2, 2, 't', '5130948320705142124', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(963, 'The Tudors', 'Henry is angered by the actions of Emperor Charles and Brandon''s marriage to Margaret, but promises patience in his relationship with Anne Boleyn. Some strong language and some sexual content.', 'crid://fp.bbc.co.uk/4J5EDN', '4J5EDN', '2007-11-02T21:00:00+00:00', 3600, 1000000, 'f', 195, 2, 2, 't', '5128350724484518420', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(964, 'The Tudors', 'Brushes with death focus Henry''s desire for an heir (and Anne Boleyn) while his sister Margaret is repulsed at doing her royal duty in Portugal. Some sexual contant.', 'crid://fp.bbc.co.uk/4J5EDM', '4J5EDM', '2007-10-26T20:00:00+00:00', 3600, 1000000, 'f', 195, 2, 2, 't', '5125722204499364572', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(965, 'The Tudors', 'New alliances and liaisons tempt King Henry. Spain''s Charles V and Anne Boleyn claim his attention, while his sister is meant to accept an arranged marriage. Contains very strong language.', 'crid://fp.bbc.co.uk/4J5EDL', '4J5EDL', '2007-10-19T20:00:00+00:00', 3600, 1000000, 'f', 195, 2, 2, 't', '5123124608278741596', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(966, 'The Tudors', 'After French treachery, angry young Henry VIII prepares for war while Cardinal Wolsey conspires for peace. However, affairs closer to home pose potential threats to the king. Sexual content.', 'crid://fp.bbc.co.uk/4J5EDK', '4J5EDK', '2007-10-12T20:00:00+00:00', 3600, 1000000, 'f', 195, 2, 2, 't', '5120527012058118572', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(967, 'The Tudors', 'Historical drama series. After French treachery, angry young Henry VIII prepares for war while Cardinal Wolsey conspires for peace.', 'crid://fp.bbc.co.uk/4J5EDJ', '4J5EDJ', '2007-10-05T20:00:00+00:00', 3600, 1000000, 'f', 195, 2, 2, 't', '5117929415837495707', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2020, 'Doctor Who', '1/12. Deep Breath: Sci-fi drama. When the Doctor arrives in Victorian London he finds a dinosaur rampant in the Thames and a spate of deadly spontaneous combustions. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTWWH', '1FTWWH', '2014-08-23T18:50:00+00:00', 4800, 1000000, 'f', 785, 1, 1, 'f', '6050834967230210362', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2025, 'Doctor Who', '2/12. Into the Dalek: Sci-fi drama. A Dalek fleet surrounds a lone rebel ship, and only the Doctor can help them. As he faces his greatest enemy, he needs Clara by his side. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTWWI', '1FTWWI', '2014-08-30T18:30:00+00:00', 2700, 1000000, 'f', 785, 1, 1, 'f', '6053427409490077819', 5455, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2053, 'Doctor Who', '4/12. Listen: Sci-fi drama. What will the Doctor find at the end of the universe? What scares the Doctor? Ghosts of the past and future. Listen! Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTWWK', '1FTWWK', '2014-09-13T18:30:00+00:00', 3000, 1000000, 'f', 785, 1, 1, 'f', '6058622601931324156', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2060, 'Doctor Who', '3/12. Robot of Sherwood: Sci-fi drama. When robots threaten Sherwood Forest, the Doctor must join forces with Robin Hood to stop the evil reign of the Sheriff of Nottingham. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTWWJ', '1FTWWJ', '2014-09-06T18:30:00+00:00', 3000, 1000000, 'f', 785, 1, 1, 'f', '6056025005710700365', 2206, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2233, 'Doctor Who', '5/12. Time Heist: Sci-fi drama. The Doctor turns bank robber when he is given a task he cannot refuse - steal from the most dangerous bank in the cosmos. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTWWL', '1FTWWL', '2014-09-20T18:30:00+00:00', 3000, 1000000, 'f', 785, 1, 1, 'f', '6061220198151924475', 577094, 'f', 'bbcredux', 1449746644459); +INSERT INTO "programmes" VALUES(2351, 'Doctor Who', '6/12. The Caretaker: Sci-fi drama. The terrifying Skovox Blitzer is ready to destroy all humanity - and worse, Danny Pink and the Doctor are going to meet. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTWWM', '1FTWWM', '2014-09-27T19:30:00+00:00', 2700, 1000000, 'f', 785, 1, 1, 'f', '6063833256254810935', 223877, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2352, 'Doctor Who', '7/12. Kill the Moon: The Doctor and Clara crash-land on the moon to find a base full of corpses, vicious spider-like creatures poised to attack and a terrible dilemma. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTWWN', '1FTWWN', '2014-10-04T19:30:00+00:00', 2700, 1000000, 'f', 785, 1, 1, 'f', '6066430852475440561', 60000, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2440, 'Homeland', 'Pilot: US thriller starring Claire Danes and Damian Lewis. A soldier left for dead in Iraq is rescued after years in captivity, but a CIA agent suspects the returning hero can''t be trusted.', 'crid://www.channel4.com/52804/001', '52804-001', '2012-02-19T21:30:00+00:00', 4200, 1000000, 'f', 295, 12, 2, 'f', '5710962179465813667', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2441, 'Homeland', 'Grace: Carrie watches surveillance footage of life in Brody''s home as he struggles with post-traumatic stress. Then an undercover CIA agent passes on a new piece of evidence to her.', 'crid://www.channel4.com/52804/002', '52804-002', '2012-02-26T21:00:00+00:00', 3600, 1000000, 'f', 295, 12, 2, 'f', '5713552044745301522', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2442, 'Homeland', 'Clean Skin: Carrie and her team begin to unravel an al-Qaeda plot to fund a terrorist attack on the United States. Surprisingly, Brody agrees to take part in a network television interview.', 'crid://www.channel4.com/52804/003', '52804-003', '2012-03-04T21:00:00+00:00', 3600, 1000000, 'f', 295, 12, 2, 'f', '5716149640965926988', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2443, 'Homeland', 'Semper I: Brody''s erratic behaviour threatens his media darling status. Carrie is running out of time to link Brody with al-Qaeda and Saul orders her to focus on Abu Nazir''s money trail.', 'crid://www.channel4.com/52804/004', '52804-004', '2012-03-11T21:00:00+00:00', 3600, 1000000, 'f', 295, 12, 2, 'f', '5718747237186548114', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2444, 'Homeland', 'Blind Spot: Afzal Hamid, the lone surviving terrorist from the compound in Afghanistan from where Brody was rescued, has been captured, and Estes wants Brody to help with the interrogation.', 'crid://www.channel4.com/52804/005', '52804-005', '2012-03-18T21:00:00+00:00', 3900, 1000000, 'f', 295, 12, 2, 'f', '5721344833407169180', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2445, 'Homeland', 'The Good Soldier: When the CIA director authorises polygraph tests for all those who came into contact with Hamid, including Brody, Carrie is convinced that the truth will come out at last.', 'crid://www.channel4.com/52804/006', '52804-006', '2012-03-25T20:00:00+00:00', 3600, 1000000, 'f', 295, 12, 2, 'f', '5723911505863259056', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2446, 'Homeland', 'The Weekend: The relationship between Carrie and Brody becomes more complicated. Aileen continues her escape by buying a bus ticket to Mexico, but Saul is hot on her heels.', 'crid://www.channel4.com/52804/007', '52804-007', '2012-04-01T20:00:00+00:00', 4200, 1000000, 'f', 295, 12, 2, 'f', '5726509102083883590', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2447, 'Homeland', 'Achilles Heel: The news that Walker is alive and working with al-Qaeda leaves Carrie and Saul scrambling to locate him. Brody finds out a shocking truth about his long years in captivity.', 'crid://www.channel4.com/52804/008', '52804-008', '2012-04-08T20:00:00+00:00', 3600, 1000000, 'f', 295, 12, 2, 'f', '5729106698304504609', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2448, 'Homeland', 'Crossfire: After trying to sever ties with Abu Nazir, Brody starts re-living his time in captivity. Carrie is in the middle of a public relations nightmare after the shooting at the mosque.', 'crid://www.channel4.com/52804/009', '52804-009', '2012-04-15T20:00:00+00:00', 3600, 1000000, 'f', 295, 12, 2, 'f', '5731704294525125675', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2449, 'Homeland', 'Representative Brody: Brody is approached to run for disgraced congressman Richard Johnson''s seat in the House of Representatives, while Carrie and Saul identify Tom Walker''s contact.', 'crid://www.channel4.com/52804/010', '52804-010', '2012-04-22T20:00:00+00:00', 3600, 1000000, 'f', 295, 12, 2, 'f', '5734301890745746714', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2450, 'Homeland', 'The Vest: In the wake of the explosion, Saul finds Carrie hospitalised and manic, but realises her chaotic theories have merit. Brody retrieves an important item during a weekend trip away.', 'crid://www.channel4.com/52804/011', '52804-011', '2012-04-29T20:00:00+00:00', 3900, 1000000, 'f', 295, 12, 2, 'f', '5736899486966367880', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2451, 'Homeland', 'Marine One: While a catatonic Carrie is confined to bed, Saul investigates the implications of her timeline, Walker secures a perch for his mission and Brody prepares for the policy summit.', 'crid://www.channel4.com/52804/012', '52804-012', '2012-05-06T20:00:00+00:00', 6300, 1000000, 'f', 295, 12, 2, 'f', '5739497083186992957', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2452, 'Homeland', 'The Smile: Series two of the dark, compelling US thriller starring Claire Danes and Damian Lewis begins as Carrie walks a slow path to recovery and Brody finds political life difficult.', 'crid://www.channel4.com/53613/001', '53613-001', '2012-10-07T20:00:00+00:00', 3900, 1000000, 'f', 296, 12, 2, 'f', '5927330605933699739', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2453, 'Homeland', 'Beirut Is Back: Carrie gets involved in an operation which may see the end of Abu Nazir, and Captain Mike Faber has questions to ask about the shooting of Elizabeth Gaines.', 'crid://www.channel4.com/53613/002', '53613-002', '2012-10-14T20:00:00+00:00', 3600, 1000000, 'f', 296, 12, 2, 'f', '5927709422049206962', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2454, 'Homeland', 'State of Independence: Carrie convinces herself that a triumphant return to the CIA may be on the cards. Brody finds out that the Gettysburg bomb-maker is on a terrorist watch list.', 'crid://www.channel4.com/53613/003', '53613-003', '2012-10-21T20:00:00+00:00', 3900, 1000000, 'f', 296, 12, 2, 'f', '5928074064772637379', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2455, 'Homeland', 'New Car Smell: Estes is stunned by information given to him by Saul during a secret debrief and authorises a covert operation. Brody gets a shock when he runs into Carrie at Langley.', 'crid://www.channel4.com/53613/004', '53613-004', '2012-10-28T21:00:00+00:00', 3600, 1000000, 'f', 296, 12, 2, 'f', '5928446438437200596', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2456, 'Homeland', 'Q&A: Brody finds himself a prisoner again, but this time on American soil. Carrie is forced to play second fiddle after her rash judgement call at the hotel, while Estes is kept busy.', 'crid://www.channel4.com/53613/005', '53613-005', '2012-11-04T21:00:00+00:00', 4200, 1000000, 'f', 296, 12, 2, 'f', '5928814946631197411', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2457, 'Homeland', 'A Gettysburg Address: Dana visits the hospital and is shocked by what she sees there. Faber gets tangled up with the CIA, and Brody''s loyalties are questioned.', 'crid://www.channel4.com/53613/006', '53613-006', '2012-11-11T21:00:00+00:00', 3600, 1000000, 'f', 296, 12, 2, 'f', '5929195051236893436', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2458, 'Homeland', 'The Clearing: Dana pressures Finn to come clean about their hidden crime. But her quest to tell the truth collides with her father''s secret mission in ways neither could have foreseen.', 'crid://www.channel4.com/53613/007', '53613-007', '2012-11-18T21:00:00+00:00', 3900, 1000000, 'f', 296, 12, 2, 'f', '5929558405470135187', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2459, 'Homeland', 'I''ll Fly Away: The lies that tangle his relationships with Carrie, Roya and Jessica leave Brody heading for a serious meltdown as he struggles to keep his complicated alliances separate.', 'crid://www.channel4.com/53613/008', '53613-008', '2012-11-25T21:00:00+00:00', 3600, 1000000, 'f', 296, 12, 2, 'f', '5929928202154327293', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2460, 'Homeland', 'Two Hats: Brody makes a necessary phone call, Saul teams up with Virgil and Max to dig up some information, and Carrie prepares for the most important breakfast meeting of her career.', 'crid://www.channel4.com/53613/009', '53613-009', '2012-12-02T21:00:00+00:00', 3600, 1000000, 'f', 296, 12, 2, 'f', '5930308306760023312', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2461, 'Homeland', 'Broken Hearts: When Saul catches up with an old friend, he discovers evidence of covert activities by Estes. Brody and Walden find themselves at odds over their political relationship.', 'crid://www.channel4.com/53613/010', '53613-010', '2012-12-09T21:00:00+00:00', 3600, 1000000, 'f', 296, 12, 2, 'f', '5930672949483453731', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2462, 'Homeland', 'In Memoriam: Close to exhaustion, Carrie continues her hunt for Nazir, her suspicion turning towards the CIA itself. Roya reveals her true colours under interrogation.', 'crid://www.channel4.com/53613/011', '53613-011', '2012-12-16T21:00:00+00:00', 3600, 1000000, 'f', 296, 12, 2, 'f', '5931042746167639348', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2463, 'Homeland', 'The Choice: In the last episode of season two, Carrie has a big decision to make, Brody shares a drink with Faber to consider the future of his family, and Saul is given a secret mission.', 'crid://www.channel4.com/53613/012', '53613-012', '2012-12-23T21:00:00+00:00', 5100, 1000000, 'f', 296, 12, 2, 'f', '5931428004734090563', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2464, 'Homeland', 'Tin Man Is Down: In the first episode of season three, alleged bomber Brody remains at large, Saul plots a risky counterstrike, and Carrie is the focus of a hostile Senate investigation. [AD,S]', 'crid://www.channel4.com/55757/001', '55757-001', '2014-08-10T02:55:00+01:00', 3900, 1000000, 'f', 554, 12, 2, 'f', '6045749296731557957', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2465, 'Homeland', 'Uh... Oh... Ah... - Saul recruits an unlikely expert to his team, Quinn is troubled by the collateral damage from a recent mission, and an embattled Carrie learns who is really on her side. [AD,S]', 'crid://www.channel4.com/55757/002', '55757-002', '2014-08-17T02:20:00+01:00', 3300, 1000000, 'f', 554, 12, 2, 'f', '6048337873520858098', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2466, 'Homeland', 'Tower of David: As Brody''s situation becomes increasingly desperate, he returns to his faith for guidance. Carrie struggles to connect with Saul when a mysterious man offers to help her. [AD,S]', 'crid://www.channel4.com/55757/003', '55757-003', '2014-08-17T03:15:00+01:00', 3300, 1000000, 'f', 554, 12, 2, 'f', '6048352046912934089', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2467, 'Homeland', 'Game On: Carrie finds out that the CIA can still exercise power when they have to, Dana goes AWOL, and Saul and Fara follow the money trail to an unexpected location. [AD,S]', 'crid://www.channel4.com/55757/004', '55757-004', '2014-08-24T01:50:00+01:00', 3300, 1000000, 'f', 554, 12, 2, 'f', '6050927738800346505', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2468, 'Homeland', 'The Yoga Play: A mysterious man enters the country at the US-Canadian border. Carrie puts her mission on the line to perform a risky favour. Saul rubs shoulders with Senator Lockhart. [AD,S]', 'crid://www.channel4.com/55757/005', '55757-005', '2014-08-31T03:00:00+01:00', 3300, 1000000, 'f', 554, 12, 2, 'f', '6053543373883610365', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2469, 'Homeland', 'Still Positive: Carrie turns the tables on the mastermind of the Langley bombing, but discovers that recruiting one of Iran''s most powerful operatives has dangerous consequences.', 'crid://www.channel4.com/55757/006', '55757-006', '2013-11-10T21:00:00+00:00', 3900, 1000000, 'f', 297, 12, 2, 'f', '5944738108380595884', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2470, 'Homeland', 'Gerontion: With his old adversary in custody, Saul takes the gamble of his career. Carrie and Quinn rush to contain a local police investigation. Mira''s marriage arrives at a crossroads. [AD,S]', 'crid://www.channel4.com/55757/007', '55757-007', '2014-09-07T00:50:00+01:00', 3300, 1000000, 'f', 554, 12, 2, 'f', '6056107469359328660', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2471, 'Homeland', 'A Red Wheelbarrow: New information allows Carrie and Quinn to pursue a key suspect in the Langley bombing. Saul deals with a political backlash. The Brody family gets some startling news. [AD,S]', 'crid://www.channel4.com/55757/008', '55757-008', '2014-09-14T02:40:00+01:00', 3300, 1000000, 'f', 554, 12, 2, 'f', '6058733412364103300', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2472, 'Homeland', 'One Last Time: Carrie reunites with Brody under extremely difficult circumstances, Saul gets a win from an unlikely source, and Dana grapples with her new life away from home. [AD,S]', 'crid://www.channel4.com/55757/009', '55757-009', '2014-09-21T02:05:00+01:00', 3600, 1000000, 'f', 554, 12, 2, 'f', '6061321989153402776', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2473, 'Homeland', 'Good Night: Brody embarks on a high-stakes mission, but his fragile condition threatens the success of the entire operation. Meanwhile, Quinn makes an uncomfortable discovery about Carrie. [AD,S]', 'crid://www.channel4.com/55757/010', '55757-010', '2014-09-28T02:50:00+01:00', 3000, 1000000, 'f', 554, 12, 2, 'f', '6063931181785717970', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2474, 'Homeland', 'Big Man in Tehran: Carrie infiltrates Tehran to support the mission. Brody''s loyalty wavers on meeting a ghost from his past. As Lockhart''s confirmation looms, Saul stares over a precipice. [AD,S]', 'crid://www.channel4.com/55757/011', '55757-011', '2014-10-05T01:40:00+01:00', 3600, 1000000, 'f', 554, 12, 2, 'f', '6066510739143703740', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2475, 'Homeland', 'The Star: In the last episode of the third series, Carrie and Brody seek refuge on the edge of the desert. Security forces are closing in but Saul is planning a last-ditch rescue operation. [AD,S]', 'crid://www.channel4.com/55757/012', '55757-012', '2014-10-12T02:00:00+01:00', 3900, 1000000, 'f', 554, 12, 2, 'f', '6069113489325080011', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2527, 'Lewis', 'Feature-length drama following on from the Inspector Morse series. Inspector Lewis investigates the death of a brilliant young maths student at Oxford University. [AD,S]', 'crid://www.itv.com/5714373', '5714373', '2015-09-22T00:15:00+01:00', 6300, 1000000, 'f', 763, 10, 2, 'f', '6197110816692511485', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2530, 'Lewis', 'The Great and the Good: A rape case appears to be solved when the chief suspect is murdered. But nothing is what it seems - and soon the upper echelons of Oxford society close ranks. [AD,S]', 'crid://www.itv.com/8775087', '8775087', '2015-09-26T10:35:00+01:00', 7500, 1000000, 'f', 763, 10, 2, 'f', '6198754930173420607', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2531, 'Lewis', 'Life Born of Fire: When an old friend of Hathaway''s commits suicide, Lewis investigates a link between his death and a religious group whose members are being targeted by a killer. [AD,S]', 'crid://www.itv.com/8457345', '8457345', '2014-12-14T21:00:00+00:00', 7200, 1000000, 'f', 557, 10, 2, 'f', '6092801093458230258', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2532, 'Lewis', 'The Dead of Winter: After a body is found on an Oxford tour bus, Lewis and Hathaway are led to Crevecoeur Hall, a sprawling Oxford estate where Hathaway spent much of his childhood. [AD,S]', 'crid://www.itv.com/22444807', '22444807', '2015-10-11T12:25:00+01:00', 7200, 1000000, 'f', 763, 10, 2, 'f', '6204349554573191546', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2533, 'Lewis', 'Dark Matter: When the master of a college is found dead at the foot of the observatory stairs, suspicion falls on all of the staff - from senior tutors right down to the scouts. [AD,S]', 'crid://www.itv.com/22514963', '22514963', '2015-10-31T17:00:00+00:00', 7200, 1000000, 'f', 798, 10, 2, 'f', '6211857586903330473', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2534, 'Lewis', 'Your Sudden Death Question: On a bank holiday weekend Lewis and Hathaway are called in when a top quiz competitor is found floating dead in the fountain of an Oxford college. [AD,S]', 'crid://www.itv.com/22575564', '22575564', '2015-10-17T17:00:00+01:00', 7200, 1000000, 'f', 791, 10, 2, 'f', '6206646932579822295', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2535, 'Lewis', 'Falling Darkness: Lewis and Hathaway investigate the murder of a university friend of pathologist Laura Hobson. As more deaths occur, they realise that Laura''s past may hold the key.', 'crid://www.itv.com/22732791', '22732791', '2010-05-30T19:00:00+00:00', 7200, 1000000, 'f', 307, 8, 2, 'f', '5710954449026986683', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2536, 'Lewis', 'Whom the Gods Would Destroy: Kevin Whately stars as DI Lewis. When an Oxford graduate is killed, Lewis and Hathaway launch an investigation that implicates a senior university figure. [AD,S]', 'crid://www.itv.com/6372405', '6372405', '2015-10-10T22:00:00+01:00', 7500, 1000000, 'f', 791, 10, 2, 'f', '6204126645770526872', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2537, 'Lewis', 'Old Unhappy Far Off Things: A reunion at Oxford''s last all-female college ends in tragedy when one of the alumnae is killed. Is it connected to an attack there ten years before? [AD,S]', 'crid://www.itv.com/28722451', '28722451', '2015-10-01T20:00:00+01:00', 7200, 1000000, 'f', 791, 10, 2, 'f', '6200755955436625199', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2538, 'Lewis', 'Wild Justice: Lewis investigates when a visiting female bishop is poisoned. Then two more deaths occur, both mirroring macabre murders from Jacobean revenge tragedy. [AD,S]', 'crid://www.itv.com/28913762', '28913762', '2015-09-24T20:00:00+01:00', 7200, 1000000, 'f', 763, 10, 2, 'f', '6198158359216006097', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2539, 'Lewis', 'The Mind Has Mountains: When a student dies during a clinical trial for a new drug, Lewis uncovers a web of lies, jealousy and madness - to which he himself could fall victim. [AD,S]', 'crid://www.itv.com/29111040', '29111040', '2015-09-17T20:00:00+01:00', 7200, 1000000, 'f', 763, 10, 2, 'f', '6195560762995382488', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2540, 'Lewis', 'The Gift of Promise: When a businesswoman is bludgeoned to death, it looks like a case of blackmail gone wrong. But there is a decades-old secret at the heart of the case. [AD,S]', 'crid://www.itv.com/29259776', '29259776', '2015-09-29T20:00:00+01:00', 7200, 1000000, 'f', 763, 10, 2, 'f', '6200013785087875619', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2541, 'Lewis', 'The Soul of Genius: When a botanist accidentally digs up the body of the recently buried Murray Hawes, Lewis and Hathaway are set upon a seemingly impossible quest. [AD,S]', 'crid://www.itv.com/43137854', '43137854', '2015-08-08T20:00:00+01:00', 7200, 1000000, 'f', 763, 10, 2, 'f', '6180717356020403861', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2542, 'Lewis', 'Generation of Vipers: Lewis and Hathaway are drawn into a world of virtual bullying, but very real murder, when a professor is found dead after her dating video is leaked online. [AD,S]', 'crid://www.itv.com/43396527', '43396527', '2015-08-01T20:00:00+01:00', 7200, 1000000, 'f', 763, 10, 2, 'f', '6178119759799782429', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2543, 'Lewis', 'The Indelible Stain: Lewis and Hathaway investigate when a controversial American academic is murdered after speaking at Oxford''s Department of Criminology. [AD,S]', 'crid://www.itv.com/43960339', '43960339', '2015-08-15T20:00:00+01:00', 7200, 1000000, 'f', 763, 10, 2, 'f', '6183314952241025106', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2544, 'Lewis', 'Falling Darkness: Lewis and Hathaway investigate the murder of a university friend of pathologist Laura Hobson. As more deaths occur, they realise that Laura''s past may hold the key. [AD,S]', 'crid://www.itv.com/21162749', '21162749', '2015-10-24T17:00:00+01:00', 7200, 1000000, 'f', 798, 10, 2, 'f', '6209244528800443607', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2545, 'Lewis', 'Down Among the Fearful (Part 1): When psychologist Reuben Beatty is murdered while moonlighting as a psychic, Lewis and Hathaway struggle to unpick his baffling double life.', 'crid://www.itv.com/48720160', '48720160', '2013-01-07T21:00:00+00:00', 3600, 1000000, 'f', 312, 8, 2, 'f', '6049724289466261655', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2547, 'Lewis', 'The Ramblin'' Boy (Part 1): Jack Cornish goes missing and a recently embalmed body is discovered next to an isolated farm track - could there be a link?', 'crid://www.itv.com/48969552', '48969552', '2013-01-21T21:00:00+00:00', 3600, 1000000, 'f', 312, 8, 2, 'f', '6088719156540110426', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2549, 'Lewis', 'Intelligent Design (Part 1): As Lewis and Hobson embark on a relationship, a former don is murdered on the night of his release from prison - crushed to death by a Jaguar Mark 2.', 'crid://www.itv.com/49411431', '49411431', '2013-02-04T21:00:00+00:00', 3600, 1000000, 'f', 312, 8, 2, 'f', '6054919481907504468', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2550, 'Lewis', 'Intelligent Design (Part 2): The body of a missing student is discovered in the attic of a college chapel. What does she have to do with the murder of biochemist Colin Seager?', 'crid://www.itv.com/49550067', '49550067', '2013-02-11T21:00:00+00:00', 3600, 1000000, 'f', 312, 8, 2, 'f', '6016713170318886007', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2551, 'Lewis', 'Fearful Symmetry: When a babysitter is found dead, Lewis and Hathaway are drawn into diverse new worlds including squats, swinging suburbia, primate labs and fetish photography. [AD,S]', 'crid://www.itv.com/43711265', '43711265', '2015-08-22T20:00:00+01:00', 7200, 1000000, 'f', 763, 10, 2, 'f', '6185912548461646934', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2552, 'Lewis', 'Down Among the Fearful: When psychologist Reuben Beatty is murdered while moonlighting as a psychic, Lewis and Hathaway struggle to unpick his baffling double life. [AD,S]', 'crid://www.itv.com/50577303', '50577303', '2015-08-29T20:00:00+01:00', 7200, 1000000, 'f', 763, 10, 2, 'f', '6188510144682267906', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2553, 'Lewis', 'The Ramblin'' Boy: Detective Jack Cornish goes missing and a recently embalmed body is discovered next to an isolated farm track - could there be a link? [AD,S]', 'crid://www.itv.com/100620651', '100620651', '2015-09-05T20:00:00+01:00', 7200, 1000000, 'f', 763, 10, 2, 'f', '6191107740902889572', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2554, 'Lewis', 'Intelligent Design: As Lewis and Hobson embark on a relationship, a former Oxford don is murdered on the night of his release from prison - crushed to death by a Jaguar Mark 2. [AD,S]', 'crid://www.itv.com/101320335', '101320335', '2015-09-12T20:00:00+01:00', 7200, 1000000, 'f', 763, 10, 2, 'f', '6193705337123510529', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2555, 'Lewis', 'Entry Wounds (Part 1): Crime drama series. Ch Supt Innocent asks Lewis to come out of retirement to help newly promoted DI Hathaway with his first murder investigation.', 'crid://www.itv.com/130851036', '130851036', '2014-10-10T20:00:00+00:00', 3600, 1000000, 'f', 315, 8, 2, 'f', '6068665094731272475', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2952, 'Doctor Who', '8/12. Mummy on the Orient Express: Sci-fi drama. On the most beautiful train in history, speeding among the stars of the future, a deadly creature is stalking the passengers. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTWWO', '1FTWWO', '2014-10-11T19:35:00+00:00', 3000, 1000000, 'f', 785, 1, 1, 'f', '6069029737186253828', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2954, 'Doctor Who', '9/12. Flatline: Sci-fi drama. With people to save and the Doctor trapped, Clara goes against an enemy that exists beyond human perception. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTWWP', '1FTWWP', '2014-10-18T19:25:00+00:00', 2700, 1000000, 'f', 785, 1, 1, 'f', '6071624756426500350', 2568490, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(2955, 'Doctor Who', '10/12. In the Forest of the Night: The human race wakes up to face the most surprising invasion yet, and the Doctor discovers that the final days of humanity have arrived. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTWWQ', '1FTWWQ', '2014-10-25T19:20:00+00:00', 2700, 1000000, 'f', 785, 1, 1, 'f', '6074221064156932458', 1160026, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3089, 'Doctor Who', '11/12. Dark Water: Sci-fi drama. In the mysterious Nethersphere, plans have been drawn. Missy is about to come face to face with the Doctor, and an impossible choice is looming. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTWWR', '1FTWWR', '2014-11-01T20:15:00+00:00', 2700, 1000000, 'f', 785, 1, 1, 'f', '6076832833769633851', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3116, 'Doctor Who', '12/12. Death in Heaven: Sci-fi drama. With Cybermen on the streets of London, old friends unite against old enemies and the Doctor takes to the air in a startling new role. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTWWS', '1FTWWS', '2014-11-08T20:00:00+00:00', 3600, 1000000, 'f', 785, 1, 1, 'f', '6079426564519661856', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3268, 'The Wrong Mans', 'New series. 1/6. The Wrong Mans: Sitcom. A case of mistaken identity catapults two council employees into a conspiracy. Contains some strong language. Also in HD.', 'crid://fp.bbc.co.uk/156KPJ', '156KPJ', '2013-09-24T20:00:00+00:00', 1800, 1000000, 'f', 381, 2, 2, 'f', '5927281643034229765', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3269, 'The Wrong Mans', '2/6. Bad Mans: Sam and Phil are sent to rescue a hostage, but end up with an angry hostage of their own. Contains very strong language. Also in HD.', 'crid://fp.bbc.co.uk/156KPK', '156KPK', '2013-10-01T20:00:00+00:00', 1800, 1000000, 'f', 381, 2, 2, 'f', '5929879239254852623', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3270, 'The Wrong Mans', '3/6. Dead Mans: As the kidnap situation goes from bad to worse, Sam and Phil fall deeper into a sinister world. Contains some strong language and some violence. Also in HD.', 'crid://fp.bbc.co.uk/156KPL', '156KPL', '2013-10-08T20:00:00+00:00', 1800, 1000000, 'f', 381, 2, 2, 'f', '5932476835475473602', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3271, 'The Wrong Mans', '4/6. Inside Mans: Sam and Phil gatecrash a party, inadvertently interrupting an assassination plot. Contains some strong language and some violence. Also in HD.', 'crid://fp.bbc.co.uk/156KPM', '156KPM', '2013-10-15T20:00:00+00:00', 1800, 1000000, 'f', 381, 2, 2, 'f', '5935074431696096610', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3272, 'The Wrong Mans', '5/6. Wanted Mans: Sam and Phil bring the dangerous plot right to their doorsteps and nowhere is safe. Contains some strong language and some upsetting scenes. Also in HD.', 'crid://fp.bbc.co.uk/156KPN', '156KPN', '2013-10-22T20:00:00+00:00', 1800, 1000000, 'f', 381, 2, 2, 'f', '5937672027916719867', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3273, 'The Wrong Mans', '6/6. Running Mans: Sam and Phil''s only option is to turn back and confront the people that are endangering their lives and their loved ones. Contains some strong language. Also in HD.', 'crid://fp.bbc.co.uk/156KPO', '156KPO', '2013-10-29T21:00:00+00:00', 1800, 1000000, 'f', 381, 2, 2, 'f', '5940285086019608503', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3274, 'The Wrong Mans', '1/2. X-Mans/White Mans: Sam and Phil embark on an international quest to prove once again they are The Wrong Mans. Contains some strong language and some violence. Also in HD.', 'crid://fp.bbc.co.uk/156LLR', '156LLR', '2014-12-22T21:00:00+00:00', 3600, 1000000, 'f', 382, 2, 2, 'f', '6095769774082481301', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3275, 'The Wrong Mans', '2/2. Action Mans/Wise Mans: With enemies amassing, Sam and Phil must risk everything to make it back home. Contains adult humour and some strong language. Also in HD.', 'crid://fp.bbc.co.uk/156LLS', '156LLS', '2014-12-23T21:00:00+00:00', 3600, 1000000, 'f', 382, 2, 2, 'f', '6096140859256855760', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3276, 'Doctor Who', 'Last Christmas: The Doctor and Clara face their last Christmas. Trapped on an Arctic base, under attack from terrifying creatures, who are you going to call? Santa Claus! Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTW2V', '1FTW2V', '2014-12-25T18:15:00+00:00', 3600, 1000000, 'f', 785, 1, 1, 'f', '6096840509421312821', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3787, 'Torchwood', '13/13. Exit Wounds: Captain John returns to have his revenge on Torchwood. Taking Captain Jack prisoner he sends him back in time for a long overdue reunion. Moderate violence. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/54BXLO', '54BXLO', '2008-04-04T21:00:00+01:00', 3000, 1000000, 'f', 454, 2, 1, 'f', '5185466917573634949', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3788, 'Torchwood', '12/13. Fragments: An explosion knocks the team unconscious. As their lives flash before their eyes, it''s revealed how each of them was recruited to Torchwood. Also in HD. [AD,S] ', 'crid://fp.bbc.co.uk/54BXLN', '54BXLN', '2008-03-28T21:00:00+00:00', 3000, 1000000, 'f', 454, 2, 1, 'f', '5182900245117542521', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3789, 'Torchwood', '11/13. Adrift: A teenager disappears and Gwen is drawn into an investigation that reveals a dark side of Torchwood. Some strong language. Also in HD [AD,S] Then 60 Seconds', 'crid://fp.bbc.co.uk/54BXLM', '54BXLM', '2008-03-19T22:00:00+00:00', 3000, 1000000, 'f', 454, 4, 1, 'f', '5179575940438497273', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3790, 'Torchwood', '10/13. From Out of the Rain: When a cinema re-opens, past horrors stalk the streets of Cardiff. As bodies are found caught between life and death, Torchwood must act. Also in HD [AD,S] Then 60 Seconds', 'crid://fp.bbc.co.uk/54BXLL', '54BXLL', '2008-03-12T21:50:00+00:00', 2700, 1000000, 'f', 454, 4, 1, 'f', '5176975767237496151', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3791, 'Torchwood', '9/13. Something Borrowed: It''s the night before her wedding and an alien shape-shifter leaves Gwen carrying more than she bargained for. Some strong language. [AD,S] Then 60 Seconds.', 'crid://fp.bbc.co.uk/54BXLK', '54BXLK', '2008-03-05T21:50:00+00:00', 3000, 1000000, 'f', 454, 4, 1, 'f', '5174378171016873437', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3792, 'Torchwood', '8/13. A Day in the Death: As a mission to retrieve an alien device proves increasingly dangerous, Owen''s new circumstances lead him to look for absolution. Moderate violence. [AD,S] Then 60 Seconds.', 'crid://fp.bbc.co.uk/54BXLJ', '54BXLJ', '2008-02-27T21:50:00+00:00', 3000, 1000000, 'f', 454, 4, 1, 'f', '5171780574796279156', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3793, 'Torchwood ', '7/13. Dead Man Walking: Captain Jack Harkness unleashes a primal force that uses Torchwood as a conduit to wreak havoc across Earth. Some upsetting scenes. [AD,S] Then 60 Seconds.', 'crid://fp.bbc.co.uk/54BXLI', '54BXLI', '2008-02-20T22:00:00+00:00', 3000, 1000000, 'f', 454, 4, 1, 'f', '5169185555556033991', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3794, 'Torchwood', '6/13. Reset: Captain Jack calls in Martha Jones to investigate a spate of mysterious deaths. The trail leads to a sinister medical testing centre. Some upsetting scenes. [AD,S] Then 60 Seconds.', 'crid://fp.bbc.co.uk/54BXLH', '54BXLH', '2008-02-13T21:50:00+00:00', 3000, 1000000, 'f', 454, 4, 1, 'f', '5166585382355033475', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3795, 'Torchwood', '5/13. Adam: When an alien with the power to change memories infiltrates Torchwood, Captain Jack gets caught up in memories of his lost family. Some strong language. [AD,S]', 'crid://fp.bbc.co.uk/54BXLG', '54BXLG', '2008-02-13T21:00:00+00:00', 3000, 1000000, 'f', 454, 2, 1, 'f', '5166572497445084668', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3796, 'Torchwood', '4/13. Meat: Rhys discovers the truth about Torchwood and becomes part of the team as they investigate a mysterious alien meat supply. Some strong language. [AD,S]', 'crid://fp.bbc.co.uk/54BXLF', '54BXLF', '2008-02-06T21:00:00+00:00', 3000, 1000000, 'f', 454, 2, 1, 'f', '5163974901224461203', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3797, 'Torchwood', '3/13. To the Last Man: Toshiko falls for a handsome soldier trapped out of his time, and a crisis foreseen by Torchwood 90 years ago is about to reach it''s climax. Adult themes. [AD,S]', 'crid://fp.bbc.co.uk/54BXLE', '54BXLE', '2008-01-30T21:00:00+00:00', 3000, 1000000, 'f', 454, 2, 1, 'f', '5161377305003838309', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3798, 'Torchwood', '2/13. Sleeper: When a burglary turns into a slaughter, Torchwood suspect alien involvement. Who is Beth, and can she be as innocent as she seems? Some strong language. [AD,S]', 'crid://fp.bbc.co.uk/54BXLD', '54BXLD', '2008-01-23T21:00:00+00:00', 3000, 1000000, 'f', 454, 2, 1, 'f', '5158779708783215468', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3799, 'Torchwood', 'Kiss Kiss, Bang Bang: The team reunite to fight a rogue Time Agent but with Gwen''s life in danger, and cluster bombs threatening the city, whose side is Captain Jack on? Some violence. [AD,S] ', 'crid://fp.bbc.co.uk/54BXLC', '54BXLC', '2008-01-16T21:00:00+00:00', 3000, 1000000, 'f', 454, 2, 1, 'f', '5156182112562593052', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3800, 'Torchwood', '13/13. End of Days: Science fiction and crime drama series. The rift has been opened, and time is splintering. Can Captain Jack save the world? Some strong language. [AD,S]', 'crid://fp.bbc.co.uk/54BW0O', '54BW0O', '2007-12-21T21:00:00+00:00', 2700, 1000000, 'f', 456, 4, 1, 'f', '5146533898036910674', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3801, 'Torchwood', '12/13. Captain Jack Harkness: Trapped in 1941, Jack and Toshiko meet an American squadron leader by the name of Captain Jack Harkness. Some strong language. [AD,S]', 'crid://fp.bbc.co.uk/54BW0N', '54BW0N', '2007-12-14T21:00:00+00:00', 3000, 1000000, 'f', 456, 4, 1, 'f', '5143936301816289268', 2125536, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3802, 'Torchwood', '11/13. Combat: Owen is sent undercover to discover why aliens are being kidnapped from the streets of Cardiff. Some strong language. [AD,S]', 'crid://fp.bbc.co.uk/54BW0M', '54BW0M', '2007-12-07T21:00:00+00:00', 3000, 1000000, 'f', 456, 4, 1, 'f', '5141338705595665729', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3803, 'Torchwood', '10/13. Out of Time: When a plane from 1953 makes an unexpected landing in present-day Cardiff, there are painful consequences for all concerned. Some strong language. [AD,S]', 'crid://fp.bbc.co.uk/54BW0L', '54BW0L', '2007-11-30T21:00:00+00:00', 3000, 1000000, 'f', 456, 4, 1, 'f', '5138741109375071522', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3804, 'Torchwood', 'Random Shoes: When Eugene wakes to find himself (a) dead and (b) invisible, he knows only Gwen Cooper can help him. Some strong language. [AD,S]', 'crid://fp.bbc.co.uk/54BW0K', '54BW0K', '2007-11-23T21:00:00+00:00', 3000, 1000000, 'f', 456, 4, 1, 'f', '5136143513154448672', 261320, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3805, 'Torchwood', 'They Keep Killing Suzie: Sci-fi and crime drama series centred around the Torchwood Institute. An investigation into a murder leads to a familiar face. Some violence. [AD,S] Then 60 Seconds.', 'crid://fp.bbc.co.uk/54BW0J', '54BW0J', '2007-11-16T21:00:00+00:00', 3600, 1000000, 'f', 456, 4, 1, 'f', '5133545916933825006', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3806, 'Torchwood', 'Greeks Bearing Gifts: Toshiko is given an alien pendant which enables her to hear other people''s thoughts. [AD,S]', 'crid://fp.bbc.co.uk/54BW0I', '54BW0I', '2007-10-26T21:00:00+01:00', 3000, 1000000, 'f', 456, 4, 1, 'f', '5125722204507424376', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3807, 'Torchwood', 'Small Worlds: What are the supernatural forces stalking the Cardiff suburbs - and what do they want with the seemingly normal Pierce family? [S]', 'crid://fp.bbc.co.uk/54BW0G', '54BW0G', '2007-10-12T21:00:00+01:00', 3000, 1000000, 'f', 456, 4, 1, 'f', '5120527012066179682', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3808, 'Torchwood', 'Cyberwoman: A Japanese doctor tries to rescue the soul of a half-Cybernised woman. Some strong language. [S]', 'crid://fp.bbc.co.uk/54BW0F', '54BW0F', '2007-10-05T21:00:00+01:00', 3000, 1000000, 'f', 456, 4, 1, 'f', '5117929415845556658', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3809, 'Torchwood', 'Ghost Machine: An alien object shows visions of the past to the Torchwood team, bringing a long-buried crime to the surface. Adult themes. [S]', 'crid://fp.bbc.co.uk/54BW0E', '54BW0E', '2007-09-28T21:00:00+01:00', 3000, 1000000, 'f', 456, 4, 1, 'f', '5115331819624933386', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3810, 'Torchwood', '2/12. Day One: Torchwood must stop a sex addicted alien as it leaves a trail of gruesome deaths in its wake. Contains scenes of a sexual nature. [AD,S] Followed by 60 Seconds.', 'crid://fp.bbc.co.uk/54BW0D', '54BW0D', '2007-09-21T21:00:00+01:00', 3000, 1000000, 'f', 456, 4, 1, 'f', '5112734223404310511', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3811, 'Torchwood', '1/13. Everything Changes: Science-fiction drama created by Russell T Davies. When WPC Gwen Cooper witnesses the resurrection of a murdered man, her life changes forever. Some strong language. [S]', 'crid://fp.bbc.co.uk/54BW0C', '54BW0C', '2007-09-14T21:00:00+01:00', 3000, 1000000, 'f', 456, 4, 1, 'f', '5110136627183687701', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3891, 'OOglies', '2/15. Compilation 2: The OOglies embark on a series of adventures that find them slipping, sliding and always splatting onto television screens. Also in HD. [S]', 'crid://fp.bbc.co.uk/T2QNC', 'T2QNC', '2015-10-08T18:45:00+01:00', 300, 1000000, 'f', 792, 6, 11, 'f', '6203334223554720631', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3892, 'OOglies', '1/15. Compilation 1: The OOglies embark on a series of adventures that find them slipping, sliding and always splatting onto television screens. [S]', 'fp.bbc.co.uk/T2QNB', 'T2QNB', '2012-10-25T10:15:00+01:00', 300, 1000000, 'f', 471, 6, 11, 'f', '5803172979579878416', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3893, 'OOglies', '11/13. When the humans are away, the OOglies play! The cheeky carrots attempt a carrot pyramid in the dark, and Grater gets in the groove with a right ''nana'' of a companion. [S]', 'fp.bbc.co.uk/T2POB', 'T2POB', '2012-09-28T11:25:00+01:00', 900, 1000000, 'f', 471, 6, 11, 'f', '5793171718734410972', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3894, 'OOglies', '6/13. When the humans are away the OOglies play! An accident waits to happen when Slippy Nana tries his luck at Strictly Come Grating, and the Scrambler tries a motorcycle stunt. [S]', 'fp.bbc.co.uk/T2PO6', 'T2PO6', '2012-09-21T11:25:00+01:00', 900, 1000000, 'f', 471, 6, 11, 'f', '5790574122513789435', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3895, 'OOglies', '5/13. When the humans are away the OOglies play! While cheeky Cheese sets a trap for strongman Monkey Nut, Stunt Tomato tries his latest death-defying balance trick. [S]', 'fp.bbc.co.uk/T2PO5', 'T2PO5', '2012-09-20T11:25:00+01:00', 900, 1000000, 'f', 471, 6, 11, 'f', '5790203037339415012', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3896, 'OOglies', '4/13. When the humans are away the OOglies play! Sugar Cube holds on for dear life as the husky dog teabags yap into action for another speedy kitchen sled run. Also in HD. [S]', 'crid://fp.bbc.co.uk/T2PO4', 'T2PO4', '2015-08-05T17:50:00+01:00', 900, 1000000, 'f', 746, 6, 11, 'f', '6179570599002671856', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3897, 'OOglies', '3/13. When the humans are away the OOglies play! Action hero Sock swings into more trouble as he tries to cross Snake-Belt Pit, and the chillies are stampeding. Also in HD. [S]', 'crid://fp.bbc.co.uk/T2PO3', 'T2PO3', '2015-07-29T17:45:00+01:00', 1200, 1000000, 'f', 746, 6, 11, 'f', '6176971714291891798', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3898, 'OOglies', '2/13. When the humans are away the OOglies play! Mr Magnetic attracts trouble in the form of some tin foil. The waste disposal bin produces more bad smells. Also in HD. [S]', 'crid://fp.bbc.co.uk/T2PO2', 'T2PO2', '2015-07-22T17:45:00+01:00', 900, 1000000, 'f', 746, 6, 11, 'f', '6174374118071270050', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3899, 'OOglies', '1/13. When the humans are away the OOglies play. Lonely Sprout is on the hunt for a friendly veggie chum. Will the see-sawing grapes avoid an invasion from clumsy Melonhead? [S]', 'fp.bbc.co.uk/T2PO1', 'T2PO1', '2012-09-14T11:25:00+01:00', 900, 1000000, 'f', 471, 6, 11, 'f', '5787976526293167893', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3900, 'OOglies', '13/13. When Grumpy Ball receives a gift, he wonders if he has misjudged his bouncy brother. [S] Followed by Newsround.', 'fp.bbc.co.uk/T2POD', 'T2POD', '2012-09-02T13:45:00+01:00', 1200, 1000000, 'f', 471, 6, 11, 'f', '5783559581925959944', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3901, 'OOglies', 'CBBC. 7/13. When the humans are away the OOglies play! The Fruit Gang go golfing, Devious Blender hopes to bag a hole in one, and Racey Bacon shells out on a new hiding place from Mr Bun. [S]', 'fp.bbc.co.uk/T2PO7', 'T2PO7', '2012-08-30T08:15:00+01:00', 900, 1000000, 'f', 471, 2, 11, 'f', '5782361286029326697', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3902, 'OOglies', 'CBBC. 13/13. When the humans are away the OOglies play! Love is in the air as Slippy Nana finally meets his slapstick soulmate, but will they slip and slide happily ever after? [S]', 'fp.bbc.co.uk/T2POX', 'T2POX', '2012-08-29T08:15:00+01:00', 900, 1000000, 'f', 471, 2, 11, 'f', '5781990200854952253', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3903, 'OOglies', 'CBBC. 12/13. When the humans are away the OOglies play! Featuring a morris-dancing scrubbing brush, a flock of marshmallow sheep and an action hero sock driving a remote control car. [S]', 'fp.bbc.co.uk/T2POW', 'T2POW', '2012-08-28T08:15:00+01:00', 900, 1000000, 'f', 471, 2, 11, 'f', '5781619115680577815', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3904, 'OOglies', 'CBBC. 11/13. Stop-motion animation. There''s a parping blue cheese in the windy waste bin and the farty pants take to the skies for a whiff of adventure. [S]', 'fp.bbc.co.uk/T2POV', 'T2POV', '2012-08-27T08:15:00+01:00', 900, 1000000, 'f', 471, 2, 11, 'f', '5781248030506203376', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3905, 'OOglies', 'CBBC. 10/13. When the humans are away the OOglies play! The Dopey Doughnut Builders bring down the house again - quite literally. Mr Magnetic loses his bearings and his temper. [S]', 'fp.bbc.co.uk/T2POA', 'T2POA', '2012-08-25T11:30:00+01:00', 900, 1000000, 'f', 471, 2, 11, 'f', '5780556111274824380', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3906, 'OOglies', 'CBBC. 10/13. Animation. The Battery brothers take charge of a tyrannosaurus rex, the pennies get musical with their old friend Credit Card and Ice Cube goes in search of a new world. [S]', 'fp.bbc.co.uk/T2POU', 'T2POU', '2012-08-24T08:15:00+01:00', 900, 1000000, 'f', 471, 2, 11, 'f', '5780134774983079970', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3907, 'OOglies', 'CBBC. 9/13. Animation featuring an eccentric ensemble of household pranksters. Toothbrushes have a dance-off, mushrooms perform magic tricks and jelly beans attack a chocolate box castle. [S]', 'fp.bbc.co.uk/T2POT', 'T2POT', '2012-08-23T08:15:00+01:00', 900, 1000000, 'f', 471, 2, 11, 'f', '5779763689808705564', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3908, 'OOglies', 'CBBC. 8/13. Animation. Pink Marshmallow is up to her old tricks as she ruins Whistle''s chances of rounding up his marshmallow flock. Grumpy Ball gets one over on his brother Bouncy Ball. [S]', 'fp.bbc.co.uk/T2POS', 'T2POS', '2012-08-22T08:15:00+01:00', 900, 1000000, 'f', 471, 2, 11, 'f', '5779392604634331158', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3909, 'OOglies', 'CBBC. 7/13. When the humans are away, the OOglies play! An OOglie falls prey to the makeover crew, Clippy the barber goes snip-crazy and Kiwi Fruit gets more than a short back and sides. [S]', 'fp.bbc.co.uk/T2POR', 'T2POR', '2012-08-21T08:15:00+01:00', 900, 1000000, 'f', 471, 2, 11, 'f', '5779021519459956752', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3910, 'OOglies', 'CBBC. 6/13. Animation. An open door on Choccy Castle leads to a jelly bean invasion, the farty pants reach new heights and a raspberry falls into the creepy world of the zombie vegetables. [S]', 'fp.bbc.co.uk/T2POQ', 'T2POQ', '2012-08-20T08:15:00+01:00', 900, 1000000, 'f', 471, 2, 11, 'f', '5778650434285576757', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3911, 'OOglies', 'CBBC. 5/13. When the humans are away the OOglies play! Strictly Come Grating''s dance star performs ballet with Orange. The Party Box Gang continue their never-ending game of musical chairs. [S]', 'fp.bbc.co.uk/T2POP', 'T2POP', '2012-08-17T08:15:00+01:00', 900, 1000000, 'f', 471, 2, 11, 'f', '5777537178762454404', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3912, 'OOglies', 'CBBC. 4/13. When the humans are away, the OOglies play! It is all in the balance for the hero in Rubber''s Got Talent, and Pinky Glove reaches new heights as she attempts to light things up. [S]', 'fp.bbc.co.uk/T2POO', 'T2POO', '2012-08-16T08:15:00+01:00', 900, 1000000, 'f', 471, 2, 11, 'f', '5777166093588079971', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3913, 'OOglies', 'CBBC. 3/13. When the humans are away the OOglies play! Houdini Rubber performs a daring escape act to impress the judges, and the chocolate fingers hatch a scheme to scare Petrified Pud. [S]', 'fp.bbc.co.uk/T2PON', 'T2PON', '2012-08-15T08:15:00+01:00', 900, 1000000, 'f', 471, 2, 11, 'f', '5776795008413705547', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3914, 'OOglies', 'CBBC. 2/13. When the humans are away, the OOglies play! The inquisitive mushrooms find a jelly trampoline, and crybaby Bauble sneaks a victory over the Christmas Box Gang. [S]', 'fp.bbc.co.uk/T2POM', 'T2POM', '2012-08-14T08:15:00+01:00', 900, 1000000, 'f', 471, 2, 11, 'f', '5776423923239331143', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3915, 'OOglies', 'CBBC. 1/13. When the humans are away the OOglies play! Boo Potato scares up some laughs, manly Monkey Wrench gets a girly makeover, and the Battery Brothers take over a robot. [S]', 'fp.bbc.co.uk/T2POL', 'T2POL', '2012-08-13T08:15:00+01:00', 900, 1000000, 'f', 471, 2, 11, 'f', '5776052838064956716', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3916, 'OOglies', 'CBBC. 9/13. When the humans are away the OOglies play! Mr Strawberry takes his quest for love to new heights, and the Playful Grapes try bungee jumping to avoid Clumsy Melonhead. [S]', 'fp.bbc.co.uk/T2PO9', 'T2PO9', '2012-08-11T11:25:00+01:00', 900, 1000000, 'f', 471, 2, 11, 'f', '5775359630343377467', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3917, 'OOglies', 'CBBC. When the humans are away the OOglies play! Bouncy Ball''s cheeriness makes Grumpy Ball lose his marbles, and Alarming Clock is on the receiving end of Pizza Cutter''s sharp tongue. [S]', 'fp.bbc.co.uk/T2PO8', 'T2PO8', '2012-08-04T11:25:00+01:00', 900, 1000000, 'f', 471, 2, 11, 'f', '5772762034122756651', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3918, 'OOglies', '12/13. Does Mr Bun finally manage to have his bacon and eat it? [S] Followed by Newsround.', 'fp.bbc.co.uk/T2POC', 'T2POC', '2012-08-14T18:40:00+01:00', 1080, 1000000, 'f', 471, 6, 11, 'f', '5776584984533984013', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3919, 'OOglies', 'The OOglies embark on a series of adventures that find them slipping, sliding and always splatting onto television screens. [S]', 'crid://fp.bbc.co.uk/T2QNC', 'T2QNC', '2012-03-30T15:00:00+01:00', 300, 1000000, 'f', 471, 6, 11, 'f', '5725674160198232204', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3920, 'OOglies', 'The OOglies embark on a series of adventures that find them slipping, sliding and always splatting onto television screens. [S] Then Diddy Dick and Dom.', 'crid://fp.bbc.co.uk/T2QNB', 'T2QNB', '2012-03-26T15:00:00+01:00', 600, 1000000, 'f', 471, 6, 11, 'f', '5724189819500734589', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3921, 'OOglies', '13/13. When the humans are away the OOglies play! Love is in the air as Slippy Nana finally meets his slapstick soulmate, but will they slip and slide happily ever after? [S]', 'crid://fp.bbc.co.uk/T2POX', 'T2POX', '2009-09-14T17:45:00+01:00', 900, 1000000, 'f', 472, 6, 11, 'f', '5381349638555029963', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3922, 'OOglies', '12/13. When the humans are away the OOglies play! The eccentric ensemble of household pranksters sprout eyes, clown around and embark on a series of adventures. Also in HD. [S]', 'crid://fp.bbc.co.uk/T2POW', 'T2POW', '2009-09-11T17:45:00+01:00', 900, 1000000, 'f', 472, 6, 11, 'f', '5380236383031906527', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3923, 'OOglies', '11/13. There''s a parping blue cheese in the windy waste bin and the farty pants take to the skies for a whiff of adventure. Smells like OOglies! Also in HD. [S]', 'crid://fp.bbc.co.uk/T2POV', 'T2POV', '2009-09-10T17:45:00+01:00', 900, 1000000, 'f', 472, 6, 11, 'f', '5379865297857532087', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3924, 'OOglies', '10/13. The Battery Brothers take charge of a T-Rex dinosaur, the pennies get musical with their old friend Credit Card and Ice Cube goes in search of a new world. Also in HD. [S]', 'crid://fp.bbc.co.uk/T2POU', 'T2POU', '2009-09-09T17:45:00+01:00', 900, 1000000, 'f', 472, 6, 11, 'f', '5379494212683157647', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3925, 'OOglies', '9/13. The toothbrushes have a dance-off on a bathroom sink, and mushrooms perform magic tricks. Also in HD. [S]', 'crid://fp.bbc.co.uk/T2POT', 'T2POT', '2009-09-08T17:45:00+01:00', 900, 1000000, 'f', 472, 6, 11, 'f', '5379123127508783207', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3926, 'OOglies', '8/13. Pink Marshmallow is up to her old tricks as she ruins Whistle''s chances of rounding up his marshmallow flock. Grumpy Ball gets one over on his brother Bouncy Ball. Also in HD. [S]', 'crid://fp.bbc.co.uk/T2POS', 'T2POS', '2009-09-07T17:45:00+01:00', 900, 1000000, 'f', 472, 6, 11, 'f', '5378752042334408477', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3927, 'OOglies', '7/13. An OOglie gets lippy when he falls prey to the makeup makeover crew, Clippy the Barber goes snip crazy and Kiwi Fruit gets more than a short back and sides. [S]', 'crid://fp.bbc.co.uk/T2POR', 'T2POR', '2009-09-04T17:45:00+01:00', 900, 1000000, 'f', 472, 6, 11, 'f', '5377638786811285046', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3928, 'OOglies', '6/13. An open door on Choccy Castle leads to a jelly bean invasion, the farty pants launch laughs to new heights and a raspberry falls into the creepy world of the zombie vegetables. [S]', 'crid://fp.bbc.co.uk/T2POQ', 'T2POQ', '2009-09-03T17:45:00+01:00', 900, 1000000, 'f', 472, 6, 11, 'f', '5377267701636910607', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3929, 'OOglies', '5/13. When the humans are away the OOglies play! Strictly Come Grating''s dance star performs ballet with Orange. The Party Box Gang continue their never-ending game of musical chairs. Also in HD. [S]', 'crid://fp.bbc.co.uk/T2POP', 'T2POP', '2009-09-02T17:45:00+01:00', 900, 1000000, 'f', 472, 6, 11, 'f', '5376896616462536168', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3930, 'OOglies', '4/13. It''s all in the balance for the hero in ''Rubber''s Got Talent''. Also in HD. [S]', 'crid://fp.bbc.co.uk/T2POO', 'T2POO', '2009-09-01T17:45:00+01:00', 900, 1000000, 'f', 472, 6, 11, 'f', '5376525531288161729', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3931, 'OOglies', '3/13. When the humans are away the OOglies play! Houdini Rubber performs a daring escape act to impress the judges, and the chocolate fingers hatch a scheme to scare Petrified Pud. Also in HD. [S]', 'crid://fp.bbc.co.uk/T2PON', 'T2PON', '2009-08-31T17:45:00+01:00', 900, 1000000, 'f', 472, 6, 11, 'f', '5376154446113787290', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3932, 'OOglies', '2/13. Meatball tries to beat her fear of heights. The inquisitive mushrooms find a jelly trampoline, and cry baby Bauble sneaks a victory over the Christmas Box Gang. Also in HD. [S]', 'crid://fp.bbc.co.uk/T2POM', 'T2POM', '2009-08-28T17:45:00+01:00', 900, 1000000, 'f', 472, 6, 11, 'f', '5375041190590664009', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3933, 'OOglies', '1/13. When the humans are away the OOglies play! Boo Potato scares up some laughs, manly Monkey Wrench gets a girly makeover, and the Battery Brothers take over a robot. Also in HD. [S]', 'crid://fp.bbc.co.uk/T2POL', 'T2POL', '2009-08-27T17:45:00+01:00', 900, 1000000, 'f', 472, 6, 11, 'f', '5374670105416289466', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3934, 'OOglies', '13/13. When Grumpy Ball receives a gift, he wonders if he''s misjudged his bouncy brother. Also in HD. [S]', 'crid://fp.bbc.co.uk/T2POD', 'T2POD', '2009-08-26T17:45:00+01:00', 900, 1000000, 'f', 472, 6, 11, 'f', '5374299020241915026', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3935, 'OOglies', 'When the humans are away the OOglies play! Mr Bun wants to have his bacon and eat it, but is Racey Bacon too quick off the mark? Tomato gets his skates on in his latest stunt. Also in HD. [S]', 'crid://fp.bbc.co.uk/T2POC', 'T2POC', '2009-08-25T17:45:00+01:00', 900, 1000000, 'f', 472, 6, 11, 'f', '5373927935067540586', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3936, 'OOglies', 'When the humans are away the OOglies play! The cheeky carrots attempt a carrot pyramid in the dark, and Grater gets in the groove with a right ''nana'' of a companion. Also in HD. [S]', 'crid://fp.bbc.co.uk/T2POB', 'T2POB', '2009-08-24T17:45:00+01:00', 900, 1000000, 'f', 472, 6, 11, 'f', '5373556849893166146', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3937, 'OOglies', 'When the humans are away the OOglies play! The Dopey Doughnut Builders bring down the house again - quite literally. Mr Magnetic loses his bearings and his temper. [S]', 'crid://fp.bbc.co.uk/T2POA', 'T2POA', '2009-08-21T17:45:00+01:00', 900, 1000000, 'f', 472, 6, 11, 'f', '5372443594370042740', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3938, 'OOglies', 'When the humans are away the OOglies play! Mr Strawberry takes his quest for love to new heights, and the Playful Grapes try out bungee jumping to avoid Clumsy Melonhead. [S]', 'crid://fp.bbc.co.uk/T2PO9', 'T2PO9', '2009-08-20T17:45:00+01:00', 900, 1000000, 'f', 472, 6, 11, 'f', '5372072509195668746', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3939, 'OOglies', 'When the humans are away the OOglies play! Bouncy Ball''s cheeriness makes Grumpy Ball lose his marbles, and Alarming Clock is on the receiving end of Pizza Cutter''s sharp tongue. [S]', 'crid://fp.bbc.co.uk/T2PO8', 'T2PO8', '2009-08-19T17:45:00+01:00', 900, 1000000, 'f', 472, 6, 11, 'f', '5371701424021293865', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3940, 'OOglies', 'When the humans are away the OOglies play! When the Fruit Gang go golfing, Devious Blender hopes to bag a whole in one, and Racey Bacon shells out on a new hiding place from Mr Bun. [S]', 'crid://fp.bbc.co.uk/T2PO7', 'T2PO7', '2009-08-18T17:45:00+01:00', 900, 1000000, 'f', 472, 6, 11, 'f', '5371330338846919428', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3941, 'OOglies', 'When the humans are away the OOglies play! An accident waits to happen when Slippy Nana tries his luck at Strictly Come Grating, and the Scrambler tries a motorcycle stunt. [S]', 'crid://fp.bbc.co.uk/T2PO6', 'T2PO6', '2009-08-17T17:45:00+01:00', 900, 1000000, 'f', 472, 6, 11, 'f', '5370959253672544992', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3942, 'OOglies', 'When the humans are away the OOglies play! While cheeky Cheese sets a trap for strongman Monkey Nut, Stunt Tomato tries his latest death-defying balance trick. Also in HD. [S]', 'crid://fp.bbc.co.uk/T2PO5', 'T2PO5', '2009-08-14T17:45:00+01:00', 900, 1000000, 'f', 472, 6, 11, 'f', '5369845998149421720', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3943, 'OOglies', 'When the humans are away the OOglies play! Sugar Cube holds on for dear life as the husky dog teabags yap into action for another speedy kitchen sled run. [S]', 'crid://fp.bbc.co.uk/T2PO4', 'T2PO4', '2009-08-13T17:45:00+01:00', 900, 1000000, 'f', 472, 6, 11, 'f', '5369474912975047305', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3944, 'OOglies', 'When the humans are away the OOglies play! Action hero Sock swings into more trouble as he tries to cross Snake-Belt Pit, and the chillis are stampeding. [S]', 'crid://fp.bbc.co.uk/T2PO3', 'T2PO3', '2009-08-12T17:45:00+01:00', 900, 1000000, 'f', 472, 6, 11, 'f', '5369103827800672897', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3945, 'OOglies', 'When the humans are away the OOglies play! Mr Magnetic continues to attract trouble in the form of some naughty tin foil. Also in HD. [S]', 'crid://fp.bbc.co.uk/T2PO2', 'T2PO2', '2009-08-11T17:45:00+01:00', 900, 1000000, 'f', 472, 6, 11, 'f', '5368732742626298491', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3946, 'OOglies', 'When the humans are away the OOglies play. Lonely Sprout is on the hunt for a friendly veggie chum. Will the see-sawing grapes avoid an invasion from clumsy Melonhead? Also in HD. [S]', 'crid://fp.bbc.co.uk/T2PO1', 'T2PO1', '2009-08-10T17:45:00+01:00', 900, 1000000, 'f', 472, 6, 11, 'f', '5368361657451924085', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3947, 'The Sarah Jane Adventures', '3/6. Part 2: The Man Who Never Was: Children''s science fiction drama. Luke and Sky must help the Skullions, but Sarah Jane is in danger too, so who will they save? [AD,S]', 'crid://fp.bbc.co.uk/T2QIJ', 'T2QIJ', '2011-10-18T17:15:00+01:00', 1800, 1000000, 'f', 473, 6, 11, 'f', '5664850980835948367', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3948, 'The Sarah Jane Adventures', '3/6. Part 1: The Man Who Never Was: Children''s science fiction drama. Everyone wants the brand-new SerfBoard - and why not? What could be so dangerous about a computer? [AD,S]', 'crid://fp.bbc.co.uk/T2QII', 'T2QII', '2011-10-17T17:20:00+01:00', 1500, 1000000, 'f', 473, 6, 11, 'f', '5664481184151762733', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3949, 'The Sarah Jane Adventures', '2/6. Part 2: The Curse of Clyde Langer: Children''s science fiction drama. Clyde is living on the streets of London, lost and abandoned - and hiding from the Night Dragon. [AD,S]', 'crid://fp.bbc.co.uk/T2QIH', 'T2QIH', '2011-10-11T17:15:00+01:00', 1800, 1000000, 'f', 473, 6, 11, 'f', '5662253384615327465', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3950, 'The Sarah Jane Adventures', '2/6. Part 1: The Curse of Clyde Langer: Children''s science fiction drama. The world has a brand new Public Enemy Number One - and his name is Clyde Langer. [AD,S]', 'crid://fp.bbc.co.uk/T2QIG', 'T2QIG', '2011-10-10T17:15:00+01:00', 1800, 1000000, 'f', 473, 6, 11, 'f', '5661882299440953057', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3951, 'The Sarah Jane Adventures', '2/6. Sky - Part 2: Children''s science fiction drama. Metalkind fights Fleshkind for control of Sarah Jane''s new friend, Sky. Can Sky stop herself destroying the world? [AD,S]', 'crid://fp.bbc.co.uk/T2QIF', 'T2QIF', '2011-10-04T17:15:00+01:00', 1800, 1000000, 'f', 473, 6, 11, 'f', '5659655788394706557', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3952, 'The Sarah Jane Adventures', '1/6. Sky - Part 1: Children''s science fiction drama. Sarah Jane finds something on her doorstep that leads her to an alien incursion at a power plant. [AD,S]', 'crid://fp.bbc.co.uk/T2QIE', 'T2QIE', '2011-10-03T17:20:00+01:00', 1500, 1000000, 'f', 473, 6, 11, 'f', '5659285991710520954', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3953, 'The Sarah Jane Adventures', '6/12. Goodbye, Sarah Jane Smith, Part 2: Children''s sci-fi drama following a journalist. Sarah Jane has gone for good, and a new regime begins at Bannerman Road. [AD,S] Followed by Newsround.', 'crid://fp.bbc.co.uk/T2Q1E', 'T2Q1E', '2010-11-16T17:15:00+00:00', 1800, 1000000, 'f', 474, 6, 11, 'f', '5540197286010664264', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3954, 'The Sarah Jane Adventures', '6/12. Goodbye, Sarah Jane Smith, Part 1: Children''s science fiction drama. No one can defend the earth forever, but who could ever replace Sarah Jane? [AD,S] Followed by Newsround.', 'crid://fp.bbc.co.uk/T2Q1D', 'T2Q1D', '2010-11-15T17:15:00+00:00', 1800, 1000000, 'f', 474, 6, 11, 'f', '5539826200836289829', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3955, 'The Sarah Jane Adventures', '5/12. Lost in Time, Part 2: Children''s science fiction drama. Sarah Jane, Clyde and Rani fight across the centuries to be reunited. [AD,S] Followed by Newsround.', 'crid://fp.bbc.co.uk/T2Q1C', 'T2Q1C', '2010-11-09T17:15:00+00:00', 1800, 1000000, 'f', 474, 6, 11, 'f', '5537599689790042868', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3956, 'The Sarah Jane Adventures', '5/12. Lost in Time, Part 1: Children''s science fiction drama. A harmless investigation turns into an epic quest across time and space. [AD,S] Followed by Newsround.', 'crid://fp.bbc.co.uk/T2Q1B', 'T2Q1B', '2010-11-08T17:15:00+00:00', 1800, 1000000, 'f', 474, 6, 11, 'f', '5537228604615668467', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3957, 'The Sarah Jane Adventures', '4/12. The Empty Planet, Part 2: Children''s science fiction drama. Clyde and Rani race against time - but what is the secret of the robots? [AD,S] Followed by Newsround.', 'crid://fp.bbc.co.uk/T2Q1A', 'T2Q1A', '2010-11-02T17:15:00+00:00', 1800, 1000000, 'f', 474, 6, 11, 'f', '5535002093569421940', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3958, 'The Sarah Jane Adventures', '4/12. The Empty Planet, Part 1: Children''s science fiction drama. Clyde and Rani discover that they are the only survivors of the human race! [AD,S] Followed by Newsround.', 'crid://fp.bbc.co.uk/T2Q19', 'T2Q19', '2010-11-01T17:15:00+00:00', 1800, 1000000, 'f', 474, 6, 11, 'f', '5534631008395047503', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3959, 'The Sarah Jane Adventures', '3/12. Death of the Doctor, Part 2: Children''s science fiction drama. Old friends fight together - but is it too late to stop the sinister Shansheeth? [AD,S] Followed by Newsround.', 'crid://fp.bbc.co.uk/T2Q18', 'T2Q18', '2010-10-26T17:15:00+01:00', 1800, 1000000, 'f', 474, 6, 11, 'f', '5532373573584269622', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3960, 'The Sarah Jane Adventures', '3/12. Death of the Doctor, Part 1: Children''s science fiction drama. When the Doctor is declared dead, Sarah Jane and Jo Grant unite to find out the truth. [AD,S] Followed by Newsround.', 'crid://fp.bbc.co.uk/T2Q17', 'T2Q17', '2010-10-25T17:15:00+01:00', 1800, 1000000, 'f', 474, 6, 11, 'f', '5532002488409895190', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3961, 'The Sarah Jane Adventures', '2/12. The Vault of Secrets, Part 2: The battle for the Vault reaches a showdown - with planet Earth at stake. [AD,S] Followed by Newsround.', 'crid://fp.bbc.co.uk/T2Q16', 'T2Q16', '2010-10-19T17:15:00+01:00', 1800, 1000000, 'f', 474, 6, 11, 'f', '5529775977363648382', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3962, 'The Sarah Jane Adventures', '2/12. The Vault of Secrets, Part 1: Children''s sci-fi series. An old enemy returns to Earth - but can the Veil be trusted? [AD,S] Followed by Newsround.', 'crid://fp.bbc.co.uk/T2Q15', 'T2Q15', '2010-10-18T17:15:00+01:00', 1800, 1000000, 'f', 474, 6, 11, 'f', '5529404892189273981', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3963, 'The Sarah Jane Adventures', '1/12. The Nightmare Man, Part 2: Children''s sci-fi series. With Luke, Clyde and Rani trapped in a bizarre dreamscape, Sarah Jane must fight the Nightmare Man alone. [AD,S] Followed by Newsround.', 'crid://fp.bbc.co.uk/T2Q14', 'T2Q14', '2010-10-12T17:15:00+01:00', 1800, 1000000, 'f', 474, 6, 11, 'f', '5527178381143027816', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3964, 'The Sarah Jane Adventures', '1/12. The Nightmare Man, Part 1: Children''s sci-fi series. Luke''s first nightmare could be tragic for the human race, and Bannerman Road will never be the same. [AD,S] Followed by Newsround.', 'crid://fp.bbc.co.uk/T2Q13', 'T2Q13', '2010-10-11T17:15:00+01:00', 1800, 1000000, 'f', 474, 6, 11, 'f', '5526807295968653414', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3965, 'The Sarah Jane Adventures', 'CBBC. 12/12. The Gift - Part 2: When the gift runs riot, Sarah Jane faces the battle of her life to save Luke. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/T2PJM', 'T2PJM', '2009-11-20T16:35:00+00:00', 1500, 1000000, 'f', 476, 1, 11, 'f', '5406225230106774990', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3966, 'The Sarah Jane Adventures', 'CBBC. 11/12. The Gift - Part 1: Children''s sci-fi drama featuring a journalist. When the Slitheen''s latest scheme is halted, the Blathereen arrive - but can they be trusted? Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/T2PJL', 'T2PJL', '2009-11-19T16:35:00+00:00', 1500, 1000000, 'f', 476, 1, 11, 'f', '5405854144932400520', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3967, 'The Sarah Jane Adventures', 'CBBC. 5/12. Mona Lisa''s Revenge - Part 2: Children''s science fiction drama. The Mona Lisa vows to free the dreaded abomination from its prison - and Clyde is the key! Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/T2PJK', 'T2PJK', '2009-11-13T16:35:00+00:00', 1500, 1000000, 'f', 476, 1, 11, 'f', '5403627633886152438', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3968, 'The Sarah Jane Adventures', 'CBBC. Mona Lisa''s Revenge - Part 1: Children''s science fiction drama. When the Mona Lisa comes to life, Clyde discovers that fine art can be dangerous! Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/T2PJJ', 'T2PJJ', '2009-11-12T16:35:00+00:00', 1500, 1000000, 'f', 476, 1, 11, 'f', '5403256548711774915', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3969, 'The Sarah Jane Adventures', 'CBBC. The Eternity Trap - Part 2: Sarah Jane and the gang discover the secret of Erasmus Darkening - but are they too late? Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/T2PJI', 'T2PJI', '2009-11-06T16:35:00+00:00', 1500, 1000000, 'f', 476, 1, 11, 'f', '5401030037665528479', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3970, 'The Sarah Jane Adventures', 'CBBC. The Eternity Trap - Part 1: Children''s science fiction drama. A haunted house, with mysterious whispers and secrets in the shadows - time for Sarah Jane Smith! Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/T2PJH', 'T2PJH', '2009-11-05T16:35:00+00:00', 1500, 1000000, 'f', 476, 1, 11, 'f', '5400658952491154043', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3971, 'The Sarah Jane Adventures', 'CBBC. The Wedding of Sarah Jane Smith - Part 2: The Doctor joins the battle, but is he too late to save both Sarah Jane and the Earth? Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/T2PJG', 'T2PJG', '2009-10-30T16:35:00+00:00', 1500, 1000000, 'f', 476, 1, 11, 'f', '5398432441444905512', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3972, 'The Sarah Jane Adventures', 'CBBC. The Wedding of Sarah Jane Smith - Part 1: The Doctor returns on the happiest day of Sarah Jane''s life, but a deadly trap awaits. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/T2PJF', 'T2PJF', '2009-10-29T16:35:00+00:00', 1500, 1000000, 'f', 476, 1, 11, 'f', '5398061356270531074', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3973, 'The Sarah Jane Adventures', 'CBBC. The Mad Woman in the Attic - Part 2: Children''s sci-fi drama series. Eve''s powers grow out of control, catching everyone in her endless sinister games. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/T2PJE', 'T2PJE', '2009-10-23T16:35:00+01:00', 1500, 1000000, 'f', 476, 1, 11, 'f', '5395803921459750822', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3974, 'The Sarah Jane Adventures', 'CBBC. 2/12. The Mad Woman in the Attic - Part 1: Children''s sci-fi drama. Far in the future, in the year 2059, Old Rani remembers the day when her whole life went wrong. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/T2PJD', 'T2PJD', '2009-10-22T16:35:00+01:00', 1500, 1000000, 'f', 476, 1, 11, 'f', '5395432836285376385', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3975, 'The Sarah Jane Adventures', 'CBBC. 1/12. Prisoner of the Judoon - Part 2: Children''s sci-fi drama featuring a journalist. Luke, Clyde and Rani must fight their most fearsome enemy yet - Sarah Jane Smith. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/T2PJC', 'T2PJC', '2009-10-16T16:35:00+01:00', 1500, 1000000, 'f', 476, 1, 11, 'f', '5393206325239128510', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3976, 'The Sarah Jane Adventures', 'New series. CBBC. 1/12. Prisoner of the Judoon - Part 1: Children''s sci-fi drama. The rhino-like Judoon return, as their prisoner crash-lands on Earth. A Veil is on the loose. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/T2PJB', 'T2PJB', '2009-10-15T16:35:00+01:00', 1500, 1000000, 'f', 476, 1, 11, 'f', '5392835240064754080', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3977, 'The Sarah Jane Adventures', 'Enemy of the Bane, part 2: Children''s drama series. The team discovers a traitor in their midst when Luke is kidnapped by Mrs Wormwood and Kaagh, and they prepare for a showdown. [AD,S]', 'fp.bbc.co.uk/T2PCE', 'T2PCE', '2008-12-02T17:15:00+00:00', 1800, 1000000, 'f', 477, 6, 11, 'f', '5799172217543653505', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3978, 'The Sarah Jane Adventures', 'Enemy of the Bane: Part 1: Children''s drama series. When former enemy Mrs Wormwood appears asking for help, Sarah Jane must turn to an old friend from her time with the Doctor. [S]', 'crid://fp.bbc.co.uk/T2PCD', 'T2PCD', '2008-12-01T17:15:00+00:00', 1800, 1000000, 'f', 477, 6, 11, 'f', '5274871386332959123', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3979, 'The Sarah Jane Adventures', '5/12. The Temptation of Sarah Jane Smith, Part 2: Children''s drama series. Sarah Jane has to make a devastating sacrifice in order to save Earth from The Trickster. [S]', 'crid://fp.bbc.co.uk/T2PCC', 'T2PCC', '2008-11-24T17:15:00+00:00', 1800, 1000000, 'f', 477, 6, 11, 'f', '5272273790112337980', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3980, 'The Sarah Jane Adventures', '5/12. The Temptation of Sarah Jane Smith, Part 1: Children''s drama series. Sarah Jane can''t resist going back in time to meet the parents she never knew - with disastrous consequences. [S]', 'crid://fp.bbc.co.uk/T2PCB', 'T2PCB', '2008-11-17T17:15:00+00:00', 1800, 1000000, 'f', 477, 6, 11, 'f', '5269676193891716756', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3981, 'The Sarah Jane Adventures', '4/12. The Mark of the Berserker, Part 2: Children''s drama series. Luke and Rani, with Clyde''s mum, track Clyde and his father to a waterside confrontation with The Berserker. [S]', 'crid://fp.bbc.co.uk/T2PCA', 'T2PCA', '2008-11-10T17:15:00+00:00', 1800, 1000000, 'f', 477, 6, 11, 'f', '5267078597671095559', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3982, 'The Sarah Jane Adventures', '4/12. The Mark of the Berserker, Part 1: Children''s drama series. An alien pendant, which gives its wearer the power to control others, is stolen from Sarah Jane''s attic. [S]', 'crid://fp.bbc.co.uk/T2PC9', 'T2PC9', '2008-11-03T17:15:00+00:00', 1800, 1000000, 'f', 477, 6, 11, 'f', '5264481001450473830', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3983, 'The Sarah Jane Adventures', '3/12. Secrets of the Stars - Part 2: Children''s drama series. Sarah Jane and the others infiltrate Trueman''s circle as he takes over the population through their star signs. [S]', 'crid://fp.bbc.co.uk/T2PC8', 'T2PC8', '2008-10-27T17:15:00+00:00', 1800, 1000000, 'f', 477, 6, 11, 'f', '5261883405229883108', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3984, 'The Sarah Jane Adventures', '3/12. Secrets of the Stars - Part 1: Children''s drama series. An astrologer attracts Sarah Jane''s interest with his uncanny predictions. [S]', 'crid://fp.bbc.co.uk/T2PC7', 'T2PC7', '2008-10-20T17:15:00+01:00', 1800, 1000000, 'f', 477, 6, 11, 'f', '5259254885244730750', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3985, 'The Sarah Jane Adventures', '2/12. The Day of the Clown - Part 2: Children''s drama series. Luke is taken by Spellman and Sarah Jane has to confront her oldest fears to save him. [S]', 'crid://fp.bbc.co.uk/T2PC6', 'T2PC6', '2008-10-13T17:15:00+01:00', 1800, 1000000, 'f', 477, 6, 11, 'f', '5256657289024109568', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3986, 'The Sarah Jane Adventures', '2/12. The Day of the Clown - Part 1: Children''s drama series. New girl Rani is haunted by a sinister clown. Has the Pied Piper come to Bannerman Road? [S]', 'crid://fp.bbc.co.uk/T2PC5', 'T2PC5', '2008-10-06T17:15:00+01:00', 1800, 1000000, 'f', 477, 6, 11, 'f', '5254059692803488410', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3987, 'The Sarah Jane Adventures', '1/12. The Last Sontaran - Part 2: Children''s drama series from the makers of Doctor Who. Sarah Jane has 40 minutes to stop Sontaran Commander Kaagh from destroying the Earth. [S].', 'crid://fp.bbc.co.uk/T2PC4', 'T2PC4', '2008-09-29T17:15:00+01:00', 1800, 1000000, 'f', 477, 6, 11, 'f', '5251462096582867496', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3988, 'The Sarah Jane Adventures', 'CBBC. The Last Sontaran. Part One: Sarah Jane investigates alien lights and encounters an enemy from the past. Maria faces a big decision. [S]', 'crid://fp.bbc.co.uk/T2PC3', 'T2PC3', '2008-09-29T16:35:00+01:00', 1500, 1000000, 'f', 477, 1, 11, 'f', '5251451788628067408', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3989, 'The Sarah Jane Adventures', '2/2. The Lost Boy: With her old enemies triumphant, it seems that Sarah Jane has finally been defeated. [S]', 'crid://fp.bbc.co.uk/54BXLA', '54BXLA', '2007-11-19T17:30:00+00:00', 1800, 1000000, 'f', 478, 6, 11, 'f', '5134605055889991488', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3990, 'The Sarah Jane Adventures', 'The Lost Boy. Part One. A couple appear claiming to be Luke''s real parents. Is it time for Sarah Jane to stop adventuring? [S]', 'crid://fp.bbc.co.uk/54BXL9', '54BXL9', '2007-11-12T17:30:00+00:00', 1800, 1000000, 'f', 478, 6, 11, 'f', '5132007459669369297', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3991, 'The Sarah Jane Adventures', '2/2. Whatever Happened To Sarah Jane?: Maria is lost in time, and a meteor heads for Earth - with no Sarah Jane to stop it. [S]', 'crid://fp.bbc.co.uk/54BXL8', '54BXL8', '2007-11-05T17:30:00+00:00', 1800, 1000000, 'f', 478, 6, 11, 'f', '5129409863448745862', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3992, 'The Sarah Jane Adventures', '1/2. Whatever Happened To Sarah Jane?: Maria wakes one morning to discover Sarah Jane has disappeared - and she is the only person in the world who remembers her. [S]', 'crid://fp.bbc.co.uk/54BXL7', '54BXL7', '2007-10-29T17:30:00+00:00', 1800, 1000000, 'f', 478, 6, 11, 'f', '5126812267228123137', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3993, 'The Sarah Jane Adventures', 'Warriors of Kudlak. Part 2: Luke and Clyde have been kidnapped - to become soldiers in an endless intergalactic war. [S]', 'crid://fp.bbc.co.uk/54BXL6', '54BXL6', '2007-10-22T17:30:00+01:00', 1800, 1000000, 'f', 478, 6, 11, 'f', '5124183747242967875', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3994, 'The Sarah Jane Adventures', 'Warriors of Kudlak. Part 1: Luke and Clyde enter Combat 3000 - a game designed to train warriors - run by the sinister Kudlak. [S]', 'crid://fp.bbc.co.uk/54BXL5', '54BXL5', '2007-10-15T17:30:00+01:00', 1800, 1000000, 'f', 478, 6, 11, 'f', '5121586151022345247', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3995, 'The Sarah Jane Adventures', 'Eye of the Gorgon. Part 2. Sinister nuns plan to unleash the Gorgon on the world. Will Sarah Jane stop them? [S] ', 'crid://fp.bbc.co.uk/54BXL4', '54BXL4', '2007-10-08T17:30:00+01:00', 1800, 1000000, 'f', 478, 6, 11, 'f', '5118988554801722752', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3996, 'The Sarah Jane Adventures', 'Eye of the Gorgon. Part 1: Sarah Jane and her team encounter the Gorgon - a terrifying creature that turns its victims to stone. [S] ', 'crid://fp.bbc.co.uk/54BXL3', '54BXL3', '2007-10-01T17:30:00+01:00', 1800, 1000000, 'f', 478, 6, 11, 'f', '5116390958581099488', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3997, 'The Sarah Jane Adventures', 'Revenge of the Slitheen. Part 2: Sarah Jane, Maria, Luke and Clyde must save Earth before the Slitheen switch off the sun. [S]', 'crid://fp.bbc.co.uk/54BXL2', '54BXL2', '2007-09-24T17:30:00+01:00', 1800, 1000000, 'f', 478, 6, 11, 'f', '5113793362360476330', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3998, 'The Sarah Jane Adventures', 'Revenge of the Slitheen. Part 1: Sarah Jane, Maria, Luke and Clyde discover the monstrous Slitheen are hiding in a school. [S]', 'crid://fp.bbc.co.uk/54BXL1', '54BXL1', '2007-09-24T17:00:00+01:00', 1500, 1000000, 'f', 478, 1, 11, 'f', '5113785631386117145', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(3999, 'The Sarah Jane Adventures', 'Invasion of the Bane: After discovering that the Bane, creators of a soft drink called Bubble Shock!, harbour a destructive secret, Maria Jackson teams up with investigative journalist Sarah Jane Smith to prevent their plans.', 'crid://fp.bbc.co.uk/54BW4M', '54BW4M', '2007-09-23T17:10:00+01:00', 3600, 1000000, 'f', 478, 6, 11, 'f', '5113417123225346540', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4039, 'Horrid Henry', 'Horrid Henry: I Am Not a Hamster: Henry finds out that sometimes you can take your best friends for granted, especially when your best friend is a hamster - or is he? [AD,S]', 'crid://www.itv.com/132738016', '132738016', '2015-01-18T08:30:00+00:00', 1200, 1000000, 'f', 483, 8, 11, 'f', '6105595800522688040', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4040, 'Horrid Henry', 'Horrid Henry Rewrites the Rules: Adventures of a mischievous boy. Peter discovers that you can please everyone most of the time, at least he thinks he can. [AD,S]', 'crid://www.itv.com/132737982', '132737982', '2015-01-17T08:30:00+00:00', 1200, 1000000, 'f', 483, 8, 11, 'f', '6105224715348313578', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4041, 'Horrid Henry', 'Horrid Henry Does his Homework: The animated adventures of the mischievous anti-hero. Can it be true? Is Henry about to break the rule of a lifetime and actually do his homework? [AD,S]', 'crid://www.itv.com/132107157', '132107157', '2015-01-10T08:30:00+00:00', 1200, 1000000, 'f', 483, 8, 11, 'f', '6102627119127702576', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4042, 'Horrid Henry', 'Horrid Henry Knows It All: The animated adventures of the mischievous anti-hero. Henry hears that there are Killer Boy Rats tickets for sale - and nothing is going to stop him. [AD,S]', 'crid://www.itv.com/131504077', '131504077', '2015-01-04T08:15:00+00:00', 900, 1000000, 'f', 483, 8, 11, 'f', '6100396742610889492', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4043, 'Horrid Henry', 'Horrid Henry''s Comic Caper: The animated adventures of the mischievous anti-hero. It is not easy being Henry when all you want to do is read your Gross Class Zero comic. [AD,S]', 'crid://www.itv.com/131504069', '131504069', '2015-01-03T08:15:00+00:00', 900, 1000000, 'f', 483, 8, 11, 'f', '6100025657436515052', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4044, 'Horrid Henry', 'Horrid Henry Meets Mr Tiddler: Animated adventures. When Peter finds out that his favourite author lives just down the road, Henry has to turn writer to stop things going wrong. [AD,S]', 'crid://www.itv.com/139392961', '139392961', '2014-12-27T08:10:00+00:00', 900, 1000000, 'f', 483, 8, 11, 'f', '6097426772725705132', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4045, 'Horrid Henry', 'Horrid Henry and the Early Christmas Present: The adventures of the eponymous mischievous boy. Christmas never seems to come early, except when you don''t want it to - bah, humbug! [AD,S]', 'crid://www.itv.com/36518227', '36518227', '2014-12-25T08:10:00+00:00', 900, 1000000, 'f', 483, 8, 11, 'f', '6096684602376955036', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4046, 'Horrid Henry', 'Horrid Henry and the Perfect Panto: Animated adventures. When Henry''s school panto is cancelled, Margaret will not take no for an answer - which is a good thing and a bad thing! [AD,S]', 'crid://www.itv.com/139392923', '139392923', '2014-12-21T08:15:00+00:00', 900, 1000000, 'f', 483, 8, 11, 'f', '6095201550169645980', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4047, 'Horrid Henry', 'Horrid Henry and the Horrid Hat: The animated adventures of the mischievous anti-hero. Henry''s horrid hat is not the only thing breaking the rules - according to Soggy Sid! [AD,S]', 'crid://www.itv.com/132107165', '132107165', '2014-12-20T08:15:00+00:00', 900, 1000000, 'f', 483, 8, 11, 'f', '6094830464995274371', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4048, 'Horrid Henry', 'Horrid Henry''s Marvellous Motto: The animated adventures of the mischievous anti-hero. There is a motto for every occasion, as Henry finds out to his cost! [AD,S]', 'crid://www.itv.com/138723517', '138723517', '2014-12-14T08:15:00+00:00', 900, 1000000, 'f', 483, 8, 11, 'f', '6092603953949025885', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4049, 'Horrid Henry', 'Horrid Henry Gives It All Away: The animated adventures of the mischievous anti-hero. Henry decides that he has got too much stuff, but giving it all away is easier said than done! [AD,S]', 'crid://www.itv.com/138723479', '138723479', '2014-12-13T08:15:00+00:00', 900, 1000000, 'f', 483, 8, 11, 'f', '6092232868774649672', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4050, 'Horrid Henry', 'Horrid Henry and the Dangerous Data: Animated adventures. Data can be dangerous, as Henry is about to find out when Peter takes over as chief secretary of the Purple Hand Gang! [AD,S]', 'crid://www.itv.com/133901506', '133901506', '2014-12-07T08:15:00+00:00', 900, 1000000, 'f', 483, 8, 11, 'f', '6090006357728402521', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4051, 'Horrid Henry', 'Moody Margaret for President: The animated adventures of the mischievous anti-hero. Margaret decides there is only one way to get things done and that is by becoming President. [AD,S]', 'crid://www.itv.com/138299964', '138299964', '2014-12-06T08:15:00+00:00', 900, 1000000, 'f', 483, 8, 11, 'f', '6089635272554028081', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4052, 'Horrid Henry', 'Horrid Henry and the Phantom Phone: The animated adventures of the mischievous anti-hero. Henry has finally got his very own mobile phone - or has he? [AD,S]', 'crid://www.itv.com/137667277', '137667277', '2014-11-30T08:15:00+00:00', 900, 1000000, 'f', 483, 8, 11, 'f', '6087408761507780310', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4053, 'Horrid Henry', 'Horrid Henry Goes to School: The animated adventures of the mischievous anti-hero. Henry tries to go to school - no, really! [AD,S]', 'crid://www.itv.com/137667265', '137667265', '2014-11-29T08:15:00+00:00', 900, 1000000, 'f', 483, 8, 11, 'f', '6087037676333405851', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4054, 'Horrid Henry', 'Horrid Henry Eco Warrior: Animated adventures of the mischievous anti-hero. When Henry becomes the school''s recycling ambassador, he finds that a bit of power can go a long way! [AD,S]', 'crid://www.itv.com/134883893', '134883893', '2014-11-23T08:15:00+00:00', 900, 1000000, 'f', 483, 8, 11, 'f', '6084811165287160188', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4055, 'Horrid Henry', 'Horrid Henry Loses Rude Ralph: The animated adventures of the mischievous anti-hero. Rude Ralph is missing! Could the Evil Guardian really be responsible? [AD,S]', 'crid://www.itv.com/134883881', '134883881', '2014-11-22T08:15:00+00:00', 900, 1000000, 'f', 483, 8, 11, 'f', '6084440080112784430', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4056, 'Horrid Henry', 'Horrid Henry Flicks the Bogey: The animated adventures of the mischievous anti-hero. Horrid Henry discovers that sometimes wormy little brothers can be very useful! [AD,S]', 'crid://www.itv.com/133901478', '133901478', '2014-11-16T08:15:00+00:00', 900, 1000000, 'f', 483, 8, 11, 'f', '6082213569066536534', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4057, 'Horrid Henry', 'Horrid Henry Tells the Truth: The animated adventures of the mischievous anti-hero. Henry discovers that telling the truth is not always easy, especially when it is Moody Margaret. [AD,S]', 'crid://www.itv.com/134390439', '134390439', '2014-11-15T08:15:00+00:00', 900, 1000000, 'f', 483, 8, 11, 'f', '6081842483892162774', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4058, 'Horrid Henry', 'Horrid Henry Takes the Blame: The animated adventures of the mischievous anti-hero. Why does Henry always get the blame for everything? [AD,S]', 'crid://www.itv.com/133901466', '133901466', '2014-11-09T08:15:00+00:00', 900, 1000000, 'f', 483, 8, 11, 'f', '6079615972845919945', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4059, 'Horrid Henry', 'Horrid Henry and the Perfect Parents: The animated adventures of the mischievous anti-hero. Henry discovers that sometimes you have to be careful what you wish for! [AD,S]', 'crid://www.itv.com/133901456', '133901456', '2014-11-08T08:15:00+00:00', 900, 1000000, 'f', 483, 8, 11, 'f', '6079244887671541244', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4060, 'Horrid Henry', 'Horrid Henry and the Single Sock Saga: Animated adventures. It is sock sorting time again, but this time Henry finds he has got a secret helper - if it can be called help! [AD,S]', 'crid://www.itv.com/133381683', '133381683', '2014-11-02T08:15:00+00:00', 900, 1000000, 'f', 483, 8, 11, 'f', '6077018376625295532', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4061, 'Horrid Henry', 'Horrid Henry Plays Air Guitar: The animated adventures of the mischievous anti-hero. A bad day can quickly become a good day, as Henry discovers when Doddery Donald comes to visit. [AD,S]', 'crid://www.itv.com/133381673', '133381673', '2014-11-01T08:15:00+00:00', 900, 1000000, 'f', 483, 8, 11, 'f', '6076647291450919794', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4062, 'Horrid Henry', 'Horrid Henry Hit Song: The animated adventures of the anti-hero. Henry is all set to make the best music video ever, but it''s not that easy when everyone wants to be in on the act. [AD,S]', 'crid://www.itv.com/132630143', '132630143', '2014-10-19T08:20:00+01:00', 600, 1000000, 'f', 483, 8, 11, 'f', '6071809010791978414', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4063, 'Horrid Henry', 'Horrid Henry and the Climbing Frame Clincher: It''s the Purple Hand Gang vs the Secret Club when Henry and Margaret can''t agree on who gets to go on the climbing frame! [AD,S]', 'crid://www.itv.com/32605594', '32605594', '2014-07-06T07:45:00+01:00', 900, 1000000, 'f', 483, 8, 11, 'f', '6032836048051341274', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4064, 'Horrid Henry', 'Horrid Henry Skipping Lesson: A day out with Great Aunt Greta! Henry thinks this could be his worst nightmare - but sometimes things just don''t turn out the way you think! [AD,S]', 'crid://www.itv.com/32133707', '32133707', '2014-07-05T07:45:00+01:00', 900, 1000000, 'f', 483, 8, 11, 'f', '6032464962876975443', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4065, 'Horrid Henry', 'Horrid Henry and the Time Manager: Henry is not the only one worried by Dad''s brilliant new idea to make the most of the day. [AD,S]', 'crid://www.itv.com/32133683', '32133683', '2014-06-29T07:45:00+01:00', 900, 1000000, 'f', 483, 8, 11, 'f', '6030238451830728075', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4066, 'Horrid Henry', 'Horrid Henry and the Perfect Plane: Henry finally gets a chance to fly the perfect plane - but then Stuck-Up Steve appears to spoil the fun. [AD,S]', 'crid://www.itv.com/32133657', '32133657', '2014-06-28T07:45:00+01:00', 900, 1000000, 'f', 483, 8, 11, 'f', '6029867366656353638', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4067, 'Horrid Henry', 'Horrid Henry Delivers a Message: Henry knows that teachers can be weird, but he doesn''t realise just how weird they can be until he has to deliver a message or two! [AD,S]', 'crid://www.itv.com/32133579', '32133579', '2014-06-22T07:45:00+01:00', 900, 1000000, 'f', 483, 8, 11, 'f', '6027640855610100528', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4068, 'Horrid Henry', 'Horrid Henry and the Weird Werewolf: There is a full moon and Henry knows that is when the werewolves come out to play. Peter is worried about having hairy hands. [AD,S]', 'crid://www.itv.com/32133615', '32133615', '2014-06-21T07:45:00+01:00', 900, 1000000, 'f', 483, 8, 11, 'f', '6027269770435725952', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4069, 'Horrid Henry', 'Horrid Henry and the Special Spinner: The adventures of a mischievous boy. [AD,S]', 'crid://www.itv.com/28683450', '28683450', '2014-06-15T07:45:00+01:00', 900, 1000000, 'f', 483, 8, 11, 'f', '6025043259389485783', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4070, 'Horrid Henry', 'Horrid Henry, Rockstar: Henry is going to be a rockstar, and no-one is going to stop him - except maybe Moody Margaret, who is up to her usual tricks! [AD,S]', 'crid://www.itv.com/28683436', '28683436', '2014-06-14T07:45:00+01:00', 900, 1000000, 'f', 483, 8, 11, 'f', '6024672174215110615', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4071, 'Horrid Henry', 'Horrid Henry Goes Bananas: The animated adventures of the mischievous anti-hero. It all started with a banana - or at least that is Horrid Henry''s story - and he is sticking to it! [AD,S]', 'crid://www.itv.com/46623717', '46623717', '2014-06-08T07:45:00+01:00', 900, 1000000, 'f', 483, 8, 11, 'f', '6022445663168863328', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4072, 'Horrid Henry', 'Horrid Henry and the King of Bling: The adventures of the mischievous anti-hero. All Horrid Henry wants is a mobile phone, while all Perfect Peter wants is to be the King of Bling. [AD,S]', 'crid://www.itv.com/46469867', '46469867', '2014-06-07T07:45:00+01:00', 900, 1000000, 'f', 483, 8, 11, 'f', '6022074577994488894', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4073, 'Horrid Henry', 'Horrid Henry Sells the School: Finally Horrid Henry gets the chance to do what he has always wanted to do - sell the school to the highest bidder! [AD,S]', 'crid://www.itv.com/46469865', '46469865', '2014-06-01T07:45:00+01:00', 900, 1000000, 'f', 483, 8, 11, 'f', '6019848066948242045', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4074, 'Horrid Henry', 'Horrid Henry, Money Talks: Follow the money, that is Horrid Henry''s motto, even when it takes you into enemy territory and you find yourself up against Moody Margaret! [AD,S]', 'crid://www.itv.com/38279108', '38279108', '2014-05-31T07:45:00+01:00', 900, 1000000, 'f', 483, 8, 11, 'f', '6019476981773867614', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4075, 'Horrid Henry', 'Horrid Henry Goes Gross: The animated adventures of the mischievous anti-hero. Someone is spying on the Purple Hand Gang, and Horrid Henry is determined to find out who! [AD,S]', 'crid://www.itv.com/46271814', '46271814', '2014-05-25T07:45:00+01:00', 900, 1000000, 'f', 483, 8, 11, 'f', '6017250470727620638', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4076, 'Horrid Henry', 'Horrid Henry Delivers the Milk: The animated adventures of the mischievous anti-hero. Horrid Henry finds he has got a new job, which means getting up very early indeed! [AD,S]', 'crid://www.itv.com/46131159', '46131159', '2014-05-24T07:45:00+01:00', 900, 1000000, 'f', 483, 8, 11, 'f', '6016879385553246164', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4077, 'Horrid Henry', 'Horrid Henry - Nothing but the Truth: The animated adventures of the mischievous anti-hero. Perfect Peter has had enough and he is ready to spill the beans, big time! [AD,S]', 'crid://www.itv.com/46131157', '46131157', '2014-05-18T07:45:00+01:00', 900, 1000000, 'f', 483, 8, 11, 'f', '6014652874506998737', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4078, 'Horrid Henry', 'Horrid Henry, Rocking the World: When Rude Ralph decides to become an air guitar superstar, Horrid Henry''s not going to stand in his way - but someone else will if he lets them! [AD,S]', 'crid://www.itv.com/45862321', '45862321', '2014-05-17T07:45:00+01:00', 900, 1000000, 'f', 483, 8, 11, 'f', '6014281789332624305', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4079, 'Horrid Henry', 'Horrid Henry, It''s All Your Fault: The animated adventures of the mischievous anti-hero. Horrid Henry''s convinced that it''s not his fault, even when it is! [AD,S]', 'crid://www.itv.com/45862319', '45862319', '2014-05-11T07:45:00+01:00', 900, 1000000, 'f', 483, 8, 11, 'f', '6012055278286377351', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4080, 'Horrid Henry', 'Horrid Henry, My Weird Family: The adventures of a mischievous boy. Horrid Henry spends his whole day in the fresh air and meets a stinky girl called Finola. [AD,S]', 'crid://www.itv.com/45602200', '45602200', '2014-05-10T07:45:00+01:00', 900, 1000000, 'f', 483, 8, 11, 'f', '6011684193112002910', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4081, 'Horrid Henry', 'Horrid Henry and the Code Crackers: Horrid Henry and Rude Ralph will do anything to crack the secret code - until Henry learns that sometimes the solution is right under your nose. [AD,S]', 'crid://www.itv.com/38848105', '38848105', '2014-05-04T07:45:00+01:00', 900, 1000000, 'f', 483, 8, 11, 'f', '6009457682065756276', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4082, 'Horrid Henry', 'Horrid Henry in Detention: Horrid Henry lands everyone in detention, but will he manage to get them all out again in time for that all important football match? [AD,S]', 'crid://www.itv.com/38507673', '38507673', '2014-05-03T07:45:00+01:00', 900, 1000000, 'f', 483, 8, 11, 'f', '6009086596891381837', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4083, 'Horrid Henry', 'Horrid Henry, Here to Entertain You: Horrid Henry and Perfect Peter become entertainers in a desperate attempt to gatecrash Moody Margaret''s party, but will they get away with it? [AD,S]', 'crid://www.itv.com/45623791', '45623791', '2014-04-27T07:45:00+01:00', 900, 1000000, 'f', 483, 8, 11, 'f', '6006860085845135385', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4084, 'Horrid Henry', 'Horrid Henry So Not a Girl!: Moody Margaret decides it is time the boys learnt their lesson as she teaches Sour Susan all about being a girl. [AD,S]', 'crid://www.itv.com/38875509', '38875509', '2014-04-26T07:45:00+01:00', 900, 1000000, 'f', 483, 8, 11, 'f', '6006489000670760982', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4085, 'Horrid Henry', 'Horrid Henry, Horrid Boy?: When Dad offers to do Horrid Henry''s homework for him, Horrid Henry knows there is something going on, but he cannot quite work out what it is. [AD,S]', 'crid://www.itv.com/46612146', '46612146', '2014-04-20T07:55:00+01:00', 1500, 1000000, 'f', 483, 8, 11, 'f', '6004265066604898558', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4086, 'Horrid Henry', 'Horrid Henry and the New Best Friend: Animated adventures of the anti-hero. Horrid Henry gets himself a new best friend, but it''s not long before Nice Nicola turns into Nasty Nicola. [AD,S]', 'crid://www.itv.com/45553172', '45553172', '2014-04-19T08:30:00+01:00', 1200, 1000000, 'f', 483, 8, 11, 'f', '6003903000861845710', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4087, 'Horrid Henry', 'Horrid Henry and the Boodle Poodle: When Fang is challenged by a Boodle Poodle, Horrid Henry is sure he is going to win, but Fang has got a bit of work to do to come out on top! [AD,S]', 'crid://www.itv.com/45553130', '45553130', '2014-04-13T07:55:00+01:00', 1500, 1000000, 'f', 483, 8, 11, 'f', '6001667470384277708', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4088, 'Horrid Henry', 'Horrid Henry Goes to the Theatre: Animated adventures of the mischievous anti-hero. Henry decides that going to the theatre is not all bad - especially when it is as good as this! [AD,S]', 'crid://www.itv.com/38560387', '38560387', '2014-04-12T08:30:00+01:00', 1200, 1000000, 'f', 483, 8, 11, 'f', '6001305404641223852', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4089, 'Horrid Henry', 'Horrid Henry Joins the Best Boys'' Club: Animated adventures. Where there''s a will there''s a way, and if the only way is to join the Best Boys'' Club, then never say never! [AD,S]', 'crid://www.itv.com/38254215', '38254215', '2014-04-06T07:55:00+01:00', 1500, 1000000, 'f', 483, 8, 11, 'f', '5999069874163655850', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4090, 'Horrid Henry', 'Horrid Henry''s Perfect Protest: Animated adventures. Life''s not fair! Horrid Henry knows that already, but when he discovers he can do something about it, he does something! [AD,S]', 'crid://www.itv.com/38011872', '38011872', '2014-04-05T08:30:00+01:00', 1200, 1000000, 'f', 483, 8, 11, 'f', '5998707808420603000', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4091, 'Horrid Henry', 'Horrid Henry''s Special Spa Day: The adventures of a mischievous boy. Henry''s Mother''s Day present is something really special - something that only Henry can deliver! [AD,S]', 'crid://www.itv.com/34829090', '34829090', '2014-03-30T07:55:00+01:00', 1200, 1000000, 'f', 483, 8, 11, 'f', '5996472277943033549', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4092, 'Horrid Henry', 'Horrid Henry and the Movie Star: The animated adventures of the mischievous anti-hero. Horrid Henry finds out what acting is all about when he lands a part in a movie - groovy! [AD,S]', 'crid://www.itv.com/38011870', '38011870', '2014-03-29T08:30:00+00:00', 1200, 1000000, 'f', 483, 8, 11, 'f', '5996125674082247798', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4093, 'Horrid Henry', 'Horrid Henry and the Bogey Brain Sleepover: Animated adventures of the anti-hero. Horrid Henry gets invited to the bogiest sleepover ever - and there is nothing he can do about it! [AD,S]', 'crid://www.itv.com/37421530', '37421530', '2014-03-23T07:55:00+00:00', 1500, 1000000, 'f', 483, 8, 11, 'f', '5993890143604679337', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4094, 'Horrid Henry', 'Moody Margaret, Superstar: Animated adventures of the anti-hero. Sometimes a girl''s gotta do what a girl''s gotta do, and this time Moody Margaret just has to be a superstar - fact! [AD,S]', 'crid://www.itv.com/37421528', '37421528', '2014-03-22T08:30:00+00:00', 1200, 1000000, 'f', 483, 8, 11, 'f', '5993528077861626535', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4095, 'Horrid Henry', 'Horrid Henry and the Fashion Show: One boy''s junk is another girl''s treasure, as Horrid Henry discovers when he decides to sell off all his old clothes. [AD,S]', 'crid://www.itv.com/37271651', '37271651', '2014-03-16T07:55:00+00:00', 1500, 1000000, 'f', 483, 8, 11, 'f', '5991292547384058491', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4096, 'Horrid Henry', 'Horrid Henry, Bogus Babysitter: Horrid Henry discovers that babysitting can sometimes be useful, especially when you are about to get into trouble, big time! [AD,S]', 'crid://www.itv.com/37271649', '37271649', '2014-03-15T08:30:00+00:00', 1200, 1000000, 'f', 483, 8, 11, 'f', '5990930481641005689', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4097, 'Horrid Henry', 'Horrid Henry''s Stamp Collection: The adventures of a mischievous boy. Henry''s new hobby is stamp-collecting, but he finds that it''s not as easy as it looks! [AD,S]', 'crid://www.itv.com/35587995', '35587995', '2014-03-09T07:55:00+00:00', 1500, 1000000, 'f', 483, 8, 11, 'f', '5988694951163437417', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4098, 'Horrid Henry', 'Horrid Henry and the Christening Crisis: The adventures of a mischievous boy. This time it''s really not Henry''s fault when the baby goes missing! [AD,S]', 'crid://www.itv.com/35586511', '35586511', '2014-03-08T08:30:00+00:00', 1200, 1000000, 'f', 483, 8, 11, 'f', '5988332885420384615', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4099, 'Horrid Henry', 'Horrid Henry and the Silly Siblings: The adventures of a mischievous boy. Some people never change - as Henry finds out when Fussy Uncle Francis comes to visit. [AD,S]', 'crid://www.itv.com/35316848', '35316848', '2014-03-02T07:55:00+00:00', 1500, 1000000, 'f', 483, 8, 11, 'f', '5986097354942816572', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4100, 'Horrid Henry', 'Horrid Henry, Purple Hand Gang Rules OK!: Henry is well known as Lord High Excellent Majesty of the Purple Hand Gang and loves money, comics and practical jokes. [AD,S]', 'crid://www.itv.com/35119800', '35119800', '2014-03-01T08:30:00+00:00', 1200, 1000000, 'f', 483, 8, 11, 'f', '5985735289199763770', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4101, 'Horrid Henry', 'Horrid Henry and the Scary Scooter: At last Henry has got a scooter! He thinks it is the best thing ever - but he soon finds out that not everything is as it seems! [AD,S]', 'crid://www.itv.com/35119778', '35119778', '2014-02-23T08:10:00+00:00', 1200, 1000000, 'f', 483, 8, 11, 'f', '5983503624192761888', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4102, 'Horrid Henry', 'Horrid Henry''s Unhappy Day: Henry''s search for the last Gross Class Zero comic looks as though it is going to end in tears, especially when he is up against Moody Margaret! [AD,S]', 'crid://www.itv.com/35119760', '35119760', '2014-02-23T07:50:00+00:00', 1200, 1000000, 'f', 483, 8, 11, 'f', '5983498470232006685', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4103, 'Horrid Henry', 'Horrid Henry Alone at Home: When Horrid Henry gets left behind by mistake, he thinks it is the best thing that has ever happened to him. But is it? [AD,S]', 'crid://www.itv.com/35119742', '35119742', '2014-02-22T08:50:00+00:00', 900, 1000000, 'f', 483, 8, 11, 'f', '5983142846939897836', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4104, 'Horrid Henry', 'Perfect Peter Perfect Day: The adventures of a mischievous boy. Perfect Peter paintballing? Not something you thought would ever happen, but seeing is believing! [AD,S]', 'crid://www.itv.com/35119720', '35119720', '2014-02-22T08:30:00+00:00', 1200, 1000000, 'f', 483, 8, 11, 'f', '5983137692979142634', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4105, 'Horrid Henry', 'Horrid Henry and the Day of the Dinosaur: Henry is having a bad day - a really bad day. And he is about to find out that it is not always easy seeing yourself as others see you. [AD,S]', 'crid://www.itv.com/34829112', '34829112', '2014-02-16T08:15:00+00:00', 1200, 1000000, 'f', 483, 8, 11, 'f', '5980907316462332963', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4106, 'Horrid Henry', 'Horrid Henry Goes to the Park: All Mum wants Henry to do is take a walk in the park. But Henry has other ideas - until he finds out that Ed Banger is the star attraction! [AD,S]', 'crid://www.itv.com/34829062', '34829062', '2014-02-16T07:50:00+00:00', 1500, 1000000, 'f', 483, 8, 11, 'f', '5980900874011385547', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4107, 'Horrid Henry', 'Horrid Henry and the Tickly Treats Thief: Someone is stealing all Mum''s favourite snacks, and Henry is getting the blame. Time for him to turn detective and find the real thief! [AD,S]', 'crid://www.itv.com/34829044', '34829044', '2014-02-15T08:50:00+00:00', 900, 1000000, 'f', 483, 8, 11, 'f', '5980545250719276680', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4108, 'Horrid Henry', 'Horrid Henry and the Terrible Teacher: Miss Battle-Axe decides to take a holiday and Henry reckons it is time to celebrate - but sometimes you have to be careful what you wish for! [AD,S]', 'crid://www.itv.com/34829012', '34829012', '2014-02-15T08:30:00+00:00', 1200, 1000000, 'f', 483, 8, 11, 'f', '5980540096758521476', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4109, 'Horrid Henry', 'Horrid Henry Grown Up: It''s not always easy being a grown up - as Henry finds out when he ends up being grown up for a day! [AD,S]', 'crid://www.itv.com/32808881', '32808881', '2014-02-09T08:10:00+00:00', 1200, 1000000, 'f', 483, 8, 11, 'f', '5978308431751518981', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4110, 'Horrid Henry', 'Aliens Ate My Homework: Henry is master of excuses when it comes to not giving in your homework. But this time it looks as though he may have gone too far! [AD,S]', 'crid://www.itv.com/32133583', '32133583', '2014-02-09T07:50:00+00:00', 1200, 1000000, 'f', 483, 8, 11, 'f', '5978303277790763778', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4111, 'Horrid Henry', 'Horrid Henry''s Horrible Homework: When Henry discovers an unexpected way to not do his homework, Miss Battle-Axe decides to take him on - with unexpected results! [AD,S]', 'crid://www.itv.com/32133581', '32133581', '2014-02-08T08:50:00+00:00', 900, 1000000, 'f', 483, 8, 11, 'f', '5977947654498654933', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4112, 'Horrid Henry', 'Horrid Henry and the Booger Bogey: The adventures of a mischievous boy. Henry discovers an enormous bogey. Soggy Sid isn''t very pleased about it. [AD,S]', 'crid://www.itv.com/32133561', '32133561', '2014-02-08T08:30:00+00:00', 1200, 1000000, 'f', 483, 8, 11, 'f', '5977942500537899730', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4113, 'Horrid Henry', 'Horrid Henry and the Winning Ticket: Henry''s feeling lucky, lucky, lucky, but will it be a case of winner takes all? [AD,S]', 'crid://www.itv.com/32133559', '32133559', '2014-02-02T08:10:00+00:00', 600, 1000000, 'f', 483, 8, 11, 'f', '5975710835530897974', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4114, 'Horrid Henry', 'Horrid Henry and the Wedding: Henry decides to make the most of his role as page boy and help Prissy Polly and Pimply Paul enjoy the best day of their lives. [AD,S]', 'crid://www.itv.com/7412473', '7412473', '2014-01-01T07:05:00+00:00', 900, 1000000, 'f', 484, 8, 11, 'f', '5963819359578460556', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4115, 'Horrid Henry', 'Horrid Henry Tidies Up: Although he''s never been very good at tidying up, Henry finds that there are all sorts of ways to get things done, with a bit of planning! [AD,S]', 'crid://www.itv.com/7394209', '7394209', '2014-01-01T06:50:00+00:00', 900, 1000000, 'f', 484, 8, 11, 'f', '5963815494107894140', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4116, 'Horrid Henry', 'Horrid Henry and the Cracking Christmas: Henry''s all set to win the Frosty Freeze competition with his snowman - then finds there is more to the competition than he bargained for! [AD,S]', 'crid://www.itv.com/19267748', '19267748', '2013-12-26T07:05:00+00:00', 900, 1000000, 'f', 484, 8, 11, 'f', '5961592848532211235', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4117, 'Horrid Henry', 'Horrid Henry''s Christmas: It is Christmas present list time and a Boom Boom Basher is top of Henry''s list. But he has not reckoned on Stuck Up Steve. [AD,S]', 'crid://www.itv.com/6168570', '6168570', '2013-12-25T07:05:00+00:00', 900, 1000000, 'f', 484, 8, 11, 'f', '5961221763357836801', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4118, 'Horrid Henry', 'Horrid Henry, Here to Entertain You: Horrid Henry and Perfect Peter become entertainers in a desperate attempt to gatecrash Moody Margaret''s party, but will they get away with it? [AD,S]', 'crid://www.itv.com/15681163', '15681163', '2012-12-01T08:15:00+00:00', 900, 1000000, 'f', 485, 8, 11, 'f', '5816887669388846142', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4119, 'Horrid Henry', 'Horrid Henry Gets Spots: Lies and deception are catching and can be fatal - Henry and Ralph have got the disease really badly! [AD,S]', 'crid://www.itv.com/19267726', '19267726', '2011-12-31T09:30:00+00:00', 900, 1000000, 'f', 489, 8, 11, 'f', '5692222378151856006', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4120, 'Horrid Henry', 'Horrid Henry Changes a Nappy: The adventures of a mischievous boy. Henry has to look after Vomiting Vera. [AD,S]', 'crid://www.itv.com/19543122', '19543122', '2011-12-11T09:30:00+00:00', 600, 1000000, 'f', 489, 8, 11, 'f', '5684800674664395271', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4121, 'Horrid Henry', 'Horrid Henry Goes to the Movies: More of the adventures of the mischievous and obnoxious Henry, who doesn''t mean to be horrid - he just can''t help it! [AD,S]', 'crid://www.itv.com/21091284', '21091284', '2011-12-04T09:30:00+00:00', 900, 1000000, 'f', 489, 8, 11, 'f', '5682203078443774453', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4122, 'Horrid Henry', 'Horrid Henry and the Killer Boy Rats: More adventures of the mischievous anti-hero. When Ed Banger, the lead singer of The Killer Boy Rats, departs, Henry decides to bring him back. [AD,S]', 'crid://www.itv.com/21424996', '21424996', '2011-11-27T09:25:00+00:00', 1200, 1000000, 'f', 489, 8, 11, 'f', '5679604193732964850', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4123, 'Horrid Henry', 'Horrid Henry and the Antique Rogue Show: The antics of the mischievous and obnoxious Henry. Henry discovers that one person''s rubbish is another person''s treasure. [AD,S]', 'crid://www.itv.com/21091248', '21091248', '2011-11-20T09:45:00+00:00', 900, 1000000, 'f', 489, 8, 11, 'f', '5677011751473099218', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4124, 'Horrid Henry', 'Horrid Henry and the Zombie Hamster: Henry''s hamster Fang has disappeared and no-one knows if he''s coming back! [AD,S]', 'crid://www.itv.com/19543182', '19543182', '2011-11-20T09:30:00+00:00', 900, 1000000, 'f', 489, 8, 11, 'f', '5677007886002532817', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4125, 'Horrid Henry', 'Horrid Henry and the Birthday Present: Mum''s birthday is coming up, so rich Aunt Ruby takes Henry, Peter and Stuck-Up Steve shopping - but they''re not the only ones looking for a bargain! [AD,S]', 'crid://www.itv.com/19543169', '19543169', '2011-11-06T09:35:00+00:00', 900, 1000000, 'f', 489, 8, 11, 'f', '5671813982051480012', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4126, 'Horrid Henry', 'Horrid Henry and the Gross Question: The race is on for the answer to the Gross Question - but no one suspects that the answer might lie in the most unexpected place! [AD,S]', 'crid://www.itv.com/19543156', '19543156', '2011-11-06T09:25:00+00:00', 600, 1000000, 'f', 489, 8, 11, 'f', '5671811405071102344', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4127, 'Horrid Henry', 'Horrid Henry Says Goodbye: When Dad announces that his new job means that they are all going to have to move house, Henry decides on a counter campaign. [AD,S]', 'crid://www.itv.com/19543144', '19543144', '2011-10-30T09:30:00+00:00', 900, 1000000, 'f', 489, 8, 11, 'f', '5669215097340656839', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4128, 'Horrid Henry', 'Horrid Henry Gone Fishing: CITV. Henry and Dad find themselves on a fishing trip together, which is better than being on a shopping trip - or so they think! [AD,S]', 'crid://www.itv.com/16343605', '16343605', '2011-04-30T07:55:00+01:00', 900, 1000000, 'f', 489, 8, 11, 'f', '5601251105352029391', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4129, 'Horrid Henry', 'Horrid Henry''s Smelly Stuff: CITV. When Henry accidentally breaks Mum''s perfume bottle he''s got to replace it, and fast. But how is he going to manage it without Mum knowing? [AD,S]', 'crid://www.itv.com/16343591', '16343591', '2011-04-23T07:55:00+01:00', 900, 1000000, 'f', 489, 8, 11, 'f', '5598653509131408260', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4130, 'Horrid Henry', 'Perfect Peter Popstar: CITV. Peter is a sure bet to win the talent competition with Henry as his manager - but will an ambitious Moody Margaret ruin his chances? [AD,S]', 'crid://www.itv.com/16343577', '16343577', '2011-04-16T07:55:00+01:00', 900, 1000000, 'f', 489, 8, 11, 'f', '5596055912910787054', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4131, 'Horrid Henry', 'Horrid Henry and the Best Boys Club Sleepover: CITV. When Peter has a sleepover, Henry decides if you can''t beat them, then you just have to join them. [AD,S]', 'crid://www.itv.com/14580927', '14580927', '2011-04-09T07:55:00+01:00', 900, 1000000, 'f', 489, 8, 11, 'f', '5593458316690165945', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4132, 'Horrid Henry', 'Horrid Henry''s Favourite Day: It''s Be Nice to Your Brother Day and Henry''s got the chance to win a Gross DVD if he can be nice to Peter all day. How hard can that be? [AD,S]', 'crid://www.itv.com/14580891', '14580891', '2011-04-02T07:55:00+01:00', 900, 1000000, 'f', 489, 8, 11, 'f', '5590860720469544799', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4133, 'Horrid Henry', 'Horrid Henry Takes a Shortcut: If in doubt take a shortcut! But Henry and Ralph discover that it won''t always get you there quicker! [AD,S]', 'crid://www.itv.com/19267810', '19267810', '2011-03-05T07:55:00+00:00', 900, 1000000, 'f', 489, 8, 11, 'f', '5580501259351591273', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4134, 'Horrid Henry', 'Horrid Henry Ace Reporter: Henry is horrid - his family, teachers, neighbours and relatives all say so. Margaret becomes the Magazine Queen, so Henry and William find a scoop. [AD,S]', 'crid://www.itv.com/21091236', '21091236', '2011-01-23T08:20:00+00:00', 600, 1000000, 'f', 491, 8, 11, 'f', '5565293209653182865', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4135, 'Horrid Henry', 'Horrid Henry''s Haircut: Henry gets a haircut - at least that''s Mum''s plan. [AD,S]', 'crid://www.itv.com/19671576', '19671576', '2011-01-22T08:20:00+00:00', 600, 1000000, 'f', 491, 8, 11, 'f', '5564922124478808428', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4136, 'Horrid Henry', 'Horrid Henry Takes the Biscuit: Mum''s cookies are a big hit with everyone - including Henry. Now he just has to figure out how to keep the supplies coming - but Peter wants in on the act too! [AD,S]', 'crid://www.itv.com/19671452', '19671452', '2011-01-16T08:30:00+00:00', 900, 1000000, 'f', 491, 8, 11, 'f', '5562698190412939612', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4137, 'Horrid Henry', 'Horrid Henry on Trial: When Peter is rewarded for something that Henry has done, Henry decides to make sure that justice is done. [AD,S]', 'crid://www.itv.com/19122703', '19122703', '2011-01-16T08:20:00+00:00', 600, 1000000, 'f', 491, 8, 11, 'f', '5562695613432561737', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4138, 'Horrid Henry', 'Horrid Henry, When I''m King: Henry''s always imagining what life would be like if he became King - and this is his chance to find out! [AD,S]', 'crid://www.itv.com/19468422', '19468422', '2011-01-15T08:20:00+00:00', 600, 1000000, 'f', 491, 8, 11, 'f', '5562324528258187299', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4139, 'Horrid Henry', 'Horrid Henry''s Summer Camp: Henry and Peter are off to summer camp - but it''s not going to be a holiday by any means! [AD,S]', 'crid://www.itv.com/19467119', '19467119', '2011-01-09T08:20:00+00:00', 900, 1000000, 'f', 491, 8, 11, 'f', '5560098017211940611', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4140, 'Horrid Henry', 'Horrid Henry and the Green Machine: The family decide to go green - but not if Henry has anything to do with it! [AD,S]', 'crid://www.itv.com/19122683', '19122683', '2011-01-08T08:20:00+00:00', 900, 1000000, 'f', 491, 8, 11, 'f', '5559726932037566171', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4141, 'Horrid Henry', 'Horrid Henry and the Go Kart: The antics of the mischievous and obnoxious Henry. Dad and Henry are building a go kart, and it is going to be the biggest and the best you have ever seen! [AD,S]', 'crid://www.itv.com/21091272', '21091272', '2011-01-02T08:20:00+00:00', 900, 1000000, 'f', 491, 8, 11, 'f', '5557500420991319720', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4142, 'Horrid Henry', 'Horrid Henry, Untouchable: CITV. When Henry sees Miss B and Soggy Sid in a compromising situation he realises he could turn it to his advantage - or can he? [AD,S]', 'crid://www.itv.com/19122665', '19122665', '2011-01-01T07:25:00+00:00', 900, 1000000, 'f', 491, 8, 11, 'f', '5557115162424868243', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4143, 'Horrid Henry', 'Horrid Henry Gets Married: In which Horrid Henry gets married - or does he? [AD,S]', 'crid://www.itv.com/19122641', '19122641', '2010-12-25T07:45:00+00:00', 1200, 1000000, 'f', 491, 8, 11, 'f', '5554522720165002609', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4144, 'Horrid Henry', 'Horrid Henry''s Fun Run: CITV. Horrid Henry exercising - for fun?! Now there''s a thought! [AD,S]', 'crid://www.itv.com/18088932', '18088932', '2010-12-18T08:15:00+00:00', 600, 1000000, 'f', 491, 8, 11, 'f', '5551932854885514628', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4145, 'Horrid Henry', 'Horrid Henry and the Walking Stick Gang: Henry discovers that old age is no excuse for good behaviour! [AD,S]', 'crid://www.itv.com/19122619', '19122619', '2010-12-18T08:05:00+00:00', 600, 1000000, 'f', 491, 8, 11, 'f', '5551930277905137027', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4146, 'Horrid Henry', 'Perfect Peter''s Revenge: Henry''s been horrid for the very last time, as Perfect Peter decides to plot his revenge with the help of the Best Boys Club. [AD,S]', 'crid://www.itv.com/7543591', '7543591', '2010-12-11T08:05:00+00:00', 1200, 1000000, 'f', 491, 8, 11, 'f', '5549332681684515549', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4147, 'Horrid Henry', 'Happy Birthday Peter: Henry and Ralph help out with the magic show at Peter''s birthday party, with disastrous consequences! [AD,S]', 'crid://www.itv.com/7543586', '7543586', '2010-12-04T08:05:00+00:00', 1200, 1000000, 'f', 491, 8, 11, 'f', '5546735085463894736', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4148, 'Horrid Henry', 'Horrid Henry''s Holiday: CITV. Henry''s idea of a real holiday isn''t the same as Mum and Dad''s, until disaster strikes. [AD,S]', 'crid://www.itv.com/7543581', '7543581', '2010-11-27T08:05:00+00:00', 1200, 1000000, 'f', 491, 8, 11, 'f', '5544137489243273921', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4149, 'Horrid Henry', 'Horrid Henry''s School Trip: CITV. Henry looks forward to a school trip to the ice cream factory, and is disappointed when the class goes to a museum instead - but not for long! [AD,S]', 'crid://www.itv.com/7543576', '7543576', '2010-11-20T08:05:00+00:00', 1200, 1000000, 'f', 491, 8, 11, 'f', '5541539893022653114', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4150, 'Horrid Henry', 'Adventures of a mischievous boy. [S]', 'crid://www.itv.com/6150993', '6150993', '2010-09-05T08:15:00+01:00', 900, 1000000, 'f', 491, 8, 11, 'f', '5513309072986064981', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4151, 'Horrid Henry', 'Horrid Henry Cooks a Meal: When Prissy Polly comes to babysit, Henry finds himself in the kitchen - but will his cooking be good enough to eat? [S]', 'crid://www.itv.com/18088956', '18088956', '2009-12-13T09:50:00+00:00', 900, 1000000, 'f', 494, 8, 11, 'f', '5414655821680554846', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4152, 'Horrid Henry', 'Horrid Henry, Happy Family: Who would have thought that Mum, Dad, Peter and Henry could ever be the Happiest Family in Britain? [S]', 'crid://www.itv.com/18088904', '18088904', '2009-12-12T09:25:00+00:00', 900, 1000000, 'f', 494, 8, 11, 'f', '5414278294055230975', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4153, 'Horrid Henry', 'Horrid Henry''s House Party: CITV. Great Aunt Greta comes to look after the boys, so naturally Henry takes advantage of the situation! [S]', 'crid://www.itv.com/18088878', '18088878', '2009-12-06T09:50:00+00:00', 900, 1000000, 'f', 494, 8, 11, 'f', '5412058225459934030', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4154, 'Horrid Henry', 'Horrid Henry on TV: CITV. When the makers of Kidswap come to town, Henry thinks the idea of swapping parents is a great one - but he soon learns how wrong he is! [S]', 'crid://www.itv.com/18088856', '18088856', '2009-12-05T09:40:00+00:00', 900, 1000000, 'f', 494, 8, 11, 'f', '5411684563305175165', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4155, 'Horrid Henry', 'Horrid Henry and the School Uniform: When Henry learns that a school uniform is being introduced to his school, he determines not to let it happen - but how is he going to stop it? [S]', 'crid://www.itv.com/19662572', '19662572', '2009-12-05T09:25:00+00:00', 900, 1000000, 'f', 494, 8, 11, 'f', '5411680697834608764', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4156, 'Horrid Henry', 'Horrid Henry and the Ice Cream Dream: CITV. Henry cannot imagine a world without ice cream, so he tries to make sure that it will never happen! [S]', 'crid://www.itv.com/17992190', '17992190', '2009-11-28T09:25:00+00:00', 900, 1000000, 'f', 494, 8, 11, 'f', '5409083101613986710', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4157, 'Horrid Henry', 'Horrid Henry''s Heist: CITV. When Henry accidentally submits a project at school that could get him grounded for life, the race is on to retrieve it before any real damage is done. [S]', 'crid://www.itv.com/17992162', '17992162', '2009-11-21T09:25:00+00:00', 900, 1000000, 'f', 494, 8, 11, 'f', '5406485505393364698', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4158, 'Horrid Henry', 'Horrid Henry''s Petsitting Service: Henry''s new service to the community - petsitting - comes unstuck when he gets over ambitious. [S]', 'crid://www.itv.com/17992136', '17992136', '2009-11-14T09:25:00+00:00', 900, 1000000, 'f', 494, 8, 11, 'f', '5403887909172742558', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4159, 'Horrid Henry', 'Perfect Peter Pumps Up: When Bossy Bill turns up to make Peter''s life a misery, Henry decides to step in and play big brother for real. [S]', 'crid://www.itv.com/17992108', '17992108', '2009-11-07T09:25:00+00:00', 900, 1000000, 'f', 494, 8, 11, 'f', '5401290312952120453', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4160, 'Horrid Henry', 'Horrid Henry and the Alien Invasion: CITV. When Moody Margaret starts being nice to Henry, there can only be one explanation - she''s been taken over by aliens! [S].', 'crid://www.itv.com/16343563', '16343563', '2009-10-03T09:25:00+01:00', 900, 1000000, 'f', 494, 8, 11, 'f', '5388271408084517662', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4161, 'Horrid Henry', 'Horrid Henry and the Secret Surprise: CITV. Mum, Dad and Peter are being very secretive - could they have something very special planned? Henry certainly thinks so! [S].', 'crid://www.itv.com/15590146', '15590146', '2009-09-26T09:25:00+01:00', 900, 1000000, 'f', 494, 8, 11, 'f', '5385673811863895629', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4162, 'Horrid Henry', 'Horrid Henry and the Big Dig: CITV. Mum decides to extend her veg patch which means requisitioning Henry''s fort - how is Henry going to persuade her to give up her plans? [S].', 'crid://www.itv.com/15542024', '15542024', '2009-09-19T09:25:00+01:00', 900, 1000000, 'f', 494, 8, 11, 'f', '5383076215643273557', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4163, 'Horrid Henry', 'Horrid Henry and the Gross DVD: When Ralph lends Henry the yuckiest DVD ever Henry wants to watch it right away, but try as he might he just can''t manage it! [S].', 'crid://www.itv.com/15542004', '15542004', '2009-09-12T09:25:00+01:00', 900, 1000000, 'f', 494, 8, 11, 'f', '5380478619422651530', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4164, 'Horrid Henry', 'Horrid Henry and the Name Game: Henry and Peter adopt a cat - or rather, it adopts them - but they just can''t decide what to call it! [S].', 'crid://www.itv.com/15541982', '15541982', '2009-09-05T09:25:00+01:00', 900, 1000000, 'f', 494, 8, 11, 'f', '5377881023202029541', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4165, 'Horrid Henry', 'CITV. Dad encourages Henry to take a Saturday job, but he recruits someone to do it for him. Meanwhile Peter is proving that the early bird catches the worm! [S]', 'crid://www.itv.com/14580963', '14580963', '2009-04-12T09:40:00+01:00', 900, 1000000, 'f', 494, 8, 11, 'f', '5323706453213907100', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4166, 'Horrid Henry', 'CITV. Peter and Henry play at being gardeners, but when nature starts to take over the results are disastrous! [S]', 'crid://www.itv.com/14645230', '14645230', '2009-04-04T09:25:00+01:00', 900, 1000000, 'f', 494, 8, 11, 'f', '5320733906348345779', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4167, 'Horrid Henry', 'Perfect Peter''s perfect pen pal Super Sammy comes to stay, but is he really Super, or just downright Slimy? [S]', 'crid://www.itv.com/14784594', '14784594', '2009-03-29T09:40:00+01:00', 900, 1000000, 'f', 494, 8, 11, 'f', '5318526722654931377', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4168, 'Horrid Henry', 'CITV. Perfect Peter''s perfect pen pal, Super Sammy, comes to stay. But is he really Super - or just downright Slimy? [S]', 'crid://www.itv.com/14645206', '14645206', '2009-03-28T09:25:00+00:00', 900, 1000000, 'f', 494, 8, 11, 'f', '5318167233892256175', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4169, 'Horrid Henry', 'CITV. Steve''s birthday tea just happens to clash with a crucial Ashton Athletic match - how will Henry manage to be at both of these unmissable events? [S]', 'crid://www.itv.com/14580945', '14580945', '2009-03-22T09:40:00+00:00', 900, 1000000, 'f', 494, 8, 11, 'f', '5315944588316576172', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4170, 'Horrid Henry', 'CITV. When Peter arranges a sleepover, Henry decides that if you can''t beat them then you just have to join them. [S]', 'crid://www.itv.com/14784656', '14784656', '2009-03-21T09:25:00+00:00', 900, 1000000, 'f', 494, 8, 11, 'f', '5315569637671635371', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4171, 'Horrid Henry', 'CITV. Henry''s always wanted to play the lead in the school play - now''s his chance. But this time he doesn''t want to be the lead, for good reasons. [S]', 'crid://www.itv.com/14580909', '14580909', '2009-03-15T09:40:00+00:00', 900, 1000000, 'f', 494, 8, 11, 'f', '5313346992095955369', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4172, 'Horrid Henry', 'CITV. There''s not much sleep in store for Henry when New Nick invites him over for a sleepover. [AD,S]', 'crid://www.itv.com/7543570', '7543570', '2008-12-21T05:35:00+00:00', 600, 1000000, 'f', 497, 8, 11, 'f', '5282112701429271687', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4173, 'Horrid Henry', 'CITV. Henry finds himself trapped in the cellar with Peter - surely things couldn''t get any worse - or could they? [AD,S]', 'crid://www.itv.com/7521554', '7521554', '2008-12-20T05:35:00+00:00', 600, 1000000, 'f', 497, 8, 11, 'f', '5281741616254897122', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4174, 'Horrid Henry', 'CITV. Henry will stop at nothing to win a competition, even it means he has to read a book or ten! [AD,S]', 'crid://www.itv.com/7459125', '7459125', '2008-11-15T11:25:00+00:00', 900, 1000000, 'f', 497, 8, 11, 'f', '5268843829465009110', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4175, 'Horrid Henry', 'CITV. Henry would rather do karate than dance class. But Mum cannot persuaded otherwise so Henry must show that karate can be just as beautiful as dancing. [AD,S]', 'crid://www.itv.com/7431420', '7431420', '2008-11-02T10:10:00+00:00', 900, 1000000, 'f', 497, 8, 11, 'f', '5264000394845300780', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4176, 'Horrid Henry', 'CITV. Fishy fun at the aquarium as Dad takes Henry and Peter for a day out. But Henry''s after something else, and the shark''s tale turns into a nightmare! [AD,S]', 'crid://www.itv.com/7374360', '7374360', '2008-09-21T09:25:00+01:00', 900, 1000000, 'f', 497, 8, 11, 'f', '5248372297345344505', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4177, 'Horrid Henry', 'CITV. Henry''s not at all pleased with his homework assignment - then he realises that it gives him a perfect chance to tell it like it is, and he gets stuck in! [AD,S]', 'crid://www.itv.com/7338726', '7338726', '2008-09-20T09:40:00+01:00', 900, 1000000, 'f', 497, 8, 11, 'f', '5248005077641530359', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4178, 'Horrid Henry', 'CITV. Henry thinks it a good idea to take Fang, his hamster, to school for show and tell - but Henry finds out that the master isn''t always in control! [AD,S]', 'crid://www.itv.com/7084608', '7084608', '2008-09-14T09:25:00+01:00', 900, 1000000, 'f', 497, 8, 11, 'f', '5245774701124717030', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4462, 'Big Babies', '13/13. Baby Got Talent: Live action cartoon comedy. Carole takes the babies to rich American Calais Savoy''s house and Calais boasts that she is going to be on Britain''s Quite Talented. [S]', 'crid://fp.bbc.co.uk/SQ2D7', 'SQ2D7', '2010-03-31T16:45:00+01:00', 900, 1000000, 'f', 529, 6, 11, 'f', '5454824503081171253', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4463, 'Big Babies', '12/13. Sleepover: Live action cartoon comedy. When Rocco sleeps over, Brooks dreams of a wonderful world in which everyone thinks he''s fantastic. Rocco gatecrashes the dream. [S]', 'crid://fp.bbc.co.uk/SQ2D9', 'SQ2D9', '2010-03-31T07:45:00+01:00', 900, 1000000, 'f', 529, 6, 11, 'f', '5454685346140780877', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4464, 'Big Babies', '11/13. Beside the Seaside: Live action cartoon comedy. Sharks, sea and sand - Rocco and Brooks are very excited about going to the beach. Budge would like to go too and hitches a ride. [S]', 'crid://fp.bbc.co.uk/SQ2D5', 'SQ2D5', '2010-03-30T16:45:00+01:00', 900, 1000000, 'f', 529, 6, 11, 'f', '5454453417906796811', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4465, 'Big Babies', '10/13. The Race: Live action cartoon comedy. The Gonch challenges Brooks and Rocco to a race in the park. Budge hitches a ride in the babies'' buggy as he wants the ice cream trophy. [S]', 'crid://fp.bbc.co.uk/SQ2D2', 'SQ2D2', '2010-03-30T07:45:00+01:00', 900, 1000000, 'f', 529, 6, 11, 'f', '5454314260966406434', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4466, 'Big Babies', 'DinoDinoDinotown: Live action cartoon comedy. Carole takes Rocco and Brooks to DinoDinoDinotown where they travel back in time to see the dinosaurs. [S]', 'crid://fp.bbc.co.uk/SQ2D8', 'SQ2D8', '2010-03-29T16:45:00+01:00', 900, 1000000, 'f', 529, 6, 11, 'f', '5454082332732422370', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4467, 'Big Babies', '8/13. Arts and Crafts: Live action cartoon comedy. Carole takes Rocco and Brooks to the art gallery to see Biscuit Henge. Where there are biscuits, there must be Budge - and trouble. [S]', 'crid://fp.bbc.co.uk/SQ2D3', 'SQ2D3', '2010-03-25T17:45:00+00:00', 900, 1000000, 'f', 529, 6, 11, 'f', '5452628915799455747', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4468, 'Big Babies', 'Rainy Day: Live action cartoon comedy. The babies watch a scary film on the telly. Budge watches it too and is inspired to build an assistant to help him gather more biscuits. [S]', 'crid://fp.bbc.co.uk/SQ2D4', 'SQ2D4', '2010-03-24T17:45:00+00:00', 900, 1000000, 'f', 529, 6, 11, 'f', '5452257830625081304', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4469, 'Big Babies', 'Birthday: Live action cartoon comedy. It is Brooks'' birthday and he is having a party. But when Budge decides to help Nan with the cake, things don''t go quite according to plan. [S]', 'crid://fp.bbc.co.uk/SQ2D0', 'SQ2D0', '2010-03-23T17:45:00+00:00', 900, 1000000, 'f', 529, 6, 11, 'f', '5451886745450706862', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4470, 'Big Babies', 'Pet Shop: Live action cartoon comedy. Carole takes the babies to the pet shop. Rocco wants a hamster and Brooks wants a talking dog. But the toys on the toy shelf don''t want a pet. [S]', 'crid://fp.bbc.co.uk/SQ2CY', 'SQ2CY', '2010-03-22T17:45:00+00:00', 900, 1000000, 'f', 529, 6, 11, 'f', '5451515660276332421', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4471, 'Big Babies', 'Market: Live action cartoon comedy. Rocco and Brooks go to the market and bump into the Gonch, who teaches them about bargains. Budge wants to go too, but he misses the car. [S]', 'crid://fp.bbc.co.uk/SQ2CX', 'SQ2CX', '2010-03-18T17:45:00+00:00', 900, 1000000, 'f', 529, 6, 11, 'f', '5450031319578834731', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4472, 'Big Babies', 'Visiting Nan: Live action cartoon comedy. The babies visit Brooks'' nan. Brooks doesn''t want to go because he hates old stuff. Budge tags along, but for his own selfish reasons. [S]', 'crid://fp.bbc.co.uk/SQ2D6', 'SQ2D6', '2010-03-17T17:45:00+00:00', 900, 1000000, 'f', 529, 6, 11, 'f', '5449660234404460323', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4473, 'Big Babies', 'Pirates: Live action cartoon comedy. Rocco and Brooks search for chocolate pirate treasure in the park while Budge also seeks out the secret stash of chocolate coins. [S]', 'crid://fp.bbc.co.uk/SQ2CZ', 'SQ2CZ', '2010-03-16T17:45:00+00:00', 900, 1000000, 'f', 529, 6, 11, 'f', '5449289149230085914', 892633, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4474, 'Big Babies', 'Ducks: Live action cartoon comedy. Mum takes Rocco and Brooks to feed the ducks in the park. Home alone, Budge seizes his chance to raid the biscuit tin, causing chaos. [S]', 'crid://fp.bbc.co.uk/SQ2D1', 'SQ2D1', '2010-03-15T17:45:00+00:00', 900, 1000000, 'f', 529, 6, 11, 'f', '5448918064055711507', 558329, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4558, 'Orphan Black', '10/10. By Means Which Have Never Yet Been Tried: The war with Dyad is all but lost when Rachel''s plan forces a broken Sarah to... Contains some violence and some upsetting scenes. Also in HD. [S]', 'crid://fp.bbc.co.uk/4J63J4', '4J63J4', '2014-07-02T22:00:00+01:00', 2700, 1000000, 'f', 538, 4, 1, 'f', '6031572038915774075', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4559, 'Orphan Black', '9/10. Things Which Have Never Yet Been Done: Cosima takes a turn for the worst, forcing Sarah to take desperate action. Contains some sexual content. Also in HD. [S]', 'crid://fp.bbc.co.uk/4J63J3', '4J63J3', '2014-06-25T23:00:00+01:00', 2700, 1000000, 'f', 538, 4, 1, 'f', '6028989904577418238', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4560, 'Orphan Black', 'NEW. 8/10. Variable and Full of Peturbation: A new player in the clone conspiracy turns up at Felix''s door, sending him into a crisis. Contains some upsetting scenes. Also in HD. [S]', 'crid://fp.bbc.co.uk/4J63J2', '4J63J2', '2014-06-18T22:00:00+01:00', 2700, 1000000, 'f', 538, 4, 1, 'f', '6026376846474531154', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4561, 'Orphan Black', '7/10. Knowledge of Causes, and Secret Motion of Things: A rehab confidante betrays Alison and threatens to expose the truth about Aynsley''s death. Contains some upsetting scenes. Also in HD. [S]', 'crid://fp.bbc.co.uk/4J63J1', '4J63J1', '2014-06-11T22:00:00+01:00', 2700, 1000000, 'f', 538, 4, 1, 'f', '6023779250253909691', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4562, 'Orphan Black', '6/10. To Hound Nature in Her Wandering: Sci-fi drama series. Sarah follows clues that she hopes will lead her to the origins of the experiment. Contains some violence. Also in HD. [S]', 'crid://fp.bbc.co.uk/4J63J0', '4J63J0', '2014-06-04T22:00:00+01:00', 2700, 1000000, 'f', 538, 4, 1, 'f', '6021181654033288224', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4563, 'Orphan Black', '5/10. Ipsa Scientia Potestas Est: Sci-fi drama series. Rachel goes on the warpath and lashes out at Sarah''s loved ones. Contains some sexual content. Also in HD. [S]', 'crid://fp.bbc.co.uk/4J63IZ', '4J63IZ', '2014-05-28T22:00:00+01:00', 2700, 1000000, 'f', 538, 4, 1, 'f', '6018584057812666729', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4564, 'Orphan Black', '4/10. Governed as It Were by Chance: Sci-fi drama series. With Cosima''s help, Sarah digs into the origins of the clone experiment. Contains some violence. Also in HD. [S]', 'crid://fp.bbc.co.uk/4J63IY', '4J63IY', '2014-05-21T22:00:00+01:00', 2700, 1000000, 'f', 538, 4, 1, 'f', '6015986461592045313', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4565, 'Orphan Black', '3/10. Distempers of Learning: After hitting the road with Felix, Sarah is forced to turn to an old flame from her past. Contains some violence. Also in HD. [S]', 'crid://fp.bbc.co.uk/4J63IX', '4J63IX', '2014-05-14T22:00:00+01:00', 2700, 1000000, 'f', 538, 4, 1, 'f', '6013388865371423840', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4566, 'Orphan Black', '2/10. Governed by Sound Reason and True Religion: Sarah enlists Art''s help to find Kira and is shocked when learning where the trail leads. Contains prolonged violence. Also in HD. [S]', 'crid://fp.bbc.co.uk/4J63IW', '4J63IW', '2014-05-07T22:00:00+01:00', 2400, 1000000, 'f', 538, 4, 1, 'f', '6010791269150802373', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4567, 'Orphan Black', 'New series. 1/10. Nature under Constraint and Vexed: Sarah is pursued by deadly adversaries and desperate to find her daughter Kira. Contains some violence. Also in HD. [S]', 'crid://fp.bbc.co.uk/4J63IV', '4J63IV', '2014-04-30T22:00:00+01:00', 2700, 1000000, 'f', 538, 4, 1, 'f', '6008193672930181265', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4568, 'Orphan Black', '10/10. Endless Forms Most Beautiful: Art''s intervention to get answers ruins Sarah''s chance to bring Helena back to sanity. Contains some violence and some upsetting scenes. [S]', 'crid://fp.bbc.co.uk/4J63DU', '4J63DU', '2013-11-01T21:45:00+00:00', 2700, 1000000, 'f', 539, 4, 1, 'f', '5941409937954501991', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4569, 'Orphan Black', '9/10. Unconscious Selection: Sci-fi drama series. Dr Leekie gives Sarah pause for thought about seeking revenge, and Cosima realises the truth about Delphine. Contains some upsetting scenes. [S]', 'crid://fp.bbc.co.uk/4J63DT', '4J63DT', '2013-11-01T21:00:00+00:00', 2700, 1000000, 'f', 539, 4, 1, 'f', '5941398341542802790', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4570, 'Orphan Black', '8/10. Entangled Bank: The Orphans are pitted against each other as Sarah plans what to do next. Contains some upsetting scenes, some upsetting scenes and moderate violence. [S]', 'crid://fp.bbc.co.uk/4J63DS', '4J63DS', '2013-10-25T21:45:00+01:00', 2700, 1000000, 'f', 539, 4, 1, 'f', '5938796879851615168', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4571, 'Orphan Black', '7/10. Parts Developed in an Unusual Manner: Paul goes missing, which compels Sarah to tackle the conspiracy herself. Contains some violence and some upsetting scenes. [S]', 'crid://fp.bbc.co.uk/4J63DR', '4J63DR', '2013-10-25T21:00:00+01:00', 2700, 1000000, 'f', 539, 4, 1, 'f', '5938785283439915594', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4572, 'Orphan Black', '6/10. Variations under Domestication: Sarah has to decide who to entrust with her secret after the separate worlds of Sarah, Alison and Beth collide. Contains moderate violence. [S]', 'crid://fp.bbc.co.uk/4J63DQ', '4J63DQ', '2013-10-18T21:00:00+01:00', 2700, 1000000, 'f', 539, 4, 1, 'f', '5936187687219294305', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4573, 'Orphan Black', '5/10. Conditions of Existence: Sci-fi drama series. Sarah is suspicious of Paul when evidence suggests the Orphans are part of an ongoing experiment. Contains moderate violence. [S]', 'crid://fp.bbc.co.uk/4J63DP', '4J63DP', '2013-10-11T21:00:00+01:00', 2700, 1000000, 'f', 539, 4, 1, 'f', '5933590090998672992', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4574, 'Orphan Black', '4/10. Effects of External Conditions: Sarah realises that the survival of the Orphans will take more than police work. Contains some upsetting scenes. [S]', 'crid://fp.bbc.co.uk/4J63DO', '4J63DO', '2013-10-04T21:00:00+01:00', 2700, 1000000, 'f', 539, 4, 1, 'f', '5930992494778051664', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4575, 'Orphan Black', '3/10. Variation under Nature: Sci-fi. After learning she''s a clone, Sarah''s intention is to leave, but that changes when a body is found and Beth gets the case. Contains some upsetting scenes. [S]', 'crid://fp.bbc.co.uk/4J63DN', '4J63DN', '2013-09-27T21:00:00+01:00', 2700, 1000000, 'f', 539, 4, 1, 'f', '5928394898557430373', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4576, 'Orphan Black', '2/10. Instinct: Sci-fi drama series. With nowhere to turn, Sarah must continue posing as Beth. A killer pursues her and she must find another identical named Alison. Contains adult themes. [S]', 'crid://fp.bbc.co.uk/4J63DM', '4J63DM', '2013-09-20T21:45:00+01:00', 2700, 1000000, 'f', 539, 4, 1, 'f', '5925808898748508474', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4577, 'Orphan Black', 'New series. 1/10. Natural Selection: Sarah takes the identity of a woman who looks just like her after witnessing her suicide. Contains some sexual content and some upsetting scenes. [S]', 'crid://fp.bbc.co.uk/4J63DL', '4J63DL', '2013-09-20T21:00:00+01:00', 2700, 1000000, 'f', 539, 4, 1, 'f', '5925797302336809273', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4578, 'Torchwood', '6/13. Countrycide: Sci-fi and crime drama series centred around the Torchwood Institute. The team investigate some gruesome deaths in the Brecon Beacons, and confront a terrifying enemy.', 'crid://fp.bbc.co.uk/54BW0H', '54BW0H', '2007-10-19T21:00:00+01:00', 3000, 1000000, 'f', 456, 4, 1, 'f', '6031572038915774075', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4579, 'Torchwood: Children of Earth', 'Day Five: Torchwood is defenceless, and Gwen Cooper stands alone. As anarchy prevails, a council estate is the battleground for the future of the human race. Contains adult themes. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTW5N', '1FTW5N', '2009-07-10T21:00:00+01:00', 3600, 1000000, 'f', 541, 1, 1, 'f', '5356908268130450421', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4580, 'Torchwood: Children of Earth', 'Day Four: Torchwood learns the truth about 1965, as the Ambassador reveals its true intent. Contains adult themes. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTW5M', '1FTW5M', '2009-07-09T21:00:00+01:00', 3600, 1000000, 'f', 541, 1, 1, 'f', '5356537182956076020', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4581, 'Torchwood: Children of Earth', 'Day Three: The eyes of the world turn to Britain, as the 456 announce, ''We are here''. Contains language which may offend. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTW5L', '1FTW5L', '2009-07-08T21:00:00+01:00', 3600, 1000000, 'f', 541, 1, 1, 'f', '5356166097781701617', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4582, 'Torchwood: Children of Earth', 'Day Two: Torchwood are forced underground. Only Lois can save the team - but she is helpless as her superiors make plans for Floor 13. Contains language which may offend. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTW5K', '1FTW5K', '2009-07-07T21:00:00+01:00', 3600, 1000000, 'f', 541, 1, 1, 'f', '5355795012607327210', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4583, 'Torchwood: Children of Earth', 'New series. Day One: When every single child on Earth stops, Torchwood is thrown into a world of terror. Contains language which may offend. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTW5J', '1FTW5J', '2009-07-06T21:00:00+01:00', 3600, 1000000, 'f', 541, 1, 1, 'f', '5355423927432950406', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4584, 'Torchwood: Miracle Day', '10/10. The Torchwood team is on a final mission - but the Three Families are unstoppable, unless a terrible sacrifice is made. Contains some strong language and some violence. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FH746', '1FH746', '2011-09-15T21:00:00+01:00', 3600, 1000000, 'f', 542, 1, 1, 'f', '5652663152106857610', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4585, 'Torchwood: Miracle Day', '9/10. Sci-fi drama. As the Three Families plunge the world into recession, the Torchwood team must strike a bargain with the devil himself. Contains adult themes. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FH745', '1FH745', '2011-09-08T21:00:00+01:00', 3600, 1000000, 'f', 542, 1, 1, 'f', '5650065555886233647', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4586, 'Torchwood: Miracle Day', '8/10. Captain Jack faces a showdown with a man he thought long since dead. Rex takes extreme action; is it too late to prevent the collapse of society? Contains adult themes. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FH744', '1FH744', '2011-09-01T21:00:00+01:00', 3600, 1000000, 'f', 542, 1, 1, 'f', '5647467959665611484', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4587, 'Torchwood: Miracle Day', '7/10. Gwen must fight to protect her family, and takes a terrifying journey covering both miles and decades as the long history of the Miracle is revealed. Contains some violence. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FH743', '1FH743', '2011-08-25T21:00:00+01:00', 3600, 1000000, 'f', 542, 1, 1, 'f', '5644870363444988516', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4588, 'Torchwood: Miracle Day', '6/10. Jack faces a race against time as he goes straight to the heart of the conspiracy. Contains some upsetting scenes. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FH742', '1FH742', '2011-08-18T21:00:00+01:00', 3600, 1000000, 'f', 542, 1, 1, 'f', '5642272767224365599', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4589, 'Torchwood: Miracle Day', '5/10. Torchwood goes undercover and discovers the terrible truth behind the Miracle. Contains adult themes. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FH741', '1FH741', '2011-08-11T21:00:00+01:00', 3600, 1000000, 'f', 542, 1, 1, 'f', '5639675171003742591', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4590, 'Torchwood: Miracle Day', '4/10. The fight against PhiCorp takes the Torchwood team to California. Contains some upsetting scenes. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FH740', '1FH740', '2011-08-04T21:00:00+01:00', 3600, 1000000, 'f', 542, 1, 1, 'f', '5637077574783118708', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4591, 'Torchwood: Miracle Day', '3/10. Torchwood goes on the run, and Jack must confront the mysterious Oswald Danes. Contains some sexual content. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FH73Z', '1FH73Z', '2011-07-28T21:00:00+01:00', 3600, 1000000, 'f', 542, 1, 1, 'f', '5634479978562496441', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4592, 'Torchwood: Miracle Day', '2/10. As the Torchwood team is reunited, Jack realises he is the most vulnerable man on Earth. Contains some violence and some upsetting scenes. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FH73Y', '1FH73Y', '2011-07-21T21:00:00+01:00', 3600, 1000000, 'f', 542, 1, 1, 'f', '5631882382341873247', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4593, 'Torchwood: Miracle Day', 'New series. 1/10. When death itself comes to a halt, the whole world faces its greatest danger yet. Contains some upsetting scenes. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FH73X', '1FH73X', '2011-07-14T21:00:00+01:00', 3600, 1000000, 'f', 542, 1, 1, 'f', '5629284786121251694', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4627, 'Homeland', 'Long Time Coming: In the last episode of season four of the compelling and contemporary US thriller, once back in the United States, Carrie and Saul investigate what she saw in Islamabad. [AD,S]', 'crid://www.channel4.com/59424/012', '59424-012', '2015-09-24T02:10:00+01:00', 3900, 1000000, 'f', 777, 13, 2, 'f', '6197882621817171185', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4628, 'Homeland', 'Halfway to a Donut: As the US thriller continues, Carrie organises a last-ditch operation, while Lockhart and Martha do their utmost to stall Inter-Services Intelligence. (S4 Ep8/12) [AD,S]', 'crid://www.channel4.com/59424/008', '59424-008', '2015-09-16T02:15:00+01:00', 3600, 1000000, 'f', 777, 13, 2, 'f', '6194915228912364539', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4629, 'Homeland', 'Redux: As the compelling and contemporary US thriller continues, CIA director Andrew Lockhart arrives just as Carrie''s investigation is growing more complicated. (S4 Ep7/12) [AD,S]', 'crid://www.channel4.com/59424/007', '59424-007', '2015-09-10T02:15:00+01:00', 3900, 1000000, 'f', 777, 13, 2, 'f', '6192688717866117914', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4630, 'Homeland', 'From A to B and Back Again: Carrie challenges Fara to show more commitment to their work. Carrie puts her operation in motion but there''s a shock in store. (S4 Ep6/12) [AD,S]', 'crid://www.channel4.com/59424/006', '59424-006', '2015-09-09T02:15:00+01:00', 3600, 1000000, 'f', 777, 13, 2, 'f', '6192317632691743492', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4631, 'Homeland', 'About a Boy: Carrie tries to earn the trust of a frightened asset. Leaving town, Saul catches a break when he spots a familiar face. Quinn and Fara stake out a new suspect. (S4 Ep5/12) [AD,S]', 'crid://www.channel4.com/59424/005', '59424-005', '2015-09-05T02:25:00+01:00', 3600, 1000000, 'f', 777, 13, 2, 'f', '6190835868974623352', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4632, 'Homeland', 'Iron in the Fire: Carrie gets a tip from Redmond regarding Quinn''s lead, Saul asks an old friend in the Pakistani military a favour, and Fara uncovers a deep-rooted conspiracy. (S4 Ep4/12) [AD,S]', 'crid://www.channel4.com/59424/004', '59424-004', '2015-09-04T02:30:00+01:00', 3600, 1000000, 'f', 777, 13, 2, 'f', '6190466072290437732', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4633, 'Homeland', 'Shalwar Kameez: Carrie ventures to create a delicate alliance, while Fara fails to recruit a key asset. Reeling over events in Islamabad, Quinn zeroes in on a potential lead. (S4 Ep3/12) [AD,S]', 'crid://www.channel4.com/59424/003', '59424-003', '2015-09-03T02:10:00+01:00', 3900, 1000000, 'f', 777, 13, 2, 'f', '6190089833155308112', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4634, 'Homeland', 'Trylon and Perisphere: An official inquiry brings Carrie back to the US, Quinn spirals out of control, and a disgraced former case officer reveals disturbing new information. (S4 Ep2/12) [AD,S]', 'crid://www.channel4.com/59424/002', '59424-002', '2015-09-02T02:10:00+01:00', 3900, 1000000, 'f', 777, 13, 2, 'f', '6189718747980933689', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4635, 'Homeland', 'Krieg Nicht Lieb: In the penultimate episode of the compelling and contemporary US thriller, Carrie is forced to put her life on the line in order to get her team out of Pakistan. [AD,S]', 'crid://www.channel4.com/59424/011', '59424-011', '2015-09-23T02:15:00+01:00', 3600, 1000000, 'f', 777, 13, 2, 'f', '6197512825132985565', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4636, 'Homeland', 'The Drone Queen: US thriller series. As CIA Chief of Station in Kabul, Carrie makes a critical decision. Back in the USA, Saul struggles to adjust to his new role. (S4 Ep1/12) [AD,S]', 'crid://www.channel4.com/59424/001', '59424-001', '2015-09-01T02:10:00+01:00', 4200, 1000000, 'f', 777, 13, 2, 'f', '6189347662806552172', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4637, 'Homeland', '13 Hours in Islamabad: As the compelling and contemporary US thriller continues, the security breach at the embassy has a number of far-reaching consequences. (S4 Ep10/12) [AD,S]', 'crid://www.channel4.com/59424/010', '59424-010', '2015-09-18T02:15:00+01:00', 3600, 1000000, 'f', 777, 13, 2, 'f', '6195657399261113381', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4638, 'Homeland', 'There''s Something Else Going On: As the US thriller continues, Carrie is forced to improvise in order to salvage her mission, while the CIA swiftly closes in on a leak. (S4 Ep9/12) [AD,S]', 'crid://www.channel4.com/59424/009', '59424-009', '2015-09-17T02:15:00+01:00', 3600, 1000000, 'f', 777, 13, 2, 'f', '6195286314086738960', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4639, 'Lewis', 'Old School Ties: When an ambitious Oxford student is found dead in her hotel room after inviting a reformed computer hacker to speak at the Union, Lewis and Hathaway investigate. [AD,S]', 'crid://www.itv.com/6396155', '6396155', '2015-09-25T10:55:00+01:00', 7500, 1000000, 'f', 763, 10, 2, 'f', '6198388998959801097', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4640, 'Lewis', 'Music to Die For: Lewis and Hathaway investigate a link between the murder of a professor of German history and the recent winner of a local underground boxing bout. [AD,S]', 'crid://www.itv.com/8405581', '8405581', '2015-10-31T22:00:00+00:00', 7500, 1000000, 'f', 798, 10, 2, 'f', '6211934896314656013', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4641, 'Lewis', 'And the Moonbeams Kiss the Sea: When a man is found dead at the Bodleian Library, Lewis investigates a link between the death and an intruder on a local professor''s property. [AD,S]', 'crid://www.itv.com/8363572', '8363572', '2015-10-24T22:00:00+01:00', 7200, 1000000, 'f', 798, 10, 2, 'f', '6209321838211769445', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4642, 'Lewis', 'Expiation: When an Oxford housewife is found hanged in her home, Lewis and Hathaway unearth a far darker case than the initial suicide verdict suggests. [AD,S]', 'crid://www.itv.com/6404632', '6404632', '2015-10-17T22:00:00+01:00', 7200, 1000000, 'f', 791, 10, 2, 'f', '6206724241991147837', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4643, 'Lewis', 'The Quality of Mercy: When Lewis and Hathaway are called in to investigate the murder of a rising Oxford theatre star, they focus their suspicions on his acting colleagues. [AD,S]', 'crid://www.itv.com/15284307', '15284307', '2014-09-14T18:55:00+01:00', 7500, 1000000, 'f', 559, 10, 2, 'f', '6058984668453169582', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4644, 'Lewis', 'Allegory of Love: Detective drama. Lewis investigates the murder of a beautiful young Eastern European woman whose death comes straight from the pages of a popular fantasy novel. [AD,S]', 'crid://www.itv.com/15167364', '15167364', '2015-09-26T00:15:00+01:00', 6000, 1000000, 'f', 763, 10, 2, 'f', '6198595157390009101', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4645, 'Lewis', 'The Point of Vanishing: When religious fanatic Steven Mullan is murdered, Lewis investigates celebrity atheist Tom Rattenbury and his family, who had been attacked by Mullan. [AD,S]', 'crid://www.itv.com/15433907', '15433907', '2015-09-06T14:25:00+01:00', 7800, 1000000, 'f', 763, 10, 2, 'f', '6191392497234616152', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4646, 'Lewis', 'Counter Culture Blues: When Lewis and Hathaway investigate a murder in town, forensic evidence leads them to suspect there is a connection with the reforming of an old rock band. [AD,S]', 'crid://www.itv.com/15587773', '15587773', '2015-09-02T20:00:00+01:00', 7200, 1000000, 'f', 763, 10, 2, 'f', '6189994485379767662', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4647, 'Lewis', 'Beyond Good and Evil (Part 2): Police drama. As Maddox''s life hangs by a thread, can Lewis and Hathaway put aside their differences and become as good a team as they once were? [AD,S]', 'crid://www.itv.com/133902618', '133902618', '2014-11-14T21:00:00+00:00', 3600, 1000000, 'f', 558, 8, 2, 'f', '6081668537716665223', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4648, 'Lewis', 'Beyond Good and Evil (Part 1): As Lewis learns that a serial killer he arrested 13 years ago may be released on appeal, Hathaway and Maddox investigate the killing of a policeman. [AD,S]', 'crid://www.itv.com/133382226', '133382226', '2014-11-07T21:00:00+00:00', 3600, 1000000, 'f', 315, 8, 2, 'f', '6079070941496040762', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4649, 'Lewis', 'The Lions of Nemea (Part 2): Crime drama series. While Lewis attempts to discern the logic behind two murders, DI Hathaway is convinced the solution to the mystery lies in the stars. [AD,S]', 'crid://www.itv.com/132738318', '132738318', '2014-10-31T21:00:00+00:00', 3600, 1000000, 'f', 315, 8, 2, 'f', '6076473345275417531', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4650, 'Lewis', 'The Lions of Nemea (Part 1): When a classics scholar is stabbed to death and dumped in the Oxford Canal, Lewis, Hathaway and Maddox find themselves sorely tested by a bizarre case. [AD,S]', 'crid://www.itv.com/132108039', '132108039', '2014-10-24T21:00:00+01:00', 3600, 1000000, 'f', 315, 8, 2, 'f', '6073860287172528312', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4651, 'Lewis', 'Entry Wounds (Part 2): Crime drama series. Hathaway''s murder theory has fallen apart. It might take Lewis''s insight to close the case - but will his former protege listen? [AD,S]', 'crid://www.itv.com/131568570', '131568570', '2014-10-17T21:00:00+01:00', 3600, 1000000, 'f', 315, 8, 2, 'f', '6071262690951894861', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4712, 'Doctor Who', 'Part 1: Warriors'' Gate: The TARDIS is drawn into an empty white void, somewhere between universes. But they are not the only ones trapped there.', 'crid://fp.bbc.co.uk/WG01', 'WG01', '1981-01-03T17:20:00+00:00', 1500, 1000000, 'f', 579, 1, 1, 'f', NULL, 0, 'f', 'gomes', 0); +INSERT INTO "programmes" VALUES(4713, 'Doctor Who', 'Part 2: Warriors'' Gate: When Rorvik learns that Romana is a time sensitive, he takes her prisoner, forcing her to find a way out of the void. The Doctor attempts to discover what lies beyond the mirror.', 'crid://fp.bbc.co.uk/WG01', 'WG02', '1981-01-10T17:10:00+00:00', 1500, 1000000, 'f', 579, 1, 1, 'f', NULL, 0, 'f', 'gomes', 0); +INSERT INTO "programmes" VALUES(4714, 'Doctor Who', 'Part 3: Warriors'' Gate: As the void begins to shrink around them, Rorvik plans to take desperate measures to escape through the mirror. The Doctor discovers the dark secret of the Tharils'' past.', 'crid://fp.bbc.co.uk/WG01', 'WG03', '1981-01-17T17:10:00+00:00', 1500, 1000000, 'f', 579, 1, 1, 'f', NULL, 80834, 'f', 'gomes', 0); +INSERT INTO "programmes" VALUES(4715, 'Doctor Who', 'Part 4: Warriors'' Gate: With the void collapsing around them, time is running out. Rorvik ignores the Doctor''s warnings and takes a desperate gamble which could have fatal consequences.', 'crid://fp.bbc.co.uk/WG01', 'WG04', '1981-01-24T17:10:00+00:00', 1500, 1000000, 'f', 579, 1, 1, 'f', NULL, 0, 'f', 'gomes', 0); +INSERT INTO "programmes" VALUES(4745, 'Jonathan Strange & Mr Norrell', '5/7. Arabella: Strange returns from Waterloo hoping for a peaceful new life, but the Gentleman''s scheme for revenge wrecks all of his and Arabella''s plans. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTWXZ', '1FTWXZ', '2015-06-14T21:00:00+01:00', 3600, 1000000, 'f', 591, 1, 1, 'f', '6160323132533280203', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4746, 'Jonathan Strange & Mr Norrell', '4/7. All the Mirrors of the World: Norrell''s refusal to let Strange study ancient magic causes a split between them. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTWXY', '1FTWXY', '2015-06-07T21:00:00+01:00', 3600, 1000000, 'f', 591, 1, 1, 'f', '6157725536312688171', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4747, 'Jonathan Strange & Mr Norrell', '3/7. The Education of a Magician: Historical fantasy drama. Jonathan Strange accesses ancient and troubling magic as he fights the Napoleonic armies. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTWXX', '1FTWXX', '2015-05-31T21:00:00+01:00', 3600, 1000000, 'f', 591, 1, 1, 'f', '6155127940092065568', 131826, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4748, 'Jonathan Strange & Mr Norrell', '2/7. How Is Lady Pole?: Historical fantasy drama. Mr Norrell takes on Jonathan Strange as his apprentice. However, it soon becomes clear that the pupil outshines the master. [AD,S]', 'crid://fp.bbc.co.uk/1FTWXW', '1FTWXW', '2015-05-24T21:00:00+01:00', 3600, 1000000, 'f', 591, 1, 1, 'f', '6152530343871441102', 12478, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4749, 'Jonathan Strange & Mr Norrell', '1/7. The Friends of English Magic: Historical fantasy drama. Determined to prove himself England''s greatest magician, Mr Norrell makes a dangerous pact with a mysterious being. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTWXV', '1FTWXV', '2015-05-17T21:00:00+01:00', 3600, 1000000, 'f', 591, 1, 1, 'f', '6149932747650818695', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4767, 'Rise of the Planet of the Apes', '(2011) Sci-fi action reboot. A scientist (James Franco) seeking a cure for Alzheimer''s bestows super-intelligence on a chimpanzee (Andy Serkis)... and endangers all mankind. Violence. [AD,S]', 'crid://www.channel4.com/55977/001', '55977-001', '2011-01-01T00:00:00+00:00', 7800, 1000000, 'f', 597, 12, 1, 'f', '6152159258973593413', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4768, 'Planet of the Apes', '(1968) Sci-fi. An astronaut (Charlton Heston) lands on a planet where apes rule, humans are seen as a subspecies and the gorillas, who act as the army, treat everyone else ruthlessly. [S]', 'crid://www.channel4.com/23318/001', '23318-001', '1968-01-01T00:00:00+00:00', 8100, 1000000, 'f', 597, 13, 1, 'f', '6128269362386840317', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4769, 'Planet of the Apes', '(2001) Tim Burton''s powerful remake stars Mark Wahlberg as the astronaut stranded on a strange planet where apes rule humans. With Helena Bonham Carter and Tim Roth. [AD,S]', 'crid://www.channel4.com/36130/001', '36130-001', '2001-01-01T00:00:00+00:00', 8400, 1000000, 'f', 597, 14, 1, 'f', '5430068741331226402', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4770, 'Escape From the Planet of The Apes', '(1971) Sci-fi drama starring Roddy McDowall and Kim Hunter. Fleeing catastrophe on their planet, apes Cornelius and Zira end up in 1970s LA. But they soon find themselves back in danger. [S]', 'crid://www.channel4.com/23233/001', '23233-001', '1971-01-01T00:00:00+00:00', 6900, 1000000, 'f', 597, 13, 1, 'f', '6081886292570457096', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4771, 'Conquest of the Planet of the Apes', '(1972) The fourth Apes film is set on Earth, where apes are the humans'' slaves. But Caesar (Roddy McDowall) keeps his intelligence secret until the time is ripe for rebellion. [S]', 'crid://www.channel4.com/16562/001', '16562-001', '1972-01-01T00:00:00+00:00', 5400, 1000000, 'f', 597, 12, 1, 'f', '5643078073868914393', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4772, 'Beneath the Planet of the Apes', '(1970) Charlton Heston and James Franciscus star as the time-travelling astronauts trapped on the planet where apes rule and humans are slaves in this gripping sequel. [S]', 'crid://www.channel4.com/23204/001', '23204-001', '1970-01-01T00:00:00+00:00', 6000, 1000000, 'f', 597, 12, 1, 'f', '5641236821389119158', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4773, 'Battle for the Planet of the Apes', '(1973) The final film in the series sees Roddy McDowall and the intelligent apes try to live in peaceful co-existence with humans but end up in conflict with militant gorillas. [S]', 'crid://www.channel4.com/16557/001', '16557-001', '1973-01-01T00:00:00+00:00', 6000, 1000000, 'f', 597, 12, 1, 'f', '5436239320841198807', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4774, 'Pirates of the Caribbean: On Stranger...', '...Tides. Swashbuckling adventure which sees Jack Sparrow hunting for the Fountain of Youth. Contains moderate violence. Also in HD. [2011] [AD,S]', 'crid://fp.bbc.co.uk/4J62HT', '4J62HT', '2011-01-01T00:00:00+00:00', 7500, 1000000, 'f', 598, 1, 1, 'f', '5962905819766113217', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4775, 'Pirates of the Caribbean: At World''s End', 'Action adventure with Johnny Depp. Elizabeth and Will join forces with Captain Barbossa to save Jack Sparrow from the underworld and stop the East India Company. Also in HD. [2007] [AD,S]', 'fp.bbc.co.uk/4J3ZJG', '4J3ZJG', '2007-01-01T00:00:00+00:00', 9300, 1000000, 'f', 598, 1, 1, 'f', '5830102424496686751', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4776, 'Pirates of the Caribbean: The Curse...', '...of the Black Pearl. Swashbuckler in which a governor''s daughter is kidnapped by pirates. A dashing swordsman sets out to rescue her. Starring Johnny Depp and Keira Knightley. [2003] [AD,S]', 'crid://fp.bbc.co.uk/4J3Z3J', '4J3Z3J', '2003-01-01T00:00:00+00:00', 8100, 1000000, 'f', 598, 1, 1, 'f', '5147639422606647797', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4777, 'Pirates of the Caribbean: Dead Man''s...', '...Chest. Captain Jack Sparrow (Johnny Depp) returns in another swashbuckling adventure. He must retrieve the Dead Man''s Chest or face Davy Jones'' locker. Also in HD. [2006] [AD,S]', 'crid://fp.bbc.co.uk/4J3ZIU', '4J3ZIU', '2006-01-01T00:00:00+00:00', 8400, 1000000, 'f', 598, 1, 1, 'f', '5284198766776431625', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4779, 'Episode VI - Return of the Jedi', 'Starring Mark Hamill and Harrison Ford, 1983. Luke and his friends reunite to destroy the new and improved Death Star. [S]', 'crid://www.itv.com/1759486', '1759486', '1983-01-01T00:00:00+00:00', 9900, 1000000, 'f', 600, 8, 1, 'f', '5274484839511577526', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4780, 'Episode III - Revenge of the Sith', 'Space action adventure starring Ewan McGregor and Hayden Christensen, 2005. The final Star Wars prequel sees Anakin Skywalker drawn further toward the dark side of the force [AD,S]', 'crid://www.itv.com/12304187', '12304187', '2005-01-01T00:00:00+00:00', 10500, 1000000, 'f', 600, 9, 1, 'f', '6014438985139841959', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4781, 'Episode II - Attack of the Clones', '...Attack of the Clones. Starring Ewan McGregor and Natalie Portman, 2002. Second of the prequels. Obi-Wan Kenobi and Anakin Skywalker protect Queen Amidala from an assassin. [AD,S]', 'crid://www.itv.com/5396448', '5396448', '2002-01-01T00:00:00+00:00', 10500, 1000000, 'f', 600, 8, 1, 'f', '5279677454972447139', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4782, 'Episode I - The Phantom Menace', 'Blockbuster prequel starring Liam Neeson and Ewan McGregor, 1999. A Jedi Knight and his apprentice embark on a mission to save a peaceful planet from the evil Federation [AD,S]', 'crid://www.itv.com/1763312', '1763312', '1999-01-01T00:00:00+00:00', 9900, 1000000, 'f', 600, 9, 1, 'f', '6009241215718220595', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4783, 'Episode IV - A New Hope', 'Classic sci-fi epic starring Mark Hamill and Carrie Fisher, 1977. Luke Skywalker joins Obi Wan Kenobi and embarks on a mission to rescue a rebel princess and thwart the Empire [AD,S]', 'crid://www.itv.com/1751096', '1751096', '1977-01-01T00:00:00+00:00', 9300, 1000000, 'f', 600, 9, 1, 'f', '6017059774183861823', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4784, 'Episode V - The Empire Strikes Back', 'Star Wars sequel starring Mark Hamill and Harrison Ford, 1980. Luke Skywalker undergoes Jedi training from Yoda, while romance blossoms between Han Solo and Leia [AD,S]', 'crid://www.itv.com/1752820', '1752820', '1980-01-01T00:00:00+00:00', 9300, 1000000, 'f', 600, 9, 1, 'f', '6019657370404483186', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4813, 'Harry Potter and the Prisoner of Azkaban', 'Fantasy adventure starring Daniel Radcliffe and Emma Watson, 2004. Harry, Hermione and Ron return to Hogwarts for a third year to discover Sirius Black has escaped prison [AD,S]', 'crid://www.itv.com/24649730', '24649730', '2004-01-01T00:00:00+00:00', 9600, 1000000, 'f', 616, 8, 11, 'f', '6092350121381802836', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4814, 'Harry Potter and the Chamber of Secrets', 'Fantasy adventure sequel starring Daniel Radcliffe and Rupert Grint, 2002. A mysterious elf tells boy wizard Harry to expect trouble during his second year at Hogwarts [AD,S]', 'crid://www.itv.com/5649759', '5649759', '2002-01-01T00:00:00+00:00', 10800, 1000000, 'f', 616, 8, 11, 'f', '6154658929931796582', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4815, 'Harry Potter and the Philosopher''s Stone', 'Big-screen adaptation starring Daniel Radcliffe and Emma Watson, 2001. A youngster living with his cruel aunt and uncle learns that he is the orphaned son of powerful wizards [AD,S]', 'crid://www.itv.com/24571264', '24571264', '2001-01-01T00:00:00+00:00', 10200, 1000000, 'f', 616, 8, 11, 'f', '6152061333711172518', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4816, 'Harry Potter and the Deathly Hallows pt2', 'Fantasy starring Daniel Radcliffe and Rupert Grint, 2011. Harry, Ron and Hermione attempt to find the secret to Voldemort''s immortality leading to an epic battle [AD,S]', 'crid://www.itv.com/43077458', '43077458', '2011-01-01T00:00:00+00:00', 9000, 1000000, 'f', 616, 8, 11, 'f', '6098722993855613203', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4817, 'Harry Potter and the Deathly Hallows pt1', 'Fantasy sequel starring Daniel Radcliffe and Rupert Grint, 2010. Harry attempts to find the secret to Voldemort''s immortality - parts of his soul that he has hidden [AD,S]', 'crid://www.itv.com/36111458', '36111458', '2010-01-01T00:00:00+00:00', 10200, 1000000, 'f', 616, 8, 11, 'f', '6097594276450223792', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4818, 'Harry Potter and the Half-Blood Prince', 'Fantasy sequel starring Daniel Radcliffe and Rupert Grint, 2009. With Hogwarts under threat, Harry investigates Voldemort''s past and learns the disturbing truth of his origins [AD,S]', 'crid://www.itv.com/22627865', '22627865', '2009-01-01T00:00:00+00:00', 10800, 1000000, 'f', 616, 8, 11, 'f', '6094996680229601792', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4819, 'Harry Potter and the Order of the Phoenix', 'Fantasy sequel starring Daniel Radcliffe and Emma Watson, 2007. The Hogwarts students prepare for battle by forming a secret duelling club, with Harry as their teacher [AD,S]', 'crid://www.itv.com/19720285', '19720285', '2007-01-01T00:00:00+00:00', 9600, 1000000, 'f', 616, 8, 11, 'f', '6012979125751716464', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4820, 'Harry Potter and the Goblet of Fire', 'Fantasy adventure sequel starring Daniel Radcliffe and Emma Watson, 2005. Harry may no longer be safe at Hogwarts when a series of events indicate that Voldemort''s return is imminent [AD,S]', 'crid://www.itv.com/24668982', '24668982', '2005-01-01T00:00:00+00:00', 10500, 1000000, 'f', 616, 8, 11, 'f', '5958445067000956108', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4821, 'Harry Potter and the Goblet of Fire', 'Fantasy adventure sequel starring Daniel Radcliffe and Emma Watson, 2005. Harry may no longer be safe at Hogwarts when a series of events indicate that Voldemort''s return is imminent [AD,S]', 'crid://www.itv.com/24668982', '24668982', '2005-01-01T00:00:00+00:00', 10800, 1000000, 'f', 617, 8, 1, 'f', '6162518720083484880', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4822, 'Harry Potter and the Prisoner of Azkaban', 'Fantasy adventure starring Daniel Radcliffe and Emma Watson, 2004. Harry, Hermione and Ron return to Hogwarts for a third year to discover Sirius Black has escaped prison [AD,S]', 'crid://www.itv.com/24649730', '24649730', '2004-01-01T00:00:00+00:00', 9600, 1000000, 'f', 617, 8, 1, 'f', '6092350121381802836', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4823, 'Harry Potter and the Chamber of Secrets', 'Fantasy adventure sequel starring Daniel Radcliffe and Rupert Grint, 2002. A mysterious elf tells boy wizard Harry to expect trouble during his second year at Hogwarts [AD,S]', 'crid://www.itv.com/5649759', '5649759', '2002-01-01T00:00:00+00:00', 10800, 1000000, 'f', 617, 8, 1, 'f', '6154658929931796582', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4824, 'Harry Potter and the Philosopher''s Stone', 'Big-screen adaptation starring Daniel Radcliffe and Emma Watson, 2001. A youngster living with his cruel aunt and uncle learns that he is the orphaned son of powerful wizards [AD,S]', 'crid://www.itv.com/24571264', '24571264', '2001-01-01T00:00:00+00:00', 10200, 1000000, 'f', 617, 8, 1, 'f', '6152061333711172518', 59082, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4825, 'Harry Potter and the Deathly Hallows pt2', 'Fantasy starring Daniel Radcliffe and Rupert Grint, 2011. Harry, Ron and Hermione attempt to find the secret to Voldemort''s immortality leading to an epic battle [AD,S]', 'crid://www.itv.com/43077458', '43077458', '2011-01-01T00:00:00+00:00', 9000, 1000000, 'f', 617, 8, 1, 'f', '6098722993855613203', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4826, 'Harry Potter and the Deathly Hallows pt1', 'Fantasy sequel starring Daniel Radcliffe and Rupert Grint, 2010. Harry attempts to find the secret to Voldemort''s immortality - parts of his soul that he has hidden [AD,S]', 'crid://www.itv.com/36111458', '36111458', '2010-01-01T00:00:00+00:00', 10200, 1000000, 'f', 617, 8, 1, 'f', '6097594276450223792', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4827, 'Harry Potter and the Half-Blood Prince', 'Fantasy sequel starring Daniel Radcliffe and Rupert Grint, 2009. With Hogwarts under threat, Harry investigates Voldemort''s past and learns the disturbing truth of his origins [AD,S]', 'crid://www.itv.com/22627865', '22627865', '2009-01-01T00:00:00+00:00', 10800, 1000000, 'f', 617, 8, 1, 'f', '6094996680229601792', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4828, 'Harry Potter and the Order of the Phoenix', 'Fantasy sequel starring Daniel Radcliffe and Emma Watson, 2007. The Hogwarts students prepare for battle by forming a secret duelling club, with Harry as their teacher [AD,S]', 'crid://www.itv.com/19720285', '19720285', '2007-01-01T00:00:00+00:00', 9600, 1000000, 'f', 617, 8, 1, 'f', '6012979125751716464', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4829, 'Top Gun', 'Starring Tom Cruise and Kelly McGillis, 1986. A US Navy recruit bids to become the training centre''s best pilot, but falls in love with his instructor.', 'crid://www.itv.com/619810', '619810', '1986-01-01T00:00:00+00:00', 8400, 1000000, 'f', 618, 9, 1, 'f', '5288659520082741859', 4085836, 't', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4885, 'Jonathan Strange & Mr Norrell', '6/7. The Black Tower: Strange attempts to drive himself insane as a way of gaining access to fairy magic. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTWY0', '1FTWY0', '2015-06-21T21:00:00+01:00', 3600, 1000000, 'f', 591, 1, 1, 'f', '6162920728753906285', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4889, 'Columbo: Undercover', 'Double murder mystery starring Peter Falk and Ed Begley Jr. The grizzled detective sets out to solve an unusual case where two men have apparently killed each other. (1992) [AD,S]', 'crid://www.five.tv/V2KL1', 'V2KL1$V', '1992-01-01T00:00:00+00:00', 6900, 1000000, 'f', 624, 15, 1, 'f', '6144258237143461760', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4890, 'Undercover Bridesmaid', 'Comedy drama starring Brooke Burns and Nicole Paggi. A bodyguard poses as a bridesmaid to protect a young woman getting death threats, but is soon distracted. (2012) [S]', 'crid://www.five.tv/V7487', 'V7487$V', '2012-01-01T00:00:00+00:00', 6300, 1000000, 'f', 624, 15, 1, 'f', '6111637531033607763', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4891, 'Secrets of an Undercover Wife', 'Drama starring Shawnee Smith and Brenda Campbell. When her husband is sent to prison, a woman goes undercover and unearths a conspiracy involving the mafia. (2006) [S]', 'crid://www.five.tv/V53W6', 'V53W6$V', '2006-01-01T00:00:00+00:00', 7200, 1000000, 'f', 624, 15, 1, 'f', '5457379579376488725', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4892, 'Undercover Angel', 'Romantic tale starring Dean Winters and Yasmine Bleeth. A writer''s humdrum life begins to pick up when his estranged girlfriend asks him to look after their daughter. (1998) [S]', 'crid://www.five.tv/V50EA', 'V50EA$V', '1998-01-01T00:00:00+00:00', 6300, 1000000, 'f', 624, 15, 1, 'f', '5662222461101685726', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4893, 'Undercover Brother', 'Starring Eddie Griffin and Billy Dee Williams, 2002. A superfly secret agent is called in when an Afro-American presidential candidate''s campaign is sabotaged. [S]', 'crid://www.itv.com/5799704', '5799704', '2002-01-01T00:00:00+00:00', 5700, 1000000, 'f', 624, 8, 1, 'f', '5292039229843795150', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4894, 'Undercover', 'The Robbery: A neurotic cop goes undercover as a mobster in Dave''s uproarious fish-out-of-water comedy! Chaos ensues when Chris is tasked with stealing some diamonds. [AD,S]', 'crid://bds.tv/CZ0H01', 'CZ0H01', '2015-06-29T23:40:00+01:00', 2400, 1000000, 'f', 625, 16, 1, 'f', '6165930643021648495', 2130392, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4895, 'Undercover', 'Pilot: New. A hilarious new sitcom, only on Dave, about a bumbling cop working undercover in an Armenian crime family! Embedded with the Sarkissians, Chris meets his police handler. [AD,S]', 'crid://bds.tv/CVBX6H', 'CVBX6H', '2015-06-22T22:20:00+01:00', 2400, 1000000, 'f', 625, 16, 1, 'f', '6163312430958000541', 2160862, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4896, 'Bridge to Terabithia', 'CGI-filled adventure based on Katherine Paterson''s classic children''s novel about two friends who escape to a magical woodland which helps them to deal with their real life. [2007] [S]', 'crid://fp.bbc.co.uk/4J3ZR1', '4J3ZR1', '2007-01-01T00:00:00+00:00', 5400, 1000000, 'f', 626, 1, 1, 'f', '5419536622247250257', 0, 't', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4953, 'Jonathan Strange & Mr Norrell', '7/7. Jonathan Strange & Mr Norrell: Historical fantasy drama. With England in chaos as magic returns, Strange comes back home to claim Mr Norrell and rescue Arabella. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTWY1', '1FTWY1', '2015-06-28T21:00:00+01:00', 3600, 1000000, 'f', 591, 1, 1, 'f', '6165518324974528206', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4955, 'Batman', 'Louie''s Lethal Lilac Time: Fantasy adventure series. Louie wants to make a Batgirl perfume - using real Batgirls. [S]', 'crid://www.itv.com/386779', '386779', '2012-12-19T16:15:00+00:00', 2100, 1000000, 'f', 633, 11, 11, 'f', '5823690898881425309', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4956, 'Batman', 'The Joke''s on Catwoman: Adventures with the caped crusader. Catwoman and Joker are trying to steal dynamite - can Batman stop them? [S]', 'crid://www.itv.com/386953', '386953', '2012-12-19T15:50:00+00:00', 1500, 1000000, 'f', 633, 11, 11, 'f', '5823684456430481308', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4957, 'Batman', 'The Funny Feline Felonies: Can the Chiroptera crime-fighters stop the Joker and Catwoman from blowing up the Federal Depository? [S]', 'crid://www.itv.com/386957', '386957', '2012-12-18T16:20:00+00:00', 2100, 1000000, 'f', 633, 11, 11, 'f', '5823321102197239670', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4958, 'Batman', 'The Ogg Couple: The Caped Crusader and his faithful sidekick are beaten up by Egghead and Olga in an attempt to steal the Silver Scimitar of Bulbul. [S]', 'crid://www.itv.com/386877', '386877', '2012-12-18T15:50:00+00:00', 1800, 1000000, 'f', 633, 11, 11, 'f', '5823313371256106869', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4959, 'Batman', 'Catwoman''s Dressed to Kill: Fantasy adventure series. Catwoman decides to bisect Batgirl with a pattern-cutting machine. [S]', 'crid://www.itv.com/385140', '385140', '2012-12-17T16:20:00+00:00', 1800, 1000000, 'f', 633, 11, 11, 'f', '5822950017022865231', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4960, 'Batman', 'The Bloody Tower: Fantasy drama series. The villains are after the biggest heist of all - the crown jewels. [S]', 'crid://www.itv.com/385130', '385130', '2012-12-17T15:50:00+00:00', 1800, 1000000, 'f', 633, 11, 11, 'f', '5822942286081732430', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4961, 'Batman', 'The Foggiest Notion: Adventures with the caped crusader. Ireland Yard requests Batman''s help in solving a baffling series of fog-shrouded thefts. [S]', 'crid://www.itv.com/385173', '385173', '2012-12-14T16:20:00+00:00', 1800, 1000000, 'f', 633, 11, 11, 'f', '5821836761499741488', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4962, 'Batman', 'The Londinium Larcenies: The caped crusader tackles a baffling series of fog-bound thefts. [S]', 'crid://www.itv.com/385062', '385062', '2012-12-14T15:50:00+00:00', 1800, 1000000, 'f', 633, 11, 11, 'f', '5821829030558608687', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4963, 'Batman', 'Surf''s Up! Joker''s Under!: The Joker has plans to become the surfing champion of the world. [S]', 'crid://www.itv.com/385034', '385034', '2012-12-13T16:25:00+00:00', 1800, 1000000, 'f', 633, 11, 11, 'f', '5821466964815555851', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4964, 'Batman', 'How to Hatch a Dinosaur: The dynamic duo come to the rescue when Egghead and Olga Cossacks hatch a plan to unleash a prehistoric monster on Gotham City. [S]', 'crid://www.itv.com/383346', '383346', '2012-12-13T15:55:00+00:00', 1800, 1000000, 'f', 633, 11, 11, 'f', '5821459233874423050', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4965, 'Batman', 'The Ogg and I: The Caped Crusader and his faithful sidekick take on Egghead and Olga. [S]', 'crid://www.itv.com/383380', '383380', '2012-12-12T16:20:00+00:00', 2100, 1000000, 'f', 633, 11, 11, 'f', '5821094591150992616', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4966, 'Batman', 'Louie the Lilac: Batman encounters a leg-eating lilac. [S]', 'crid://www.itv.com/383411', '383411', '2012-12-12T15:50:00+00:00', 1800, 1000000, 'f', 633, 11, 11, 'f', '5821086860209859815', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4967, 'Batman', 'The Unkindest Tut of All: King Tut reckons he has got a ruse to unmask the caped crusader. [S]', 'crid://www.itv.com/383365', '383365', '2012-12-11T16:20:00+00:00', 2100, 1000000, 'f', 633, 11, 11, 'f', '5820723505976618180', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4968, 'Batman', 'A Horse of Another Colour: Adventures with the caped crusader. The Penguin wants to fix a horse race. [S]', 'crid://www.itv.com/383262', '383262', '2012-12-11T15:50:00+00:00', 1800, 1000000, 'f', 633, 11, 11, 'f', '5820715775035485379', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4969, 'Batman', 'The Sport of Penguins: Another case for the caped crusader. Penguin tries to rig the results of a horse race. [S]', 'crid://www.itv.com/381348', '381348', '2012-12-10T16:20:00+00:00', 2100, 1000000, 'f', 633, 11, 11, 'f', '5820352420802243746', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4970, 'Batman', 'The Wail of the Siren: Fantasy adventure series. Bruce Wayne falls under the spell of the Siren. [S]', 'crid://www.itv.com/379983', '379983', '2012-12-10T15:50:00+00:00', 1800, 1000000, 'f', 633, 11, 11, 'f', '5820344689861110945', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4971, 'Batman', 'Ring around the Riddler: Action with the dynamic duo. The Riddler is scheming to take over the fight game in Gotham City. [S]', 'crid://www.itv.com/377937', '377937', '2012-12-07T16:25:00+00:00', 1800, 1000000, 'f', 633, 11, 11, 'f', '5819240453769309028', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4972, 'Batman', 'Enter Batgirl, Exit Penguin: Curvy crimefighter Batgirl joins the fight against Gotham City''s villains. [S]', 'crid://www.itv.com/369509', '369509', '2012-12-07T15:55:00+00:00', 1800, 1000000, 'f', 633, 11, 11, 'f', '5819232722828176227', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4973, 'Batman', 'Minerva, Mayhem and Millionaires: 60s fantasy adventure series. Minerva uses massage to persuade men to tell her about their valuables. Can the bat trio stop her therapeutic, thieving digits? [S]', 'crid://www.itv.com/390367', '390367', '2012-12-28T16:20:00+00:00', 2100, 1000000, 'f', 633, 11, 11, 'f', '5827031953940984202', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4974, 'Batman', 'The Entrancing Dr Cassandra: 60s fantasy adventure series. The light-fingered Dr Cassandra turns invisible to complete her criminal capers. [S]', 'crid://www.itv.com/390168', '390168', '2012-12-28T15:55:00+00:00', 1500, 1000000, 'f', 633, 11, 11, 'f', '5827025511490040201', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4975, 'Batman', 'The Joker''s Flying Saucer: Fantasy adventure series. The dynamic duo''s fiendish foe the Joker builds a UFO to scare the people of Gotham City. [S]', 'crid://www.itv.com/388543', '388543', '2012-12-27T16:20:00+00:00', 2100, 1000000, 'f', 633, 11, 11, 'f', '5826660868766609768', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4976, 'Batman', 'I''ll Be a Mummy''s Uncle: 60s fantasy adventure series. King Tut escapes from a psychiatric hospital and Batman has to track him down. [S]', 'crid://www.itv.com/388650', '388650', '2012-12-27T15:50:00+00:00', 1800, 1000000, 'f', 633, 11, 11, 'f', '5826653137825476967', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4977, 'Batman', 'The Great Train Robbery: Fantasy adventure series. Shame has kidnapped Batgirl, and Batman has taken Frontier Fanny hostage in retaliation. [S]', 'crid://www.itv.com/388500', '388500', '2012-12-21T16:20:00+00:00', 2100, 1000000, 'f', 633, 11, 11, 'f', '5824434357720362988', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4978, 'Batman', 'The Great Escape: 60s fantasy adventure series. Crafty cowpoke Shame escapes from prison and Batman is unable to lasso the gun-toting fiend. [S]', 'crid://www.itv.com/388649', '388649', '2012-12-21T15:50:00+00:00', 1800, 1000000, 'f', 633, 11, 11, 'f', '5824426626779230187', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4979, 'Batman', 'Penguin''s Clean Sweep: The fiendish Penguin contaminates Gotham City money with germs of a rare disease so that people throw it away. [S]', 'crid://www.itv.com/388498', '388498', '2012-12-20T16:20:00+00:00', 2100, 1000000, 'f', 633, 11, 11, 'f', '5824063272545988548', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4980, 'Batman', 'Nora Clavicle and the Ladies'' Crime Club: The dynamic duo try to thwart the sinister plans of suffragette super-criminal Nora Clavicle. [S]', 'crid://www.itv.com/386803', '386803', '2012-12-20T15:50:00+00:00', 1800, 1000000, 'f', 633, 11, 11, 'f', '5824055541604855747', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4981, 'Batman', 'The Duo Defy: 60s fantasy adventure series. The crime-fighting duo avoid vaporisation and follow the signal of Isolde to the hideout of Mr Freeze. [S]', 'crid://www.itv.com/417341', '417341', '2012-12-06T16:30:00+00:00', 1800, 1000000, 'f', 634, 11, 11, 'f', '5818870657085123392', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4982, 'Batman', 'Ice Spy: Fantasy adventure series. Mr Freeze kidnaps Prof Isaccson, hoping to obtain an instant ice formula. The Dynamic Duo are put into a Sub Zero Temperature Vaporizing Cabinet. [S]', 'crid://www.itv.com/619571', '619571', '2012-12-06T16:00:00+00:00', 1800, 1000000, 'f', 634, 11, 11, 'f', '5818862926143990591', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4983, 'Batman', 'Flop Goes the Joker: Fantasy drama series. Robin reckons he is a hamburger. [S]', 'crid://www.itv.com/369817', '369817', '2012-12-05T16:20:00+00:00', 2100, 1000000, 'f', 634, 11, 11, 'f', '5818496994930371356', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4984, 'Batman', 'Pop Goes the Joker: Adventures with the caped crusader. The Joker becomes a critic when he desecrates some paintings. But the Dynamic Duo''s input is not welcomed by the artist. [S]', 'crid://www.itv.com/368965', '368965', '2012-12-05T15:50:00+00:00', 1800, 1000000, 'f', 634, 11, 11, 'f', '5818489263989238555', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4985, 'Batman', 'Caught in the Spider''s Den: Action adventure series. The dynamic duo find themselves in a tangled web when the Black Widow hits town. [S]', 'crid://www.itv.com/358996', '358996', '2012-12-04T16:25:00+00:00', 2100, 1000000, 'f', 634, 11, 11, 'f', '5818127198246185721', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4986, 'Batman', 'The Black Widow Strikes Again: Fantasy adventure series. The Black Widow robs the American National, Beneficial, Commercial, Diversified, Empire and Federal State Banks. [S]', 'crid://www.itv.com/359090', '359090', '2012-12-04T15:55:00+00:00', 1800, 1000000, 'f', 634, 11, 11, 'f', '5818119467305052920', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4987, 'Batman', 'Batman''s Waterloo: Action drama series. The dynamic duo try to rescue a damsel from the clutches of King Tut. [S]', 'crid://www.itv.com/358758', '358758', '2012-12-03T16:20:00+00:00', 1800, 1000000, 'f', 634, 11, 11, 'f', '5817754824581622484', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4988, 'Batman', 'King Tut''s Coup: Adventures with the caped crusader. Tut and his Tutlings cop a sarcophagus from the Gotham City museum and plot to kidnap socialite Lisa Carson. [S]', 'crid://www.itv.com/359392', '359392', '2012-12-03T15:50:00+00:00', 1800, 1000000, 'f', 634, 11, 11, 'f', '5817747093640489683', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4989, 'Batman', 'Batman''s Satisfaction: Fantasy adventure series. Batman frees The Green Hornet to keep him under observation. He gets a message in alphabet soup after Pinky is abducted by Col Gumm. [S]', 'crid://www.itv.com/358498', '358498', '2012-11-29T16:20:00+00:00', 2100, 1000000, 'f', 634, 11, 11, 'f', '5816270483884124512', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4990, 'Batman', 'A Piece of the Action: Adventures with the caped crusader. Batman teams up with the Green Hornet to stamp out some philatelic counterfeiting at the Pink Chip stamps factory. [S]', 'crid://www.itv.com/357152', '357152', '2012-11-29T15:55:00+00:00', 1500, 1000000, 'f', 634, 11, 11, 'f', '5816264041433180511', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4991, 'Batman', 'Batman Displays His Knowledge: Fantasy adventure series. Catwoman embarks on a plan to steal priceless amber jewels. [S]', 'crid://www.itv.com/357139', '357139', '2012-11-28T16:20:00+00:00', 1800, 1000000, 'f', 634, 11, 11, 'f', '5815899398709750073', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4992, 'Batman', 'Catwoman Goes to College: Adventures with the caped crusader. Catwoman is out on parole - and her parole officer is none other than Bruce Wayne. [S]', 'crid://www.itv.com/357197', '357197', '2012-11-28T15:50:00+00:00', 1800, 1000000, 'f', 634, 11, 11, 'f', '5815891667768617272', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4993, 'Batman', 'The Joker''s Epitaph: Adventures with the caped crusader. The Joker blackmails Bruce Wayne in order to trap Batman and Bruce has to get married to avoid a scandal. [S]', 'crid://www.itv.com/357026', '357026', '2012-11-27T16:25:00+00:00', 2100, 1000000, 'f', 634, 11, 11, 'f', '5815529602025564433', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4994, 'Batman', 'The Joker''s Last Laugh: Adventures with the caped crusader. On the trail of counterfeit notes, Batman finds that the chief teller at Gotham National Bank is a Joker-controlled robot. [S]', 'crid://www.itv.com/357188', '357188', '2012-11-27T15:55:00+00:00', 1800, 1000000, 'f', 634, 11, 11, 'f', '5815521871084431632', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4995, 'Batman', 'A Riddling Controversy: More tongue-in-cheek action with the caped crusader and his faithful sidekick. Can the duo escape from the cakey quicksand with the aid of Batrockets? [S]', 'crid://www.itv.com/355574', '355574', '2012-11-26T16:20:00+00:00', 2100, 1000000, 'f', 634, 11, 11, 'f', '5815157228361001193', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4996, 'Batman', 'Batman''s Anniversary: Fantasy adventure series. The Riddler robs Batman''s charity dinner, and the Gotham City Bank, to raise funds to purchase a destructive De-Molecularizer. [S]', 'crid://www.itv.com/355020', '355020', '2012-11-26T15:50:00+00:00', 1800, 1000000, 'f', 634, 11, 11, 'f', '5815149497419868392', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4997, 'Batman', 'Penguin Sets a Trend: Adventures with the Dynamic Duo. Can Batman and Robin foil Penguin''s plans to steal classified military information from the Hexagon? [S]', 'crid://www.itv.com/409555', '409555', '2012-11-23T15:50:00+00:00', 1800, 1000000, 'f', 634, 11, 11, 'f', '5814036241896744867', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4998, 'Batman', 'Penguin''s Disastrous End: Penguin has stolen old WWII plans, but why? Marsha performs the dance of the seven veils at the Treasury to help Penguin steal gold bullion. [S]', 'crid://www.itv.com/334472', '334472', '2012-11-23T16:20:00+00:00', 2100, 1000000, 'f', 634, 11, 11, 'f', '5814043972837877668', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(4999, 'Batman', 'Penguin Is a Girl''s Best Friend: Batman and Robin are coerced by Penguin to appear in a movie, with Batman forced to do 100 takes of a kissing scene with Marsha, Queen of Diamonds. [S]', 'crid://www.itv.com/329283', '329283', '2012-11-22T16:30:00+00:00', 1800, 1000000, 'f', 634, 11, 11, 'f', '5813675464643880833', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5000, 'Batman', 'Scat, Darn Catwoman: Adventures with the caped crusaders. Catwoman has got her claws into Batman and seems to have turned the champion of justice into a vile villain. [S]', 'crid://www.itv.com/329052', '329052', '2012-11-22T16:00:00+00:00', 1800, 1000000, 'f', 634, 11, 11, 'f', '5813667733702748032', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5001, 'Batman', 'The Penguin Declines: Fantasy adventure series. The Penguin and the Joker have hidden in the Batmobile in order to infiltrate the Batcave. Can the Caped Crusader catch the creeps? [S]', 'crid://www.itv.com/329067', '329067', '2012-11-21T15:55:00+00:00', 1800, 1000000, 'f', 634, 11, 11, 'f', '5813295360038184793', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5002, 'Batman', 'That Darn Catwoman: Adventures with the caped crusader. Incredibly, Robin is lured into a life of crime by the slinky Catwoman. How can Batman win back his partner? [S]', 'crid://www.itv.com/329270', '329270', '2012-11-21T16:25:00+00:00', 1800, 1000000, 'f', 634, 11, 11, 'f', '5813303090979317594', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5003, 'Batman', 'The Joker''s Hard Times: Fantasy adventure series. The Joker steals ''Justice'' and the Dynamic Duo set a trap. But the Duo, and the beautiful Venus, become clam bake. [S]', 'crid://www.itv.com/329077', '329077', '2012-11-20T16:25:00+00:00', 2100, 1000000, 'f', 634, 11, 11, 'f', '5812932005804943154', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5004, 'Batman', 'The Zodiac Crimes: Fantasy adventure series. Joker and Penguin collaborate in a series of crimes inspired by the signs of the Zodiac. Can the Dynamic Duo prevail? [S]', 'crid://www.itv.com/328922', '328922', '2012-11-20T15:55:00+00:00', 1800, 1000000, 'f', 634, 11, 11, 'f', '5812924274863810353', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5005, 'Batman', 'The Mad Hatter Runs a Foul: Caped Crusading action. The Dynamic Duo have been skeletonised by X-Ray. Is this the end? [S]', 'crid://www.itv.com/329364', '329364', '2012-11-19T16:20:00+00:00', 2100, 1000000, 'f', 634, 11, 11, 'f', '5812559632140379915', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5006, 'Batman', 'The Contaminated Cowl: Adventures with the Caped Crusaders. The Mad Hatter is loose in Gotham City and he''s after Batman''s cowl for his collection. [S]', 'crid://www.itv.com/328719', '328719', '2012-11-19T15:50:00+00:00', 1800, 1000000, 'f', 634, 11, 11, 'f', '5812551901199247114', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5007, 'Batman', 'The Catwoman Goeth: Fantasy adventure series. Batman confronts the Sandman on Spaghetti Island. The Batmobile is stolen, and Batman has to walk home. Robin is put in a cat maze. [S]', 'crid://www.itv.com/326481', '326481', '2012-11-19T07:35:00+00:00', 1500, 1000000, 'f', 634, 11, 11, 'f', '5812424340670555903', 1011929, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5010, 'Undercover', 'The Wire: An oafish cop goes deep undercover in Dave''s amusing mobster comedy. Chris wears a wire to gather dirt on the Sarkissians. Psycho henchman Tommi is released from jail. [AD,S]', 'crid://bds.tv/CZ0LX3', 'CZ0LX3', '2015-07-06T23:40:00+01:00', 2400, 1000000, 'f', 625, 16, 1, 'f', '6168528239242269272', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5260, 'Doctor Who', 'Part 4: An Unearthly Child: Part 4: The Firemaker: The Doctor decides that the only way to escape is to show the Stone Age cave dwellers how to make fire. b&w.', 'crid://fp.bbc.co.uk/4CTC4S', '4CTC4S', '2013-11-21T23:45:00+00:00', 1500, 1000000, 'f', 687, 3, 12, 't', '5948862565223281404', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5261, 'Doctor Who', 'Part 3: An Unearthly Child: Part 3: The Doctor and crew leave the TARDIS to explore their new surroundings, but are captured. b&w.', 'crid://fp.bbc.co.uk/4CTC4R', '4CTC4R', '2013-11-21T23:20:00+00:00', 1500, 1000000, 'f', 687, 3, 12, 't', '5948856122772337403', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5262, 'Doctor Who', 'Part 2: An Unearthly Child: Part 2: The Cave of Skulls: The TARDIS travels back to Stone Age times, where the crew make the mistake of venturing outside. b&w.', 'crid://fp.bbc.co.uk/4CTC4Q', '4CTC4Q', '2013-11-21T22:55:00+00:00', 1500, 1000000, 'f', 687, 3, 12, 't', '5948849680321393402', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5263, 'Doctor Who', 'Part 1: An Unearthly Child: Part 1: Two teachers follow a pupil to a junkyard where they meet her grandfather, the Doctor. b&w.', 'crid://fp.bbc.co.uk/4CTC4P', '4CTC4P', '2013-11-21T22:30:00+00:00', 1500, 1000000, 'f', 687, 3, 12, 't', '5948843237870449401', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5264, 'Doctor Who', '8/8. The Name of the Doctor: Sci-fi drama. The Doctor has a secret he will take to his grave. And it is discovered... Also in HD.', 'crid://fp.bbc.co.uk/1FTWPB', '1FTWPB', '2013-05-18T18:00:00+00:00', 2700, 140, 'f', 688, 1, 12, 't', '5879380731767337870', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5265, 'Doctor Who', '7/8. Nightmare in Silver: Sci-fi drama. Hedgewick''s World of Wonders is the perfect theme park day out. And ground zero for a deadly silver resurrection. Also in HD.', 'crid://fp.bbc.co.uk/1FTWPA', '1FTWPA', '2013-05-11T18:00:00+00:00', 2700, 130, 'f', 688, 1, 12, 't', '5876783135546715040', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5266, 'Doctor Who', '6/8. The Crimson Horror: Sci-fi drama. Something ghastly is afoot in Victorian Yorkshire, as bodies are found with their skin a waxy, glowing red. Also in HD.', 'crid://fp.bbc.co.uk/1FTWP9', '1FTWP9', '2013-05-04T17:30:00+00:00', 2700, 120, 'f', 688, 1, 12, 't', '5874177808384959125', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5267, 'Doctor Who', '5/8. Journey to the Centre of the TARDIS: Sci-fi drama. The TARDIS has crashed, Clara is lost inside, and the Doctor has 30 minutes before his ship explodes! Also in HD.', 'crid://fp.bbc.co.uk/1FTWP8', '1FTWP8', '2013-04-27T17:30:00+00:00', 2700, 110, 'f', 688, 1, 12, 't', '5871580212164336284', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5268, 'Doctor Who', '4/8. Hide: Sci-fi drama. Something terrifying is hiding in Caliburn House, and the Doctor finds himself part of the ghost hunt. Also in HD.', 'crid://fp.bbc.co.uk/1FTWP7', '1FTWP7', '2013-04-20T17:45:00+00:00', 2700, 100, 'f', 688, 1, 12, 't', '5871220723409796957', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5269, 'Doctor Who', '3/8. Cold War: Sci-fi drama. On a Russian submarine in 1983, a frozen alien warrior is waking up, just as the TARDIS materialises. Also in HD.', 'crid://fp.bbc.co.uk/1FTWP6', '1FTWP6', '2013-04-13T17:00:00+00:00', 2700, 90, 'f', 688, 1, 12, 't', '5866377288781984189', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5270, 'Doctor Who', '2/8. The Rings Of Akhaten: Sci-fi drama. The Doctor takes Clara to the Festival of Offerings, but the Old God is waking and demands sacrifice! Also in HD.', 'crid://fp.bbc.co.uk/1FTWP5', '1FTWP5', '2013-04-06T17:15:00+00:00', 2700, 80, 'f', 688, 1, 12, 't', '5863783558031926761', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5271, 'Doctor Who', '1/8. The Bells of Saint John: The search for Clara brings the Doctor to London, where something deadly is in the Wi-Fi. Also in HD.', 'crid://fp.bbc.co.uk/1FTWP4', '1FTWP4', '2013-03-30T18:15:00+00:00', 2700, 70, 'f', 688, 1, 12, 't', '5861201423693569898', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5272, 'Doctor Who', 'The Snowmen: Sci-fi drama. It is Christmas Eve, 1892, and the falling snow is the stuff of fairytales. But the fairytale becomes a nightmare, and a chilling menace threatens Earth. Also in HD.', 'crid://fp.bbc.co.uk/1FTW2M', '1FTW2M', '2012-12-25T17:15:00+00:00', 3600, 60, 'f', 688, 1, 12, 't', '6092399083748630753', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5273, 'Doctor Who', '5/5. The Angels Take Manhattan: Sci-fi drama. The Doctor and his friends face a race against time through the streets of Manhattan, as New York''s statues come to life around them. Also in HD.', 'crid://fp.bbc.co.uk/1FTWP3', '1FTWP3', '2012-09-29T18:20:00+00:00', 2700, 50, 'f', 688, 1, 12, 't', '5858255935130089160', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5274, 'Doctor Who', '4/5. The Power of Three: The Doctor and the Ponds puzzle over an unlikely invasion of Earth, as millions of sinister black cubes arrive overnight. But what are they? Also in HD.', 'crid://fp.bbc.co.uk/1FTWP2', '1FTWP2', '2012-09-22T18:30:00+00:00', 2700, 40, 'f', 688, 1, 12, 't', '5858244338718389296', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5275, 'Doctor Who', '3/5. A Town Called Mercy: The Doctor gets a Stetson (and a gun!), and finds himself a reluctant sheriff. Also in HD.', 'crid://fp.bbc.co.uk/1FTWP1', '1FTWP1', '2012-09-15T18:35:00+00:00', 2700, 30, 'f', 688, 1, 12, 't', '5856029424083841904', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5276, 'Doctor Who', '2/5. Dinosaurs on a Spaceship: The Doctor battles to save an unmanned spaceship and its impossible cargo... of dinosaurs! Also in HD.', 'crid://fp.bbc.co.uk/1FTWP0', '1FTWP0', '2012-09-08T18:35:00+00:00', 2700, 20, 'f', 688, 1, 12, 't', '5855650607968334532', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5277, 'Doctor Who', 'New series. 1/5. Asylum of the Daleks: When the Doctor is kidnapped by his oldest foe, he goes on an impossible mission - to a place even the Daleks are terrified of. Also in HD.', 'crid://fp.bbc.co.uk/1FTWOZ', '1FTWOZ', '2012-09-01T18:20:00+00:00', 3000, 10, 'f', 688, 1, 12, 't', '5904992051258251649', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5278, 'Doctor Who: The Time of the Doctor', 'Sci-fi drama. Orbiting a quiet backwater planet, the universe''s deadliest species gather, drawn to a mysterious message that echoes out to the stars. And amongst them, the Doctor. Also in HD.', 'crid://fp.bbc.co.uk/1FTW2S', '1FTW2S', '2013-12-25T19:30:00+00:00', 3600, 160, 'f', 688, 1, 12, 't', '5961413748127481733', 250259, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5279, 'Doctor Who: The Day of the Doctor', 'The Doctors embark on their greatest adventure in this anniversary special. All of reality is at stake as the Doctor''s dangerous past comes back to haunt him. Also in HD.', 'crid://fp.bbc.co.uk/1FTW2Q', '1FTW2Q', '2013-11-23T19:50:00+00:00', 4500, 150, 'f', 688, 1, 12, 't', '5949544176508245292', 1455760, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5280, 'Doctor Who', '13/13. The Wedding of River Song: Sci-fi drama. By the shores of Lake Silencio in Utah, all of time and space hang in the balance - for this is the day the Doctor dies. Also in HD.', 'crid://fp.bbc.co.uk/1FTWAL', '1FTWAL', '2011-10-01T18:05:00+00:00', 2700, 1000000, 'f', 689, 1, 12, 't', '5658570879622510147', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5281, 'Doctor Who', '12/13. Closing Time: Sci-fi drama. The Doctor''s final days are upon him - but when he drops in on an old friend, the Cybermen are waiting. Also in HD.', 'crid://fp.bbc.co.uk/1FTWAK', '1FTWAK', '2011-09-24T18:10:00+00:00', 2700, 1000000, 'f', 689, 1, 12, 't', '5655974571892075921', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5282, 'Doctor Who', '11/13. The God Complex: Sci-fi drama. The TARDIS lands in a hotel where every visitor''s room contains their deepest, darkest fears. What lies in wait in the Doctor''s room? Also in HD.', 'crid://fp.bbc.co.uk/1FTWAJ', '1FTWAJ', '2011-09-17T18:10:00+00:00', 3000, 1000000, 'f', 689, 1, 12, 't', '5653376975671454897', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5283, 'Doctor Who', '10/13. The Girl Who Waited: Amy is trapped in a quarantine facility for victims of an alien plague. Can Rory save her before she is killed by kindness? Also in HD.', 'crid://fp.bbc.co.uk/1FTWAI', '1FTWAI', '2011-09-10T18:15:00+00:00', 2700, 1000000, 'f', 689, 1, 12, 't', '5650780667941020919', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5284, 'Doctor Who', '9/13. Night Terrors: Classic sci-fi drama series. The Doctor and his companions come to the aid of a terrified child, whose monsters appear to be real. Also in HD.', 'crid://fp.bbc.co.uk/1FTWAH', '1FTWAH', '2011-09-03T18:00:00+00:00', 2700, 1000000, 'f', 689, 1, 12, 't', '5648179206249831310', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5285, 'Doctor Who', 'New series. 8/13. Let''s Kill Hitler: The search for Melody Pond sees the TARDIS crash-landing in 1930s Berlin. Also in HD.', 'crid://fp.bbc.co.uk/1FTWAG', '1FTWAG', '2011-08-27T18:10:00+00:00', 3000, 1000000, 'f', 689, 1, 12, 't', '5645584187009587369', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5286, 'Doctor Who', '7/13. A Good Man Goes to War: Science fiction drama. The Doctor assembles an army to face the Battle of Demons Run - and River Song has something to tell him. Also in HD.', 'crid://fp.bbc.co.uk/1FTWAF', '1FTWAF', '2011-06-04T17:40:00+00:00', 3000, 1000000, 'f', 689, 1, 12, 't', '5614405301421005386', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5287, 'Doctor Who', '6/13. The Almost People: Science fiction drama. The Doctor must convince terrified factory workers to work with their doppelgangers to overcome a monster of their own making. Also in HD.', 'crid://fp.bbc.co.uk/1FTWAE', '1FTWAE', '2011-05-28T17:45:00+00:00', 2700, 1000000, 'f', 689, 1, 12, 't', '5611808993690570663', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5288, 'Doctor Who', '5/13. The Rebel Flesh: A solar tsunami liberates doppelgangers from their human ''originals'' in a factory. Also in HD.', 'crid://fp.bbc.co.uk/1FTWAD', '1FTWAD', '2011-05-21T17:45:00+00:00', 2700, 1000000, 'f', 689, 1, 12, 't', '5609211397469947247', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5289, 'Doctor Who', '4/13. The Doctor''s Wife: Science fiction drama. When he follows a Time Lord distress signal, the Doctor puts Amy, Rory and his beloved TARDIS in grave danger. Also in HD.', 'crid://fp.bbc.co.uk/1FTWAC', '1FTWAC', '2011-05-14T17:30:00+00:00', 3000, 1000000, 'f', 689, 1, 12, 't', '5606609935778757900', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5290, 'Doctor Who', '3/13. The Curse of the Black Spot: Science fiction drama. The Doctor, Amy and Rory must solve the mystery of the disappearance of a pirate crew at the hands of a beautiful Siren. Also in HD.', 'crid://fp.bbc.co.uk/1FTWAB', '1FTWAB', '2011-05-07T17:15:00+00:00', 2700, 1000000, 'f', 689, 1, 12, 't', '5604008474087570454', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5291, 'Doctor Who', '2/13. Day of the Moon: Science fiction drama. The Doctor mounts a rebellion against an alien invasion dating back to the very beginnings of human civilisation. Also in HD.', 'crid://fp.bbc.co.uk/1FTWAA', '1FTWAA', '2011-04-30T17:00:00+00:00', 2700, 1000000, 'f', 689, 1, 12, 't', '5601407012396381010', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5292, 'Doctor Who', 'New series. 1/13. The Impossible Astronaut: The Doctor is summoned to assist President Nixon in saving a terrified little girl. Also in HD.', 'crid://fp.bbc.co.uk/1FTWA9', '1FTWA9', '2011-04-23T17:00:00+00:00', 2700, 1000000, 'f', 689, 1, 12, 't', '5598809416175758906', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5293, 'Doctor Who', 'The Doctor, the Widow and the Wardrobe: A madcap caretaker leads an evacuee and her two children into a magical wintry world. Also in HD.', 'crid://fp.bbc.co.uk/1FTW9P', '1FTW9P', '2011-12-25T19:00:00+00:00', 3600, 1000000, 'f', 689, 1, 12, 't', '5690142754718650869', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5294, 'Doctor Who', 'A Christmas Carol: Festive edition of the time-travelling drama. The Doctor has one hour to save a crashing spaceship and a miser''s soul - but what lurks in the fog?', 'crid://fp.bbc.co.uk/1FTW9F', '1FTW9F', '2012-12-15T19:00:00+00:00', 3900, 140, 'f', 690, 4, 12, 't', '5554681204189754746', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5295, 'Doctor Who', '13/13. The Big Bang: Science fiction drama. The last hope for all of reality is a little girl who still believes in stars. Also in HD.', 'crid://fp.bbc.co.uk/1FTW6F', '1FTW6F', '2010-06-26T17:05:00+00:00', 3300, 130, 'f', 690, 1, 12, 't', '5487114067179272553', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5296, 'Doctor Who', '12/13. The Pandorica Opens: The Doctor''s friends unite to warn him that the Pandorica is opening. What is inside? Also in HD.', 'crid://fp.bbc.co.uk/1FTW6E', '1FTW6E', '2010-06-19T17:40:00+00:00', 3000, 120, 'f', 690, 1, 12, 't', '5484525490389973352', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5297, 'Doctor Who', '11/13. The Lodger: Science fiction drama. The Doctor must pass himself off as a human being to solve the mystery of a staircase that people go up but never go down. Also in HD.', 'crid://fp.bbc.co.uk/1FTW6D', '1FTW6D', '2010-06-12T17:45:00+00:00', 2700, 110, 'f', 690, 1, 12, 't', '5481929182659536685', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5298, 'Doctor Who', '10/13. Vincent and the Doctor: Science fiction drama. The Doctor and Amy Pond meet Vincent van Gogh. Also in HD.', 'crid://fp.bbc.co.uk/1FTW6C', '1FTW6C', '2010-06-05T17:40:00+00:00', 3000, 100, 'f', 690, 1, 12, 't', '5479330297948725730', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5299, 'Doctor Who', '9/13. Cold Blood: Science fiction drama. The Earth faces the dawn of a new age of harmony, or the start of its final war. Also in HD.', 'crid://fp.bbc.co.uk/1FTW6B', '1FTW6B', '2010-05-29T18:00:00+00:00', 3000, 90, 'f', 690, 1, 12, 't', '5476737855688857707', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5300, 'Doctor Who', '8/13. The Hungry Earth: Science fiction drama. The most ambitious drilling project ever reaches far below the Earth''s crust - but the ground is fighting back. Also in HD.', 'crid://fp.bbc.co.uk/1FTW6A', '1FTW6A', '2010-05-22T17:15:00+00:00', 2700, 80, 'f', 690, 1, 12, 't', '5474128663056535077', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5301, 'Doctor Who', '7/13. Amy''s Choice: Science fiction drama. Five years have passed since Amy Pond last saw the Doctor. But when one day he reappears in her life, she faces a terrible decision. Also in HD.', 'crid://fp.bbc.co.uk/1FTW69', '1FTW69', '2010-05-15T17:25:00+00:00', 2700, 70, 'f', 690, 1, 12, 't', '5471533643816288961', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5302, 'Doctor Who', '6/13. The Vampires of Venice: Science fiction drama. Desiccated corpses and terror fill the canals as the Doctor takes Amy and Rory to 16th Century Venice. Also in HD.', 'crid://fp.bbc.co.uk/1FTW68', '1FTW68', '2010-05-08T17:00:00+00:00', 2700, 60, 'f', 690, 1, 12, 't', '5468929605144722514', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5303, 'Doctor Who', '5/13. Flesh and Stone: Science fiction drama. Surrounded by an army of Weeping Angels, the Doctor and his friends must escape through the forest vault. Also in HD.', 'crid://fp.bbc.co.uk/1FTW67', '1FTW67', '2010-05-01T17:25:00+00:00', 2700, 50, 'f', 690, 1, 12, 't', '5466338451375045467', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5304, 'Doctor Who', '4/13. The Time of Angels: Science fiction drama. The Doctor is recruited by Father Octavian to track the last of the Weeping Angels through the terrifying Maze of the Dead. Also in HD.', 'crid://fp.bbc.co.uk/1FTW66', '1FTW66', '2010-04-24T17:20:00+00:00', 2700, 40, 'f', 690, 1, 12, 't', '5463739566664235654', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5305, 'Doctor Who', '3/13. Victory of the Daleks: The Doctor is summoned to Blitz-torn London by Winston Churchill, and the Daleks are waiting for him!', 'crid://fp.bbc.co.uk/1FTW65', '1FTW65', '2010-04-17T17:30:00+00:00', 2700, 30, 'f', 690, 1, 12, 't', '5461144547423989477', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5306, 'Doctor Who', '2/13. The Beast Below: The Doctor takes Amy to the distant future, where she finds all of Britain in a giant spaceship. Also in HD.', 'crid://fp.bbc.co.uk/1FTW64', '1FTW64', '2010-04-10T17:15:00+00:00', 2700, 20, 'f', 690, 1, 12, 't', '5458543085732800327', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5307, 'Doctor Who', 'New series. 1/13. The Eleventh Hour: The newly-regenerated Doctor has twenty minutes to save the world, and only Amy Pond can help him. Also in HD.', 'crid://fp.bbc.co.uk/1FTW63', '1FTW63', '2012-10-26T18:55:00+00:00', 3900, 10, 'f', 690, 4, 12, 't', '5455946778002361769', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5308, 'Doctor Who', '2/2. The End of Time, Part Two: The Doctor faces the end of his life, as the Master''s victory unleashes the greatest terror of all. Also in HD.', 'crid://fp.bbc.co.uk/1FTW61', '1FTW61', '2010-01-01T18:40:00+00:00', 4500, 1000000, 'f', 691, 1, 12, 't', '5421843019685202391', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5309, 'Doctor Who', '1/2. The End of Time, Part One: It is Christmas Eve, and the Doctor is reunited with Wilf to face the return of an old enemy. Also in HD.', 'crid://fp.bbc.co.uk/1FTW60', '1FTW60', '2009-12-25T18:00:00+00:00', 3600, 1000000, 'f', 691, 1, 12, 't', '5419235115543071049', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5310, 'Doctor Who', 'The Waters of Mars: Mars, 2059. Bowie Base One. Last recorded message: ''Don''t drink the water. Don''t even touch it. Not one drop.'' Also in HD.', 'crid://fp.bbc.co.uk/1FTW62', '1FTW62', '2009-11-15T19:00:00+00:00', 3600, 1000000, 'f', 691, 1, 12, 't', '5404407170450378653', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5311, 'Doctor Who', 'The Next Doctor: Christmas Eve, 1851, and Cybermen stalk the snow of Victorian London. But when the Doctor meets another Doctor, the two must combine forces to stop the rise of the CyberKing.', 'crid://fp.bbc.co.uk/1FTW5O', '1FTW5O', '2008-12-25T18:00:00+00:00', 3600, 1000000, 'f', 691, 1, 12, 't', '5283789026896393049', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5312, 'Doctor Who', 'Journey''s End: As Davros and the Daleks threaten the entire universe, the Doctor''s companions join forces. But the prophecy declares that one of them will die...', 'crid://fp.bbc.co.uk/54BXKY', '54BXKY', '2008-07-05T17:40:00+00:00', 3900, 1000000, 'f', 691, 1, 12, 't', '5219570675886598331', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5313, 'Doctor Who', 'The Stolen Earth: Earth''s greatest heroes assemble to fight the New Dalek Empire. But a fearsome old enemy waits in the shadows... Starring David Tennant and Catherine Tate.', 'crid://fp.bbc.co.uk/54BXKX', '54BXKX', '2008-06-28T18:10:00+00:00', 3000, 1000000, 'f', 691, 1, 12, 't', '5216980810607108643', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5314, 'Doctor Who', 'Turn Left: As Donna''s world collapses, she finds help from a mysterious blonde woman - but can Donna and Rose stop the approaching Darkness?', 'crid://fp.bbc.co.uk/54BXKW', '54BXKW', '2008-06-21T17:40:00+00:00', 3000, 1000000, 'f', 691, 1, 12, 't', '5214375483445355207', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5315, 'Doctor Who', 'Midnight: The Doctor is trapped, powerless and terrified, on the planet Midnight, as the knocking on the wall begins... Starring David Tennant and Catherine Tate.', 'crid://fp.bbc.co.uk/54BXKV', '54BXKV', '2008-06-14T18:10:00+00:00', 2700, 1000000, 'f', 691, 1, 12, 't', '5211785618165862871', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5316, 'Doctor Who', 'Forest of the Dead: As the shadows rise, the Doctor forges an alliance with the mysterious River Song. But can anyone stop the Vashta Nerada? Starring David Tennant and Catherine Tate.', 'crid://fp.bbc.co.uk/54BXKU', '54BXKU', '2008-06-07T18:00:00+00:00', 2700, 1000000, 'f', 691, 1, 12, 't', '5209185444964862650', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5317, 'Doctor Who', 'Silence in the Library: The Doctor and Donna enter a world of terror inside an abandoned library. They are given only one warning: "Count the shadows".', 'crid://fp.bbc.co.uk/54BXKT', '54BXKT', '2008-05-31T18:00:00+00:00', 2700, 1000000, 'f', 691, 1, 12, 't', '5206587848744268357', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5318, 'Doctor Who', 'The Unicorn and the Wasp: In 1926, Agatha Christie disappeared for ten days. Was it amnesia? A nervous breakdown? Or a giant alien wasp...?', 'crid://fp.bbc.co.uk/54BXKS', '54BXKS', '2008-05-17T18:00:00+00:00', 2700, 1000000, 'f', 691, 1, 12, 't', '5201392656303022524', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5319, 'Doctor Who', 'The Doctor''s Daughter: On the planet Messaline, in the middle of an endless war, the Doctor meets the most important woman of his life.', 'crid://fp.bbc.co.uk/54BXKR', '54BXKR', '2008-05-10T17:45:00+00:00', 2700, 1000000, 'f', 691, 1, 12, 't', '5198791194611832979', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5320, 'Doctor Who', 'The Poison Sky: As the Sontarans choke the Earth, the Doctor battles to keep both Martha and Donna alive.', 'crid://fp.bbc.co.uk/54BXKQ', '54BXKQ', '2008-05-03T17:20:00+00:00', 2700, 1000000, 'f', 691, 1, 12, 't', '5196187155940266119', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5321, 'Doctor Who', 'The Sontaran Stratagem: Martha Jones summons the Doctor back to modern-day Earth, but an old enemy lies in wait.', 'crid://fp.bbc.co.uk/54BXKP', '54BXKP', '2008-04-26T17:20:00+00:00', 2700, 1000000, 'f', 691, 1, 12, 't', '5193589559719643111', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5322, 'Doctor Who', 'Planet of the Ood: The Doctor takes Donna to her first alien world, but the Ood-Sphere reveals some terrible truths about the human race. Starring David Tennant and Catherine Tate.', 'crid://fp.bbc.co.uk/54BXKO', '54BXKO', '2008-04-19T17:20:00+00:00', 2700, 1000000, 'f', 691, 1, 12, 't', '5190991963499020053', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5323, 'Doctor Who', 'The Fires of Pompeii: Psychic powers and stone beasts run riot in old Pompeii, but can Donna dare the Doctor to change established history?', 'crid://fp.bbc.co.uk/54BXKN', '54BXKN', '2008-04-12T17:45:00+00:00', 3000, 1000000, 'f', 691, 1, 12, 't', '5188400809729341019', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5324, 'Doctor Who', 'Partners in Crime: Donna is determined to find the Doctor again - even if it means braving the villainous Miss Foster and her hordes of sinister Adipose.', 'crid://fp.bbc.co.uk/54BXKM', '54BXKM', '2008-04-05T17:20:00+00:00', 3000, 1000000, 'f', 691, 1, 12, 't', '5185796771057773878', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5325, 'Doctor Who', 'Planet of the Dead: A London bus takes a detour to an alien world, but can the Doctor defeat the terrifying Swarm? Also in HD.', 'crid://fp.bbc.co.uk/1FTW5Z', '1FTW5Z', '2009-04-11T17:45:00+00:00', 3600, 1000000, 'f', 691, 1, 12, 't', '5323475813201660716', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5326, 'Doctor Who', '13/13. Doomsday: Two armies wage war across the Earth with humans caught in the middle. But the Doctor faces a greater dilemma. Does saving the world mean the death of Rose?', 'crid://fp.bbc.co.uk/54BVA1', '54BVA1', '2007-08-29T18:00:00+00:00', 3000, 140, 'f', 692, 4, 12, 't', '5104168340629188990', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5327, 'Doctor Who', '12/13. Army of Ghosts: The human race rejoices as the ghosts of loved ones return home. But as the Doctor, Rose and Jackie investigate, a trap is being sprung that threatens Earth.', 'crid://fp.bbc.co.uk/54BVA0', '54BVA0', '2007-08-28T18:00:00+00:00', 2700, 130, 'f', 692, 4, 12, 't', '5103797255454814549', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5328, 'Doctor Who', '11/13. Fear Her: When the Tardis lands in 2012, the Doctor plans to show Rose the London Olympics. On a nearby housing estate, a desperate mother is hiding her daughter''s unearthly powers.', 'crid://fp.bbc.co.uk/54BV9Z', '54BV9Z', '2007-08-27T18:00:00+00:00', 2700, 120, 'f', 692, 4, 12, 't', '5103426170280440122', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5329, 'Doctor Who', '10/13. Love and Monsters: A man called Elton becomes obsessed with the Doctor and Rose and the Tardis. But this harmless hobby suddenly plunges Elton into a world of living nightmares.', 'crid://fp.bbc.co.uk/54BV9Y', '54BV9Y', '2007-08-23T18:00:00+00:00', 2700, 110, 'f', 692, 4, 12, 't', '5101941829582941391', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5330, 'Doctor Who', '9/13. The Satan Pit: Rose battles the murderous Ood, and the Doctor finds his every belief being challenged to the core. As the Pit beckons, he must make the ultimate sacrifice.', 'crid://fp.bbc.co.uk/54BV9X', '54BV9X', '2007-08-21T18:00:00+00:00', 3000, 100, 'f', 692, 4, 12, 't', '5101199659234192165', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5331, 'Doctor Who', '8/13. The Impossible Planet: The Doctor and Rose arrive on a world in the orbit of a black hole. Trapped with a human expedition and the alien Ood, they realise something evil is waking up.', 'crid://fp.bbc.co.uk/54BV9W', '54BV9W', '2007-08-20T18:00:00+00:00', 3000, 90, 'f', 692, 4, 12, 't', '5100828574059817091', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5332, 'Doctor Who', '7/13. The Idiot''s Lantern: As the 1953 celebrations surrounding the coronation of Queen Elizabeth II continue, there are rumours of monsters on the streets.', 'crid://fp.bbc.co.uk/54BV9V', '54BV9V', '2007-08-19T18:00:00+00:00', 2700, 80, 'f', 692, 4, 12, 't', '5100457488885442680', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5333, 'Doctor Who', '6/13. The Age of Steel: Cybermen take control of London and start converting the populace. While Jackie falls under Lumic''s control, the Doctor, Rose and Mickey are reduced to fugitives.', 'crid://fp.bbc.co.uk/54BV9U', '54BV9U', '2007-08-17T18:00:00+00:00', 3000, 70, 'f', 692, 4, 12, 't', '5099715318536693507', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5334, 'Doctor Who', '5/13. Rise of the Cybermen: When the Tardis is trapped on a parallel earth, Rose discovers that her father is alive. An enemy of the Doctor''s is about to be reborn in a new and terrible shape.', 'crid://fp.bbc.co.uk/54BV9T', '54BV9T', '2007-08-16T18:00:00+00:00', 3000, 60, 'f', 692, 4, 12, 't', '5099344233362318934', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5335, 'Doctor Who', '4/13. The Girl in the Fireplace: When Madame de Pompadour finds the court at Versailles under attack from clockwork killers, her only hope of salvation lies with the Doctor. Then 60 Seconds.', 'crid://fp.bbc.co.uk/54BV9S', '54BV9S', '2007-08-15T19:15:00+00:00', 2700, 50, 'f', 692, 4, 12, 't', '5098992475540776329', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5336, 'Doctor Who', '3/13. School Reunion: When the Doctor investigates a London school haunted by bat-like creatures, he finds an old friend already working undercover. Followed by 60 Seconds.', 'crid://fp.bbc.co.uk/54BV9R', '54BV9R', '2007-08-15T18:30:00+00:00', 2700, 40, 'f', 692, 4, 12, 't', '5098980879129077122', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5337, 'Doctor Who', '2/13. Tooth and Claw: The Doctor and Rose travel back to 1879, where an encounter in the Scottish Highlands with Queen Victoria and a band of warrior monks reveals a deadly trap.', 'crid://fp.bbc.co.uk/54BV9Q', '54BV9Q', '2007-08-14T18:00:00+00:00', 2700, 30, 'f', 692, 4, 12, 't', '5098602063013569512', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5338, 'Doctor Who', '1/13. New Earth: When the Doctor and Rose visit mankind''s new home, far in the future, they find gruesome secrets hidden inside a luxury hospital.', 'crid://fp.bbc.co.uk/54BV9P', '54BV9P', '2007-08-13T18:00:00+00:00', 2700, 20, 'f', 692, 4, 12, 't', '5098230977839194856', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5339, 'Doctor Who', 'The Christmas Invasion: The Tardis falls to earth on Christmas Eve, bringing the new Doctor home to Rose''s family. Followed by 60 Seconds.', 'crid://fp.bbc.co.uk/54BV9O', '54BV9O', '2007-08-12T18:00:00+00:00', 3600, 10, 'f', 692, 4, 12, 't', '5097859892664820189', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5340, 'Doctor Who', 'The Runaway Bride: The Doctor finds himself with a new companion, Donna, but she''s late for her wedding. As they race to get to the church, the mysterious Empress joins the chase.', 'crid://fp.bbc.co.uk/54BW1Q', '54BW1Q', '2010-12-28T13:40:00+00:00', 3600, 150, 'f', 692, 1, 12, 't', '5085258458618345706', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5341, 'Doctor Who', 'Voyage of the Dammed: When disaster hits the Titanic, the Doctor uncovers a threat to the human race. Battling alongside aliens, saboteurs and robot angels, can he stop the inferno?', 'crid://fp.bbc.co.uk/54BXKZ', '54BXKZ', '2007-12-25T18:50:00+00:00', 4200, 140, 'f', 693, 1, 12, 't', '5147984737977246330', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5342, 'Doctor Who', '10/13. Blink: In an old, abandoned house, the Weeping Angels wait. Only the Doctor can stop them, but he''s lost in time.', 'crid://fp.bbc.co.uk/54BW1M', '54BW1M', '2007-07-24T18:00:00+00:00', 2700, 100, 'f', 693, 4, 12, 't', '5090809274351699720', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5343, 'Doctor Who', '9/13. The Family of Blood: It is 1913, and war has come to England a year in advance, as the terrifying Family hunt for the Doctor. Followed by 60 Seconds.', 'crid://fp.bbc.co.uk/54BW1L', '54BW1L', '2007-07-23T18:00:00+00:00', 2700, 90, 'f', 693, 4, 12, 't', '5090438189177325273', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5344, 'Doctor Who', '8/13. Human Nature. Part 1: England 1913, and a schoolteacher called John Smith has strange dreams of adventures in time and space.', 'crid://fp.bbc.co.uk/54BW1K', '54BW1K', '2007-07-22T18:00:00+00:00', 2700, 80, 'f', 693, 4, 12, 't', '5090067104002950868', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5345, 'Doctor Who', '7/13. 42: As a spaceship hurtles towards the sun, the Doctor and Martha have only 42 minutes to save the day.', 'crid://fp.bbc.co.uk/54BW1J', '54BW1J', '2007-07-20T18:00:00+00:00', 2700, 70, 'f', 693, 4, 12, 't', '5089324933654201966', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5346, 'Doctor Who', 'The Lazarus Experiment: Time-travelling traumas with the Timelord in the TARDIS. Martha returns home, but has to save her family from the schemes of the monstrous Professor Lazarus.', 'crid://fp.bbc.co.uk/54BW1I', '54BW1I', '2007-07-19T18:00:00+00:00', 2700, 60, 'f', 693, 4, 12, 't', '5088953848479827452', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5347, 'Doctor Who', 'Evolution of the Daleks: As a new Dalek Empire rises in 1930s New York, the Doctor must enter an unholy alliance.', 'crid://fp.bbc.co.uk/54BW1H', '54BW1H', '2007-07-18T18:00:00+00:00', 2700, 50, 'f', 693, 4, 12, 't', '5088582763305452892', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5348, 'Doctor Who', '4/13. Daleks in Manhattan: The Doctor finds his oldest enemies at work on top of the Empire State Building when he and Martha travel to 1930s New York.', 'crid://fp.bbc.co.uk/54BW1G', '54BW1G', '2007-07-17T18:00:00+00:00', 3000, 40, 'f', 693, 4, 12, 't', '5088211678131078478', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5349, 'Doctor Who', '3/13. Gridlock: The Doctor takes Martha to New Earth, in the far future, only to find that an entire city has become a deadly trap. Followed by 60 Seconds.', 'crid://fp.bbc.co.uk/54BW1F', '54BW1F', '2007-07-16T18:00:00+00:00', 2700, 30, 'f', 693, 4, 12, 't', '5087840592956702317', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5350, 'Doctor Who', '2/13. The Shakespeare Code: The Doctor takes Martha to Elizabethan England, where William Shakespeare is under the control of deadly witch-like creatures.', 'crid://fp.bbc.co.uk/54BW1E', '54BW1E', '2007-07-15T18:00:00+00:00', 2700, 20, 'f', 693, 4, 12, 't', '5087469507782327904', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5351, 'Doctor Who', '1/13. Smith and Jones: When Martha Jones finds herself on the moon, she meets a mysterious stranger called the Doctor, and her life will never be the same again. Then 60 Seconds.', 'crid://fp.bbc.co.uk/54BW1D', '54BW1D', '2007-07-13T18:00:00+00:00', 3000, 10, 'f', 693, 4, 12, 't', '5086727337433578919', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5352, 'Doctor Who', '13/13. Last of the Time Lords: Earth has been conquered and the Master rules supreme, with the Doctor his prisoner. Can Martha Jones save the world?', 'crid://fp.bbc.co.uk/54BW1P', '54BW1P', '2007-06-30T18:05:00+00:00', 3000, 120, 'f', 693, 1, 12, 't', '5081904518644642147', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5353, 'Doctor Who', '12/13. The Sound of Drums: Harry Saxon becomes Prime Minister, but his dark ambitions reach beyond the stars.', 'crid://fp.bbc.co.uk/54BW1O', '54BW1O', '2007-06-29T20:00:00+00:00', 2700, 130, 'f', 693, 4, 12, 't', '5081563068756863848', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5354, 'Doctor Who', '11/13. Utopia: Jack''s back! As Captain Jack storms back into the Doctor''s life, the Tardis is thrown to the end of the universe itself.', 'crid://fp.bbc.co.uk/54BW1N', '54BW1N', '2007-06-29T19:00:00+00:00', 2700, 110, 'f', 693, 4, 12, 't', '5081547606874598243', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5355, 'Doctor Who', '13/13. Parting of the Ways: Friendships are put to the test as Earth plunges into an epic war. With the human race being slaughtered, the Doctor is forced into terrible action.', 'crid://fp.bbc.co.uk/54BUGO', '54BUGO', '2007-08-10T18:00:00+00:00', 2700, 260, 'f', 694, 4, 12, 't', '5097117722316069794', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5356, 'Doctor Who', '12/13. Bad Wolf: The Doctor, Rose and Captain Jack have to fight for their lives on board the Game Station, but a more dangerous threat is lurking just out of sight.', 'crid://fp.bbc.co.uk/54BUGN', '54BUGN', '2007-08-09T18:00:00+00:00', 2700, 250, 'f', 694, 4, 12, 't', '5096746637141695352', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5357, 'Doctor Who', '11/13. Boom Town: The Doctor encounters an enemy he thought long since dead. A plan to build a nuclear power station in Cardiff disguises an alien plot to rip the world apart.', 'crid://fp.bbc.co.uk/54BUGM', '54BUGM', '2007-08-08T18:00:00+00:00', 2700, 240, 'f', 694, 4, 12, 't', '5096375551967320695', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5358, 'Doctor Who', '10/13. The Doctor Dances: The Child''s plague is spreading throughout wartime London, and its zombie army is on the march. The Doctor and Rose are trapped in an abandoned hospital.', 'crid://fp.bbc.co.uk/54BUGL', '54BUGL', '2007-08-07T18:00:00+00:00', 2700, 230, 'f', 694, 4, 12, 't', '5096004466792946099', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5359, 'Doctor Who', '9/13. The Empty Child: During WWII, a mysterious cylinder is being guarded by the army, while homeless children living on the bombsites are being terrorised by an unearthly child.', 'crid://fp.bbc.co.uk/54BUGK', '54BUGK', '2007-08-06T18:00:00+00:00', 2700, 220, 'f', 694, 4, 12, 't', '5095633381618571585', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5360, 'Doctor Who', '8/13. Father''s Day: Rose travels back to 1987 to witness the day her father died but when she interferes in the course of events, the monstrous Reapers are unleashed upon the world.', 'crid://fp.bbc.co.uk/54BUGJ', '54BUGJ', '2007-08-05T18:00:00+00:00', 2700, 210, 'f', 694, 4, 12, 't', '5095262296444197158', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5361, 'Doctor Who', '7/13. The Long Game: In the future, Satellite 5 broadcasts to the Earth Empire, but anyone promoted to Floor 500 is never seen again and the Doctor suspects mankind is being manipulated.', 'crid://fp.bbc.co.uk/54BUGI', '54BUGI', '2007-08-03T18:00:00+00:00', 2700, 200, 'f', 694, 4, 12, 't', '5094520126095447238', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5362, 'Doctor Who', '6/13. Dalek: The Doctor and Rose discover that the Doctor''s oldest and most deadly enemy is about to break free, after being held captive beneath the salt plains of Utah.', 'crid://fp.bbc.co.uk/54BUGH', '54BUGH', '2007-08-02T18:00:00+00:00', 3000, 190, 'f', 694, 4, 12, 't', '5094149040921072787', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5363, 'Doctor Who', '5/13. World War Three: The Doctor, Rose and Harriet Jones race against time to unmask the villainous Slitheen, but only Rose''s mum and boyfriend hold the key to salvation.', 'crid://fp.bbc.co.uk/54BUGG', '54BUGG', '2007-08-01T18:00:00+00:00', 2700, 180, 'f', 694, 4, 12, 't', '5093777955746698189', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5364, 'Doctor Who', '4/13. Aliens of London: The Doctor takes Rose home, but when a spaceship crash-lands in the Thames, London is closed off and the whole world goes on red alert.', 'crid://fp.bbc.co.uk/54BUGF', '54BUGF', '2007-07-31T18:00:00+00:00', 2700, 170, 'f', 694, 4, 12, 't', '5093406870572323382', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5365, 'Doctor Who', '3/13. The Unquiet Dead: The Doctor takes Rose back through time to 1869. But in Victorian Cardiff, the dead are walking and creatures made of gas are on the loose.', 'crid://fp.bbc.co.uk/54BUGE', '54BUGE', '2007-07-30T18:00:00+00:00', 2700, 160, 'f', 694, 4, 12, 't', '5093035785397948944', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5366, 'Doctor Who', '2/13. The End of the World: The Doctor takes Rose on her first voyage through time, to the year five billion as the sun is about to expand and swallow the Earth.', 'crid://fp.bbc.co.uk/54BUGD', '54BUGD', '2007-07-29T18:00:00+00:00', 2700, 150, 'f', 694, 4, 12, 't', '5092664700223574240', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5367, 'Doctor Who', 'Rose: When Rose Tyler meets a mysterious stranger called the Doctor she feels that her life will never be the same again. Soon she realises that the whole of planet Earth is in danger.', 'crid://fp.bbc.co.uk/54BUG9', '54BUG9', '2007-07-28T18:00:00+00:00', 3000, 140, 'f', 694, 4, 12, 't', '5092293615049199511', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5368, 'Doctor Who', 'Part 4: The Hand of Fear: Eldrad reconfigures his body to its final, male form. Furious with finding his world dead, he states that he will return to Earth to rule it.', 'crid://fp.bbc.co.uk/1FHO0C', '1FHO0C', '2011-05-10T19:05:00+00:00', 1500, 1000000, 'f', 695, 3, 12, 't', '5605150077225072001', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5369, 'Doctor Who', 'Part 3: The Hand of Fear: The hand has regenerated into a Kastrian called Eldrad who has modelled his form on Sarah Jane. He persuades the Doctor to take him back to Kastria.', 'crid://fp.bbc.co.uk/1FHO0B', '1FHO0B', '2011-05-10T18:40:00+00:00', 1500, 1000000, 'f', 695, 3, 12, 't', '5605143634774128000', 70296, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5370, 'Doctor Who', 'Part 2: The Hand of Fear: The fossilised hand is now in the possession of a technician called Driscoll at Nunton power station. He places it in the reactor core, causing disaster.', 'crid://fp.bbc.co.uk/1FHO0A', '1FHO0A', '2011-05-09T19:05:00+00:00', 1500, 1000000, 'f', 695, 3, 12, 't', '5604778992050697596', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5371, 'Doctor Who', 'Part 1: The Hand of Fear: Sarah Jane finds a fossilised hand and places a ring from it on her finger. She is knocked unconscious by an explosion and is taken to hospital.', 'crid://fp.bbc.co.uk/1FHO09', '1FHO09', '2011-05-09T18:40:00+00:00', 1500, 1000000, 'f', 695, 3, 12, 't', '5604772549599753595', 70744, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5372, 'Doctor Who', '1/12. Deep Breath: Sci-fi drama. When the Doctor arrives in Victorian London he finds a dinosaur rampant in the Thames and a spate of deadly spontaneous combustions. Also in HD.', 'crid://fp.bbc.co.uk/1FTWWH', '1FTWWH', '2014-08-23T18:50:00+00:00', 4800, 1000000, 'f', 696, 1, 12, 'f', '6050834967230210362', 4574432, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5373, 'Doctor Who', '2/12. Into the Dalek: Sci-fi drama. A Dalek fleet surrounds a lone rebel ship, and only the Doctor can help them. As he faces his greatest enemy, he needs Clara by his side. Also in HD.', 'crid://fp.bbc.co.uk/1FTWWI', '1FTWWI', '2014-08-30T18:30:00+00:00', 2700, 1000000, 'f', 696, 1, 12, 'f', '6053427409490077819', 568648, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5374, 'Doctor Who', '4/12. Listen: Sci-fi drama. What will the Doctor find at the end of the universe? What scares the Doctor? Ghosts of the past and future. Listen! Also in HD.', 'crid://fp.bbc.co.uk/1FTWWK', '1FTWWK', '2014-09-13T18:30:00+00:00', 3000, 1000000, 'f', 696, 1, 12, 'f', '6058622601931324156', 2944447, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5375, 'Doctor Who', '3/12. Robot of Sherwood: Sci-fi drama. When robots threaten Sherwood Forest, the Doctor must join forces with Robin Hood to stop the evil reign of the Sheriff of Nottingham. Also in HD.', 'crid://fp.bbc.co.uk/1FTWWJ', '1FTWWJ', '2014-09-06T18:30:00+00:00', 3000, 1000000, 'f', 696, 1, 12, 'f', '6056025005710700365', 1850991, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5376, 'Doctor Who', '5/12. Time Heist: Sci-fi drama. The Doctor turns bank robber when he is given a task he cannot refuse - steal from the most dangerous bank in the cosmos. Also in HD.', 'crid://fp.bbc.co.uk/1FTWWL', '1FTWWL', '2014-09-20T18:30:00+00:00', 3000, 1000000, 'f', 696, 1, 12, 'f', '6061220198151924475', 2731181, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5377, 'Doctor Who', '6/12. The Caretaker: Sci-fi drama. The terrifying Skovox Blitzer is ready to destroy all humanity - and worse, Danny Pink and the Doctor are going to meet. Also in HD.', 'crid://fp.bbc.co.uk/1FTWWM', '1FTWWM', '2014-09-27T19:30:00+00:00', 2700, 1000000, 'f', 696, 1, 12, 'f', '6063833256254810935', 1530038, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5378, 'Doctor Who', '7/12. Kill the Moon: The Doctor and Clara crash-land on the moon to find a base full of corpses, vicious spider-like creatures poised to attack and a terrible dilemma. Also in HD.', 'crid://fp.bbc.co.uk/1FTWWN', '1FTWWN', '2014-10-04T19:30:00+00:00', 2700, 1000000, 'f', 696, 1, 12, 'f', '6066430852475440561', 16790, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5379, 'Doctor Who', '8/12. Mummy on the Orient Express: Sci-fi drama. On the most beautiful train in history, speeding among the stars of the future, a deadly creature is stalking the passengers. Also in HD.', 'crid://fp.bbc.co.uk/1FTWWO', '1FTWWO', '2014-10-11T19:35:00+00:00', 3000, 1000000, 'f', 696, 1, 12, 'f', '6069029737186253828', 2786133, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5380, 'Doctor Who', '9/12. Flatline: Sci-fi drama. With people to save and the Doctor trapped, Clara goes against an enemy that exists beyond human perception. Also in HD.', 'crid://fp.bbc.co.uk/1FTWWP', '1FTWWP', '2014-10-18T19:25:00+00:00', 2700, 1000000, 'f', 696, 1, 12, 'f', '6071624756426500350', 812247, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5381, 'Doctor Who', '10/12. In the Forest of the Night: The human race wakes up to face the most surprising invasion yet, and the Doctor discovers that the final days of humanity have arrived. Also in HD.', 'crid://fp.bbc.co.uk/1FTWWQ', '1FTWWQ', '2014-10-25T19:20:00+00:00', 2700, 1000000, 'f', 696, 1, 12, 'f', '6074221064156932458', 601007, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5382, 'Doctor Who', '11/12. Dark Water: Sci-fi drama. In the mysterious Nethersphere, plans have been drawn. Missy is about to come face to face with the Doctor, and an impossible choice is looming. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTWWR', '1FTWWR', '2015-09-11T19:15:00+01:00', 3000, 1000000, 'f', 780, 4, 12, 'f', '6193322654766764796', 20005, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5383, 'Doctor Who', '12/12. Death in Heaven: Sci-fi drama. With Cybermen on the streets of London, old friends unite against old enemies and the Doctor takes to the air in a startling new role. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTWWS', '1FTWWS', '2015-09-18T19:00:00+01:00', 3600, 1000000, 'f', 786, 4, 12, 'f', '6195916385516819622', 18973, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5384, 'Doctor Who', 'Last Christmas: The Doctor and Clara face their last Christmas. Trapped on an Arctic base, under attack from terrifying creatures, who are you going to call? Santa Claus! Also in HD.', 'crid://fp.bbc.co.uk/1FTW2V', '1FTW2V', '2014-12-26T20:00:00+00:00', 3600, 1000000, 'f', 696, 4, 12, 'f', '6096840509421312821', 354266, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5385, 'Doctor Who', 'Part 1: Warriors'' Gate: The TARDIS is drawn into an empty white void, somewhere between universes. But they are not the only ones trapped there.', 'crid://fp.bbc.co.uk/WG01', 'WG01', '1981-01-03T17:20:00+00:00', 1500, 1000000, 'f', 697, 1, 12, 'f', NULL, 0, 'f', 'gomes', 0); +INSERT INTO "programmes" VALUES(5386, 'Doctor Who', 'Part 2: Warriors'' Gate: When Rorvik learns that Romana is a time sensitive, he takes her prisoner, forcing her to find a way out of the void. The Doctor attempts to discover what lies beyond the mirror.', 'crid://fp.bbc.co.uk/WG01', 'WG02', '1981-01-10T17:10:00+00:00', 1500, 1000000, 'f', 697, 1, 12, 'f', NULL, 0, 'f', 'gomes', 0); +INSERT INTO "programmes" VALUES(5387, 'Doctor Who', 'Part 3: Warriors'' Gate: As the void begins to shrink around them, Rorvik plans to take desperate measures to escape through the mirror. The Doctor discovers the dark secret of the Tharils'' past.', 'crid://fp.bbc.co.uk/WG01', 'WG03', '1981-01-17T17:10:00+00:00', 1500, 1000000, 'f', 697, 1, 12, 'f', NULL, 80834, 'f', 'gomes', 0); +INSERT INTO "programmes" VALUES(5388, 'Doctor Who', 'Part 4: Warriors'' Gate: With the void collapsing around them, time is running out. Rorvik ignores the Doctor''s warnings and takes a desperate gamble which could have fatal consequences.', 'crid://fp.bbc.co.uk/WG01', 'WG04', '1981-01-24T17:10:00+00:00', 1500, 1000000, 'f', 697, 1, 12, 'f', NULL, 0, 'f', 'gomes', 0); +INSERT INTO "programmes" VALUES(5455, 'Primeval', 'The team investigates what looks like a haunted house, and discover a terrifying creature that can camouflage itself to any background. Does it hold the key to an old murder case? [AD,S]', 'crid://www.itv.com/15433517', '15433517', '2009-04-05T20:00:00+01:00', 3600, 1000000, 'f', 710, 9, 12, 'f', '5321268629780895423', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5481, 'Hellboy', 'Action adventure starring Ron Perlman and Selma Blair. A demon grows up to become a defender against the forces of darkness. (2004) [AD,S]', 'crid://www.five.tv/V3L1F#1pt1#0', 'cridwwwfivetvV3L1F1pt10', '2004-01-01T11:00:00+00:00', 3300, 1000000, 'f', 716, 15, 1, 'f', '5697930389703904444', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5482, 'Hellboy', 'Action adventure starring Ron Perlman and Selma Blair. A demon grows up to become a defender against the forces of darkness. (2004) [AD,S]', 'crid://www.five.tv/V3L1F#1', 'V3L1F-1$V', '2004-01-01T12:00:00+00:00', 4800, 1000000, 'f', 716, 15, 1, 'f', '5697945851586170046', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5483, 'Hellboy II: The Golden Army', 'Action fantasy starring Ron Perlman and Selma Blair, 2008. The big red demon returns to save the world when an evil elf unleashes a robot army to destroy humanity [S]', 'crid://www.itv.com/28860295', '28860295', '2008-01-01T12:00:00+00:00', 8700, 1000000, 'f', 716, 9, 1, 'f', '5767328471261190736', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5485, 'Undercover', 'The Hit: An undercover cop is way out of his depth in this riotous gangster comedy! Ara is the victim of an assassination attempt and his shooter''s identity is a real shock. [AD,S]', 'crid://bds.tv/D08Y4M', 'D08Y4M', '2015-07-20T23:40:00+01:00', 2400, 1000000, 'f', 625, 16, 1, 'f', '6173723431683510880', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5497, 'Sherlock', '3/3. His Last Vow: Contemporary crime drama. Through a case of stolen letters, Sherlock encounters Charles Augustus Magnussen, king of blackmail and the one man he truly hates. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTWXN', '1FTWXN', '2015-08-24T20:30:00+01:00', 5400, 1000000, 'f', 767, 1, 1, 'f', '6186662448972749448', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5498, 'Sherlock', '2/3. The Sign of Three: Contemporary crime drama. Sherlock faces his biggest challenge of all - delivering a best man''s speech on John''s wedding day. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTWXM', '1FTWXM', '2015-08-17T20:30:00+01:00', 5400, 1000000, 'f', 767, 1, 1, 'f', '6184064852752127750', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5499, 'Sherlock', '1/3. The Empty Hearse: Contemporary crime drama. Two years after his apparent death and with London under a terrorist threat, Sherlock Holmes walks back into Dr John Watson''s life. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTWXL', '1FTWXL', '2015-08-10T20:30:00+01:00', 5400, 1000000, 'f', 767, 1, 1, 'f', '6181467256531506466', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5500, 'Sherlock', '3/3. The Reichenbach Fall: Contemporary crime drama. Moriarty is back, with the most audacious crime of the century. But is Sherlock Holmes all he claims to be? Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTWJ7', '1FTWJ7', '2012-01-15T21:00:00+00:00', 5400, 1000000, 'f', 721, 1, 1, 'f', '5697966467145052533', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5501, 'Sherlock', '2/3. The Hounds of Baskerville: Contemporary crime drama. Sherlock and John investigate the truth about the monstrous creature which apparently killed their client''s father. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTWJ6', '1FTWJ6', '2012-01-08T20:30:00+00:00', 5400, 1000000, 'f', 721, 1, 1, 'f', '5695361139983296451', 1932, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5502, 'Sherlock', 'New series. 1/3. A Scandal in Belgravia: Contemporary crime drama. Compromising photographs threaten the monarchy, but for Sherlock and John the game is on in more ways than one. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTWJ5', '1FTWJ5', '2012-01-01T20:10:00+00:00', 5400, 1000000, 'f', 721, 1, 1, 'f', '5692758389801919431', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5503, 'Sherlock', '3/3. The Great Game: Five deadly puzzles. A deranged bomber. A battle of wits ensues between Sherlock and the shadowy stranger who seems to know all the answers. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTWBZ', '1FTWBZ', '2010-08-08T21:00:00+01:00', 5400, 1000000, 'f', 722, 1, 1, 'f', '5503115826833964216', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5504, 'Sherlock', '2/3. The Blind Banker: A mysterious cipher is being scrawled on walls around London, and the first person to see it dies within hours of reading it. Can Sherlock and John solve the case? [AD,S]', 'crid://fp.bbc.co.uk/1FTWBY', '1FTWBY', '2010-08-01T20:30:00+01:00', 5400, 1000000, 'f', 722, 1, 1, 'f', '5500510499672208489', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5505, 'Sherlock', 'New series. 1/3. A Study in Pink: Dr Watson and Sherlock Holmes meet, and tackle the case of the Impossible Suicides. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTWBX', '1FTWBX', '2010-07-25T21:00:00+01:00', 5400, 1000000, 'f', 722, 1, 1, 'f', '5497920634392719597', 10233, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5605, 'The Fall', '6/6. Crime drama series. With Paul Spector in custody, DSI Stella Gibson desperately searches for clues to help find Rose Stagg. Contains strong language and disturbing scenes. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTX1W', '1FTX1W', '2014-12-18T21:00:00+00:00', 5400, 1000000, 'f', 740, 2, 2, 'f', '6094285433384976324', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5606, 'The Fall', '5/6. As the investigation tightens around Paul Spector, he makes a bold break for cover. Contains strong language and upsetting scenes. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTX1V', '1FTX1V', '2014-12-11T21:00:00+00:00', 3600, 1000000, 'f', 740, 2, 2, 'f', '6091687837164354030', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5607, 'The Fall', '4/6. Crime drama series. A shocking revelation proves how terrifyingly manipulative Paul Spector can be. Contains strong language and disturbing scenes. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTX1U', '1FTX1U', '2014-12-04T21:00:00+00:00', 3600, 1000000, 'f', 740, 2, 2, 'f', '6089090240943730479', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5608, 'The Fall', '3/6. After the breakthrough identifying Paul Spector as the killer, Stella Gibson must play an agonising waiting game. Contains strong language and disturbing scenes. [AD,S]', 'crid://fp.bbc.co.uk/1FTX1T', '1FTX1T', '2014-11-27T21:00:00+00:00', 3600, 1000000, 'f', 740, 2, 2, 'f', '6086492644723107066', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5609, 'The Fall', '2/6. Crime drama series. Stella Gibson realises that her mistakes have put the life of witness Rose Stagg in danger. Contains some strong language and disturbing scenes. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTX1S', '1FTX1S', '2014-11-20T21:00:00+00:00', 3600, 1000000, 'f', 740, 2, 2, 'f', '6083895048502486109', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5610, 'The Fall', '1/6. Gibson continues her hunt for the killer. Contains disturbing scenes. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTX1R', '1FTX1R', '2014-11-13T21:00:00+00:00', 3600, 1000000, 'f', 740, 2, 2, 'f', '6081297452281864677', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5611, 'The Fall', '5/5. Crime drama series. Spector makes a dramatic confession and a decision that binds his fate to Gibson. Contains strong language, sexual content and some violence. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTWRV', '1FTWRV', '2013-06-10T21:00:00+01:00', 3600, 1000000, 'f', 741, 2, 2, 'f', '5887946614550556624', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5612, 'The Fall', '4/5. Eastwood''s investigation into Olson''s murder brings up uncomfortable truths for Burns. Contains some strong language, some violence and disturbing scenes. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTWRU', '1FTWRU', '2013-06-03T21:00:00+01:00', 3600, 1000000, 'f', 741, 2, 2, 'f', '5885349018329924215', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5613, 'The Fall', '3/5. Crime drama. As Stella Gibson takes control of the hunt for the serial killer, Spector realises his perfect kill is tainted. Contains strong language and some violence. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTWRT', '1FTWRT', '2013-05-27T21:00:00+01:00', 3600, 1000000, 'f', 741, 2, 2, 'f', '5882751422109302450', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5614, 'The Fall', '2/5. DSI Stella Gibson''s fears are realised as Spector''s murder spree in Belfast continues. Contains some strong language, sexual content and disturbing scenes. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTWRS', '1FTWRS', '2013-05-20T21:00:00+01:00', 3600, 1000000, 'f', 741, 2, 2, 'f', '5880153825888679390', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5615, 'The Fall', '1/5. When a Belfast murder remains unsolved, Stella Gibson is brought in to catch the killer. Contains some strong language and disturbing scenes. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTWRR', '1FTWRR', '2013-05-13T21:00:00+01:00', 3600, 1000000, 'f', 741, 2, 2, 'f', '5877556229668057253', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5620, 'Undercover', 'The Finale: It''d be a crime to miss the last episode of this mob comedy. Yurik is set to name his successor. Zoe is held captive by the Sarkissians - can Chris save the day? [AD,S]', 'crid://bds.tv/D0AZ81', 'D0AZ81', '2015-07-27T23:40:00+01:00', 2400, 1000000, 'f', 625, 16, 1, 'f', '6176321027904131691', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5621, 'Doctor Who', 'The Night of the Doctor: A special minisode revealing the Doctor''s dark chapter, starring Paul McGann. Whatever became of the Eighth Doctor?', 'crid://fp.bbc.co.uk/TNOTD', 'TNOTD', '2013-11-23T18:00:00+00:00', 409, 1000000, 'f', 745, 1, 1, 'f', NULL, 103919, 'f', 'gomes', 0); +INSERT INTO "programmes" VALUES(5622, 'Doctor Who', 'About Time: A time-machine malfunction strands the Doctor (Paul McGann) in 1999 San Francisco and enables archcriminal the Master (Eric Roberts) to escape.', 'crid://fp.bbc.co.uk/DWTVM', 'DWTVM', '1996-05-27T18:00:00+00:00', 5149, 1000000, 'f', 745, 1, 1, 'f', NULL, 2769627, 'f', 'gomes', 0); +INSERT INTO "programmes" VALUES(5647, 'Indiana Jones and the Temple of Doom', 'Indiana Jones (Harrison Ford) teams up with a singer (Kate Capshaw) and a boy to help residents of an Indian village retrieve a sacred stone. [1984] [S] Then 60 Seconds.', 'crid://fp.bbc.co.uk/4J4351', '4J4351', '1984-01-01T12:00:00+00:00', 6600, 1000000, 'f', 757, 4, 1, 'f', '5181016472469577397', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5648, 'Indiana Jones and the Last Crusade', 'Indiana Jones (Harrison Ford) teams up with his father (Sean Connery) to find the Holy Grail, and to save the world from the Nazis who are after the same goal. [1989] [S] Then 60 Seconds.', 'crid://fp.bbc.co.uk/4J4584', '4J4584', '1989-01-01T12:00:00+00:00', 7200, 1000000, 'f', 757, 4, 1, 'f', '5183596029827556746', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5649, 'Indiana Jones and the Kingdom of the...', '...Crystal Skull. Action adventure. Intrepid archaeologist Indiana Jones (Harrison Ford) is back in action to save an old colleague and thwart a dangerous Soviet plot. Also in HD. [2008] [AD,S]', 'crid://fp.bbc.co.uk/4J3ZS2', '4J3ZS2', '2008-01-01T12:00:00+00:00', 6900, 1000000, 'f', 757, 1, 1, 'f', '5962134014143021989', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5650, 'Raiders of the Lost Ark', 'Archeologist Indiana Jones is hired by the US government to find the Ark of the Covenant, the supposed resting place of the tablets on which the Ten Commandments were written. [1981] Then 60 Seconds.', 'crid://fp.bbc.co.uk/4J436Z', '4J436Z', '1981-01-01T12:00:00+00:00', 6600, 1000000, 'f', 757, 4, 1, 'f', '5178418876248953996', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5836, 'Casino Royale', 'Extravagant spy spoof starring David Niven and Woody Allen, 1967. Sir James Bond is brought out of retirement to save the world again. But can he handle his old lifestyle? [AD,S]', 'crid://www.itv.com/552142', '552142', '1967-01-01T12:00:00+00:00', 9900, 1000000, 'f', 764, 11, 11, 'f', '6162178559969372815', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5837, 'On Her Majesty''s Secret Service', 'Spy adventure starring George Lazenby and Diana Rigg, 1969. James Bond quits the secret service to track down Blofeld, who is developing dangerous biological weapons [AD,S]', 'crid://www.itv.com/40193', '40193', '1969-01-01T12:00:00+00:00', 10500, 1000000, 'f', 764, 11, 11, 'f', '6164776156189994620', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5838, 'Live and Let Die', 'Spy drama starring Roger Moore and Yaphet Kotto, 1973. James Bond uncovers a plan by a drugs kingpin to get the world hooked on heroin [AD,S]', 'crid://www.itv.com/256661', '256661', '1973-01-01T12:00:00+00:00', 9000, 1000000, 'f', 764, 11, 11, 'f', '6178877392816180638', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5839, 'The Man with the Golden Gun', 'Spy thriller starring Roger Moore and Christopher Lee, 1974. James Bond searches for a missing solar device and finds himself the target of charismatic assassin Scaramanga [AD,S]', 'crid://www.itv.com/113761', '113761', '1974-01-01T12:00:00+00:00', 9600, 1000000, 'f', 764, 11, 11, 'f', '6061243392539510303', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5840, 'The Spy Who Loved Me', 'James Bond adventure starring Roger Moore and Barbara Bach, 1977. 007 joins forces with his female Russian counterpart when US and Russian submarines vanish from the ocean [AD,S]', 'crid://www.itv.com/426198', '426198', '1977-01-01T12:00:00+00:00', 9600, 1000000, 'f', 764, 11, 11, 'f', '6179619563164929492', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5841, 'Moonraker', 'British agent James Bond investigates the disappearance of an Anglo-American space shuttle which has fallen into the hands of a megalomaniac intent on world domination. [1979] [AD,S]', 'crid://www.itv.com/41216', '41216', '1979-01-01T12:00:00+00:00', 9000, 1000000, 'f', 764, 11, 11, 'f', '5533119610934548321', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5842, 'For Your Eyes Only', 'Spy thriller starring Roger Moore and Carole Bouquet, 1981. James Bond must recover a strategic communications device before it falls into the hands of the Russians [AD,S]', 'crid://www.itv.com/554300', '554300', '1981-01-01T12:00:00+00:00', 9600, 1000000, 'f', 764, 11, 11, 'f', '6071262692247622805', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5843, 'Octopussy', 'Spy thriller starring Roger Moore and Maud Adams, 1983. After a British agent is killed, James Bond heads for India, where he uncovers a sinister plot [AD,S]', 'crid://www.itv.com/576294', '576294', '1983-01-01T12:00:00+00:00', 9900, 1000000, 'f', 764, 11, 11, 'f', '6073118118119494345', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5844, 'A View to a Kill', 'Spy drama in which British agent James Bond is assigned to foil a wealthy industrialist''s plot to destroy California''s Silicon Valley and corner the world''s microchip market. [1985] [AD,S]', 'crid://www.itv.com/589286', '589286', '1985-01-01T12:00:00+00:00', 9600, 1000000, 'f', 764, 11, 11, 'f', '5534663222180730782', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5845, 'The Living Daylights', 'James Bond action adventure starring Timothy Dalton and Jeroen Krabbe, 1987. 007 is sent to aid the defection of a KGB general involved in a drugs deal with an American arms dealer [AD,S]', 'crid://www.itv.com/526078', '526078', '1987-01-01T12:00:00+00:00', 9900, 1000000, 'f', 764, 11, 11, 'f', '6177764137293057347', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5846, 'Licence to Kill', 'James Bond adventure starring Timothy Dalton and Carey Lowell, 1989. Agent 007 goes solo in pursuit of the brutal drugs baron responsible for killing his best friend''s wife [AD,S]', 'crid://www.itv.com/51044596', '51044596', '1989-01-01T12:00:00+00:00', 9900, 1000000, 'f', 764, 11, 11, 'f', '6175166541072435162', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5847, 'GoldenEye', 'All-action Bond adventure starring Pierce Brosnan and Sean Bean, 1995. James Bond tries to discover who is behind the destruction of a space weapons centre inside the Arctic Circle [S]', 'crid://www.itv.com/635227', '635227', '1995-01-01T12:00:00+00:00', 9900, 1000000, 'f', 764, 9, 11, 'f', '5737270572136902188', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5848, 'Tomorrow Never Dies', 'James Bond action thriller starring Pierce Brosnan and Teri Hatcher, 1997. A media baron sets about triggering WWIII so that his 24-hour news network can profit from exclusive coverage [AD,S]', 'crid://www.itv.com/851310', '851310', '1997-01-01T12:00:00+00:00', 9000, 1000000, 'f', 764, 9, 11, 'f', '6097238653162330933', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5849, 'The World is Not Enough', 'Suave British secret agent James Bond is embroiled in an all-action race to defuse an international power struggle as the world''s oil supply hangs in the balance. [1999] [AD,S]', 'crid://www.itv.com/1886897pt1#0', 'cridwwwitvcom1886897pt10', '1999-01-01T11:00:00+00:00', 8400, 1000000, 'f', 764, 9, 11, 'f', '5511703614214997357', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5850, 'The World is Not Enough', 'Suave British secret agent James Bond is embroiled in an all-action race to defuse an international power struggle as the world''s oil supply hangs in the balance. [1999] [AD,S]', 'crid://www.itv.com/1886897', '1886897', '1999-01-01T12:00:00+00:00', 9000, 1000000, 'f', 764, 9, 11, 'f', '5512021871291631137', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5851, 'Die Another Day', 'Action adventure starring Pierce Brosnan and Halle Berry, 2002. James Bond travels across North Korea, Cuba, England and Iceland in pursuit of a duo of villains [AD,S]', 'crid://www.itv.com/5571698', '5571698', '2002-01-01T12:00:00+00:00', 9900, 1000000, 'f', 764, 9, 11, 'f', '6045286728749909392', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5852, 'Casino Royale', 'Action-packed reboot of the James Bond series. Newly-qualified agent 007 is sent on his first mission - investigating a banker who is suspected of aiding international terrorists. [2006] [AD,S]', 'crid://www.itv.com/15128577', '15128577', '2006-01-01T12:00:00+00:00', 10500, 1000000, 'f', 764, 9, 11, 'f', '5511279700942884101', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5853, 'Quantum of Solace', 'Espionage thriller starring Daniel Craig and Olga Kurylenko, 2008. James Bond heads to Bolivia to take down another villain, but MI5 begins to doubt his abilities as an agent [AD,S]', 'crid://www.itv.com/18541680', '18541680', '2008-01-01T12:00:00+00:00', 7800, 1000000, 'f', 764, 9, 11, 'f', '6031912200590165124', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5854, 'Skyfall', 'Action starring Daniel Craig and Javier Bardem, 2012. A troubled James Bond returns from hiding to take on a chilling villain while protecting the MI6 boss [AD,S]', 'crid://www.itv.com/50308410', '50308410', '2012-01-01T12:00:00+00:00', 10500, 1000000, 'f', 764, 9, 11, 'f', '6134347170599741257', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5855, 'The Bourne Identity', 'Espionage thriller starring Matt Damon and Franka Potente, 2002. A government assassin with amnesia tries to piece together his identity while evading his pursuers [AD,S]', 'crid://www.itv.com/5396236', '5396236', '2002-01-01T12:00:00+00:00', 8700, 1000000, 'f', 765, 9, 11, 'f', '5840849721434140410', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5856, 'The Bourne Supremacy', 'Spy thriller sequel starring Matt Damon and Franka Potente, 2004. Bourne is again forced to take up his former life as a trained assassin when a CIA operation goes wrong [AD,S]', 'crid://www.itv.com/6276492', '6276492', '2004-01-01T12:00:00+00:00', 8100, 1000000, 'f', 765, 9, 11, 'f', '5975167092675396225', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5857, 'The Bourne Ultimatum', 'Thriller sequel starring Matt Damon and Joan Allen, 2007. A former CIA hitman with amnesia joins forces with a London reporter to uncover the truth about his past [AD,S]', 'crid://www.itv.com/22486578', '22486578', '2007-01-01T12:00:00+00:00', 8400, 1000000, 'f', 765, 9, 11, 'f', '5759906767773703910', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5859, 'The Bourne Legacy', '(2012) Sequel to The Bourne Ultimatum thriller. Jeremy Renner stars as a genetically enhanced CIA spy fleeing for his life from his employers. With Rachel Weisz and Edward Norton. Violence. [AD,S]', 'crid://www.channel4.com/55970/001', '55970-001', '2012-01-01T12:00:00+00:00', 9600, 1000000, 'f', 765, 12, 11, 'f', '6115808373767150564', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5911, 'Sherlock', '3/3. His Last Vow: Contemporary crime drama. Through a case of stolen letters, Sherlock encounters Charles Augustus Magnussen, king of blackmail and the one man he truly hates. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTWXN', '1FTWXN', '2015-08-24T20:30:00+01:00', 5400, 1000000, 'f', 774, 1, 12, 'f', '6186662448972749448', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5912, 'Sherlock', '2/3. The Sign of Three: Contemporary crime drama. Sherlock faces his biggest challenge of all - delivering a best man''s speech on John''s wedding day. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTWXM', '1FTWXM', '2015-08-17T20:30:00+01:00', 5400, 1000000, 'f', 774, 1, 12, 'f', '6184064852752127750', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5913, 'Sherlock', '3/3. The Reichenbach Fall: Contemporary crime drama. Moriarty is back, with the most audacious crime of the century. But is Sherlock Holmes all he claims to be? Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTWJ7', '1FTWJ7', '2012-01-15T21:00:00+00:00', 5400, 1000000, 'f', 772, 1, 12, 'f', '5697966467145052533', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5914, 'Sherlock', '2/3. The Hounds of Baskerville: Contemporary crime drama. Sherlock and John investigate the truth about the monstrous creature which apparently killed their client''s father. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTWJ6', '1FTWJ6', '2012-01-08T20:30:00+00:00', 5400, 1000000, 'f', 772, 1, 12, 'f', '5695361139983296451', 1932, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5915, 'Sherlock', 'New series. 1/3. A Scandal in Belgravia: Contemporary crime drama. Compromising photographs threaten the monarchy, but for Sherlock and John the game is on in more ways than one. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTWJ5', '1FTWJ5', '2012-01-01T20:10:00+00:00', 5400, 1000000, 'f', 772, 1, 12, 'f', '5692758389801919431', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5916, 'Sherlock', '3/3. The Great Game: Five deadly puzzles. A deranged bomber. A battle of wits ensues between Sherlock and the shadowy stranger who seems to know all the answers. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTWBZ', '1FTWBZ', '2010-08-08T21:00:00+01:00', 5400, 1000000, 'f', 773, 1, 12, 'f', '5503115826833964216', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5917, 'Sherlock', '2/3. The Blind Banker: A mysterious cipher is being scrawled on walls around London, and the first person to see it dies within hours of reading it. Can Sherlock and John solve the case? [AD,S]', 'crid://fp.bbc.co.uk/1FTWBY', '1FTWBY', '2010-08-01T20:30:00+01:00', 5400, 1000000, 'f', 773, 1, 12, 'f', '5500510499672208489', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5918, 'Sherlock', 'New series. 1/3. A Study in Pink: Dr Watson and Sherlock Holmes meet, and tackle the case of the Impossible Suicides. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTWBX', '1FTWBX', '2010-07-25T21:00:00+01:00', 5400, 1000000, 'f', 773, 1, 12, 'f', '5497920634392719597', 10233, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5919, 'Sherlock', '1/3. The Empty Hearse: Contemporary crime drama. Two years after his apparent death and with London under a terrorist threat, Sherlock Holmes walks back into Dr John Watson''s life. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTWXL', '1FTWXL', '2015-08-10T20:30:00+01:00', 5400, 1000000, 'f', 774, 1, 12, 'f', '6181467256531506466', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5927, 'Never Say Never Again', 'Remake of Thunderball starring Sean Connery and Klaus Maria Brandauer, 1983. 007 crosses swords with a megalomaniac who steals two cruise missiles armed with nuclear warheads [AD,S]', 'crid://www.itv.com/329533', '329533', '1983-01-01T12:00:00+00:00', 9900, 1000000, 'f', 764, 11, 11, 'f', '6170326971923301973', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5928, 'The National Lottery: In It to...', '...Win It 2012. Dale Winton hosts the quiz show where five contestants compete to win a big jackpot or share the spoils. Includes the Thunderball, Dream Number and Lotto Draws with OJ Borg. [S]', 'crid://fp.bbc.co.uk/1RKB7F', '1RKB7F', '2012-01-01T12:00:00+00:00', 3300, 1000000, 'f', 764, 1, 11, 'f', '5468963105889633506', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5929, 'Casino Royale', 'Extravagant spy spoof starring David Niven and Woody Allen, 1967. Sir James Bond is brought out of retirement to save the world again. But can he handle his old lifestyle? [AD,S]', 'crid://www.itv.com/552142', '552142', '1967-01-01T12:00:00+00:00', 9900, 1000000, 'f', 776, 11, 1, 'f', '6162178559969372815', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5930, 'On Her Majesty''s Secret Service', 'Spy adventure starring George Lazenby and Diana Rigg, 1969. James Bond quits the secret service to track down Blofeld, who is developing dangerous biological weapons [AD,S]', 'crid://www.itv.com/40193', '40193', '1969-01-01T12:00:00+00:00', 10500, 1000000, 'f', 776, 11, 1, 'f', '6164776156189994620', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5931, 'Live and Let Die', 'Spy drama starring Roger Moore and Yaphet Kotto, 1973. James Bond uncovers a plan by a drugs kingpin to get the world hooked on heroin [AD,S]', 'crid://www.itv.com/256661', '256661', '1973-01-01T12:00:00+00:00', 9300, 1000000, 'f', 776, 11, 1, 'f', '6180692875492241869', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5932, 'The Man with the Golden Gun', 'Spy thriller starring Roger Moore and Christopher Lee, 1974. James Bond searches for a missing solar device and finds himself the target of charismatic assassin Scaramanga [AD,S]', 'crid://www.itv.com/113761', '113761', '1974-01-01T12:00:00+00:00', 9600, 1000000, 'f', 776, 11, 1, 'f', '6181474989036802179', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5933, 'The Spy Who Loved Me', 'James Bond adventure starring Roger Moore and Barbara Bach, 1977. 007 joins forces with his female Russian counterpart when US and Russian submarines vanish from the ocean [AD,S]', 'crid://www.itv.com/426198', '426198', '1977-01-01T12:00:00+00:00', 9600, 1000000, 'f', 776, 11, 1, 'f', '6181846074211176604', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5934, 'Moonraker', 'British agent James Bond investigates the disappearance of an Anglo-American space shuttle which has fallen into the hands of a megalomaniac intent on world domination. [1979] [AD,S]', 'crid://www.itv.com/41216', '41216', '1979-01-01T12:00:00+00:00', 9000, 1000000, 'f', 776, 11, 1, 'f', '5533119610934548321', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5935, 'For Your Eyes Only', 'Spy thriller starring Roger Moore and Carole Bouquet, 1981. James Bond must recover a strategic communications device before it falls into the hands of the Russians [AD,S]', 'crid://www.itv.com/554300', '554300', '1981-01-01T12:00:00+00:00', 9600, 1000000, 'f', 776, 11, 1, 'f', '6182588244559925455', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5936, 'Octopussy', 'Spy thriller starring Roger Moore and Maud Adams, 1983. After a British agent is killed, James Bond heads for India, where he uncovers a sinister plot [AD,S]', 'crid://www.itv.com/576294', '576294', '1983-01-01T12:00:00+00:00', 9900, 1000000, 'f', 776, 11, 1, 'f', '6073118118119494345', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5937, 'A View to a Kill', 'Spy drama in which British agent James Bond is assigned to foil a wealthy industrialist''s plot to destroy California''s Silicon Valley and corner the world''s microchip market. [1985] [AD,S]', 'crid://www.itv.com/589286', '589286', '1985-01-01T12:00:00+00:00', 9600, 1000000, 'f', 776, 11, 1, 'f', '5534663222180730782', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5938, 'The Living Daylights', 'James Bond action adventure starring Timothy Dalton and Jeroen Krabbe, 1987. 007 is sent to aid the defection of a KGB general involved in a drugs deal with an American arms dealer [AD,S]', 'crid://www.itv.com/526078', '526078', '1987-01-01T12:00:00+00:00', 9900, 1000000, 'f', 776, 11, 1, 'f', '6177764137293057347', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5939, 'Licence to Kill', 'James Bond adventure starring Timothy Dalton and Carey Lowell, 1989. Agent 007 goes solo in pursuit of the brutal drugs baron responsible for killing his best friend''s wife [AD,S]', 'crid://www.itv.com/51044596', '51044596', '1989-01-01T12:00:00+00:00', 9900, 1000000, 'f', 776, 11, 1, 'f', '6175166541072435162', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5940, 'GoldenEye', 'All-action Bond adventure starring Pierce Brosnan and Sean Bean, 1995. James Bond tries to discover who is behind the destruction of a space weapons centre inside the Arctic Circle [S]', 'crid://www.itv.com/635227', '635227', '1995-01-01T12:00:00+00:00', 9900, 1000000, 'f', 776, 9, 1, 'f', '5737270572136902188', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5941, 'Tomorrow Never Dies', 'James Bond action thriller starring Pierce Brosnan and Teri Hatcher, 1997. A media baron sets about triggering WWIII so that his 24-hour news network can profit from exclusive coverage [AD,S]', 'crid://www.itv.com/851310', '851310', '1997-01-01T12:00:00+00:00', 9000, 1000000, 'f', 776, 9, 1, 'f', '6097238653162330933', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5942, 'The World is Not Enough', 'Suave British secret agent James Bond is embroiled in an all-action race to defuse an international power struggle as the world''s oil supply hangs in the balance. [1999] [AD,S]', 'crid://www.itv.com/1886897pt1#0', 'cridwwwitvcom1886897pt10', '1999-01-01T11:00:00+00:00', 8400, 1000000, 'f', 776, 9, 1, 'f', '5511703614214997357', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5943, 'The World is Not Enough', 'Suave British secret agent James Bond is embroiled in an all-action race to defuse an international power struggle as the world''s oil supply hangs in the balance. [1999] [AD,S]', 'crid://www.itv.com/1886897', '1886897', '1999-01-01T12:00:00+00:00', 9000, 1000000, 'f', 776, 9, 1, 'f', '5512021871291631137', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5944, 'Die Another Day', 'Action adventure starring Pierce Brosnan and Halle Berry, 2002. James Bond travels across North Korea, Cuba, England and Iceland in pursuit of a duo of villains [AD,S]', 'crid://www.itv.com/5571698', '5571698', '2002-01-01T12:00:00+00:00', 9900, 1000000, 'f', 776, 9, 1, 'f', '6045286728749909392', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5945, 'Casino Royale', 'Action-packed reboot of the James Bond series. Newly-qualified agent 007 is sent on his first mission - investigating a banker who is suspected of aiding international terrorists. [2006] [AD,S]', 'crid://www.itv.com/15128577', '15128577', '2006-01-01T12:00:00+00:00', 10500, 1000000, 'f', 776, 9, 1, 'f', '5511279700942884101', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5946, 'Quantum of Solace', 'Espionage thriller starring Daniel Craig and Olga Kurylenko, 2008. James Bond heads to Bolivia to take down another villain, but MI5 begins to doubt his abilities as an agent [AD,S]', 'crid://www.itv.com/18541680', '18541680', '2008-01-01T12:00:00+00:00', 7800, 1000000, 'f', 776, 9, 1, 'f', '6031912200590165124', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5947, 'Skyfall', 'Action starring Daniel Craig and Javier Bardem, 2012. A troubled James Bond returns from hiding to take on a chilling villain while protecting the MI6 boss [AD,S]', 'crid://www.itv.com/50308410', '50308410', '2012-01-01T12:00:00+00:00', 10500, 1000000, 'f', 776, 9, 1, 'f', '6134347170599741257', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5948, 'Never Say Never Again', 'Remake of Thunderball starring Sean Connery and Klaus Maria Brandauer, 1983. 007 crosses swords with a megalomaniac who steals two cruise missiles armed with nuclear warheads [AD,S]', 'crid://www.itv.com/329533', '329533', '1983-01-01T12:00:00+00:00', 9900, 1000000, 'f', 776, 11, 1, 'f', '6170326971923301973', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5949, 'The National Lottery: In It to...', '...Win It 2012. Dale Winton hosts the quiz show where five contestants compete to win a big jackpot or share the spoils. Includes the Thunderball, Dream Number and Lotto Draws with OJ Borg. [S]', 'crid://fp.bbc.co.uk/1RKB7F', '1RKB7F', '2012-01-01T12:00:00+00:00', 3300, 1000000, 'f', 776, 1, 1, 'f', '5468963105889633506', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5962, 'Horrid Henry', 'Good Morning Henry!: The animated adventures of the mischievous anti-hero. Horrid Henry presents his guide to having a good morning! [AD,S]', 'crid://www.itv.com/181329837', '181329837', '2015-09-12T08:45:00+01:00', 900, 1000000, 'f', 781, 8, 11, 'f', '6193531390437728219', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5964, 'Horrid Henry', 'Horrid Henry and the Detention Club: When Henry becomes a member of the Detention Club he finds out there is more to a good story than just telling tales! [AD,S]', 'crid://www.itv.com/181329869', '181329869', '2015-09-13T08:45:00+01:00', 900, 1000000, 'f', 781, 8, 11, 'f', '6193902475612102677', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5993, 'Doctor Who', '1/12. The Magician''s Apprentice: When the skies of Earth are frozen by a mysterious alien force, Clara needs her friend. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTX21', '1FTX21', '2015-09-19T19:40:00+01:00', 3000, 1000000, 'f', 797, 1, 1, 'f', '6196297778604575759', 12709, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5994, 'Lewis', 'Entry Wounds: Crime drama series. Ch Supt Innocent asks Lewis to come out of retirement to help newly promoted DI Hathaway with his first murder investigation.', 'crid://www.itv.com/137436425', '137436425', '2015-09-19T20:00:00+01:00', 7200, 1000000, 'f', 763, 10, 2, 'f', '6196302933344134093', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5995, 'Horrid Henry', 'Horrid Henry and the Phantom Fish Filcher: Animated adventures. It is Bring Your Baby to School day and Henry discovers that looking after everyone''s babies is not easy. [AD,S]', 'crid://www.itv.com/182630485', '182630485', '2015-09-19T08:45:00+01:00', 900, 1000000, 'f', 781, 8, 11, 'f', '6196128986658349884', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5996, 'Doctor Who', '1/12. The Magician''s Apprentice: When the skies of Earth are frozen by a mysterious alien force, Clara needs her friend. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTX21', '1FTX21', '2015-09-25T19:15:00+01:00', 2700, 1000000, 'f', 786, 4, 12, 'f', '6198517847208007773', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(5997, 'Horrid Henry', 'Horrid Henry and the Tongue Twisters: Animated adventures. There is nothing Henry likes more than a good tongue twister, but it seems that someone else likes them too! [AD,S]', 'crid://www.itv.com/182630527', '182630527', '2015-09-20T08:45:00+01:00', 900, 1000000, 'f', 781, 8, 11, 'f', '6196500071832724338', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6000, 'Doctor Who', '2/12. The Witch''s Familiar: Sci-fi drama. Trapped and alone on the planet Skaro, the Doctor is at the heart of the Dalek Empire - no sonic, no TARDIS, nobody to help. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTX22', '1FTX22', '2015-09-26T19:45:00+01:00', 3000, 1000000, 'f', 797, 1, 1, 'f', '6198896663315387025', 19023, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6001, 'Lewis', 'The Lions of Nemea: When a classics scholar is stabbed to death and dumped in the Oxford Canal, Lewis, Hathaway and Maddox find themselves sorely tested by a bizarre case. [AD,S]', 'crid://www.itv.com/137437014', '137437014', '2015-09-26T20:00:00+01:00', 7200, 1000000, 'f', 763, 10, 2, 'f', '6198900529564755538', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6002, 'Horrid Henry', 'Horrid Henry and the Gnomes Knowhow: The animated adventures of the mischievous anti-hero. When the going gets tough, the tough get going - and of course that includes Henry! [AD,S]', 'crid://www.itv.com/183757511', '183757511', '2015-09-26T08:15:00+01:00', 900, 1000000, 'f', 781, 8, 11, 'f', '6198718851937838404', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6003, 'Doctor Who', '2/12. The Witch''s Familiar: Sci-fi drama. Trapped and alone on the planet Skaro, the Doctor is at the heart of the Dalek Empire - no sonic, no TARDIS, nobody to help. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTX22', '1FTX22', '2015-10-02T19:10:00+01:00', 3000, 1000000, 'f', 786, 4, 12, 'f', '6201114154938440221', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6005, 'Orphan Black', '2/10. Transitory Sacrifices of Crisis: More revelations about the ruthless Castor clones unsettle Sarah. Contains some sexual content and some upsetting scenes. Also in HD. [S]', 'crid://fp.bbc.co.uk/4J63VO', '4J63VO', '2015-09-27T02:50:00+01:00', 2700, 1000000, 'f', 787, 4, 1, 'f', '6199006184989563678', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6006, 'Orphan Black', '1/10. The Weight of This Combination: Sarah tries to bluff a ruthless enforcer that all is well at the Dyad Institute. Contains some violence and some upsetting scenes. Also in HD. [S]', 'crid://fp.bbc.co.uk/4J63VN', '4J63VN', '2015-09-27T02:10:00+01:00', 2400, 1000000, 'f', 787, 4, 1, 'f', '6198995877068053277', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6007, 'Horrid Henry', 'Horrid Henry Is Too Cool for School: Animated adventures with the mischievous anti-hero. Henry is too cool for school - or is he? [AD,S]', 'crid://www.itv.com/183757553', '183757553', '2015-09-27T08:15:00+01:00', 900, 1000000, 'f', 781, 8, 11, 'f', '6199089937112213020', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6008, 'Doctor Who', 'The Magician''s Apprentice/The Witch''s Familiar: Feature-length episode of the sci-fi drama. When the skies of Earth are frozen, Clara needs her friend. But where is the Doctor? Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTX2D', '1FTX2D', '2015-09-27T15:15:00+01:00', 5400, 1000000, 'f', 786, 1, 12, 'f', '6199198170019570415', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6009, 'Orphan Black', '4/10. Newer Elements of Our Defense: Sci-fi drama series. Sarah is caught between two ''brothers'', while Alison meets a face from her past. Contains some upsetting scenes. Also in HD. [S]', 'crid://fp.bbc.co.uk/4J63VQ', '4J63VQ', '2015-09-28T02:15:00+01:00', 2700, 1000000, 'f', 787, 4, 1, 'f', '6199368250732616481', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6010, 'Orphan Black', '3/10. Formalized, Complex, and Costly: Cosima gets inside the head of one Castor clone while Sarah tracks another. Contains some violence and some upsetting scenes. Also in HD. [S]', 'crid://fp.bbc.co.uk/4J63VP', '4J63VP', '2015-09-28T01:35:00+01:00', 2400, 1000000, 'f', 787, 4, 1, 'f', '6199357942811106080', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6012, 'Orphan Black', '6/10. Certain Agony of the Battlefield: Cruel experimentation and a confrontation in the Castor camp have bloody consequences. Contains some violence and some upsetting scenes. Also in HD. [S]', 'crid://fp.bbc.co.uk/4J63VS', '4J63VS', '2015-09-29T02:10:00+01:00', 2700, 1000000, 'f', 787, 4, 1, 'f', '6199738047416802083', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6013, 'Orphan Black', '5/10. Scarred by Many Past Frustrations: Captive in the Castor compound, Helena prepares her escape. Cosima dares to go on a date. Contains some upsetting scenes. Also in HD. [S]', 'crid://fp.bbc.co.uk/4J63VR', '4J63VR', '2015-09-29T01:25:00+01:00', 2700, 1000000, 'f', 787, 4, 1, 'f', '6199726451005102882', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6015, 'Doctor Who', '3/12. Under the Lake: Sci-fi drama. When an underwater base comes under attack, the Doctor and Clara must save the frightened crew and defeat an impossible threat. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTX23', '1FTX23', '2015-10-03T20:25:00+01:00', 2700, 1000000, 'f', 797, 1, 1, 'f', '6201504567457519919', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6016, 'Orphan Black', '8/10. Ruthless in Purpose and Insidious in Method: Sci-fi drama series. Some desperate schemes turn upon the use of unwitting clone Crystal and Cosima''s lab assistant Scott. Also in HD. [S]', 'crid://fp.bbc.co.uk/4J63VU', '4J63VU', '2015-10-03T03:00:00+01:00', 2400, 1000000, 'f', 787, 4, 1, 'f', '6201235273016187692', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6017, 'Orphan Black', '7/10. Community of Dreadful Fear and Hate: Alison faces two tough opponents during a fraught day of campaigning and conniving. Also in HD. [S]', 'crid://fp.bbc.co.uk/4J63VT', '4J63VT', '2015-10-03T02:15:00+01:00', 2700, 1000000, 'f', 787, 4, 1, 'f', '6201223676604488491', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6018, 'Lewis', 'Beyond Good and Evil: Police drama series. A case from 13 years earlier comes back to haunt Lewis when the forensic evidence used against a serial killer is called into question. [AD,S]', 'crid://www.itv.com/137278454', '137278454', '2015-10-03T20:00:00+01:00', 7200, 1000000, 'f', 791, 10, 2, 'f', '6201498125785376427', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6019, 'Horrid Henry', 'Horrid Henry''s Animal Antics: The animated adventures of the mischievous anti-hero. Fluffy and Fang get serious when a Boodle Poodle moves in next door. [AD,S]', 'crid://www.itv.com/184783310', '184783310', '2015-10-03T08:15:00+01:00', 900, 1000000, 'f', 781, 8, 11, 'f', '6201316448158459909', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6020, 'Doctor Who', '3/12. Under the Lake: Sci-fi drama. When an underwater base comes under attack, the Doctor and Clara must save the frightened crew and defeat an impossible threat. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTX23', '1FTX23', '2015-10-09T19:15:00+01:00', 2700, 1000000, 'f', 786, 4, 12, 'f', '6203713039649250491', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6021, 'Orphan Black', '10/10. History Yet to Be Written: A series of showdowns violently unveil a deeper conspiracy. Contains some violence and some upsetting scenes. Also in HD. [S]', 'crid://fp.bbc.co.uk/4J63VW', '4J63VW', '2015-10-04T03:10:00+01:00', 2700, 1000000, 'f', 787, 4, 1, 'f', '6201608935170940262', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6022, 'Orphan Black', '9/10. Insolvent Phantom of Tomorrow: Sarah, Mrs S and Felix return to London seeking the ''Castor original'' man. Contains some violence and some upsetting scenes. Also in HD. [S]', 'crid://fp.bbc.co.uk/4J63VV', '4J63VV', '2015-10-04T02:25:00+01:00', 2700, 1000000, 'f', 787, 4, 1, 'f', '6201597338759241061', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6023, 'Horrid Henry', 'Horrid Henry How to Be Horrid: The animated adventures of the mischievous anti-hero. Being horrid is all about being horrid. Henry shows us how. [AD,S]', 'crid://www.itv.com/184783430', '184783430', '2015-10-04T08:15:00+01:00', 900, 1000000, 'f', 781, 8, 11, 'f', '6201687533332834346', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6026, 'Lewis', 'One for Sorrow (Part 1): Crime drama. Faced with the seemingly impossible task of identifying the remains of a body discovered in a well, Lewis must also contend with a new boss. [AD,S]', 'crid://www.itv.com/184783688', '184783688', '2015-10-06T21:00:00+01:00', 3600, 1000000, 'f', 763, 8, 2, 'f', '6202626842680441629', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6028, 'Doctor Who', '4/12. Before the Flood: Sci-fi drama. On a remote army outpost, a fearsome alien warlord called the Fisher King sets in motion a twisted plan to ensure his own survival. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTX24', '1FTX24', '2015-10-10T20:25:00+01:00', 2700, 1000000, 'f', 797, 1, 1, 'f', '6204102163678143245', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6029, 'Horrid Henry', 'Horrid Henry''s Top Ten Things: More animated adventures of the mischievous anti-hero. Henry draws up his top ten of things he loves to hate - but what will be on the list? [AD,S]', 'crid://www.itv.com/185944919', '185944919', '2015-10-10T08:15:00+01:00', 900, 1000000, 'f', 781, 8, 11, 'f', '6203914044379081880', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6030, 'Doctor Who', '4/12. Before the Flood: Sci-fi drama. On a remote army outpost, a fearsome alien warlord called the Fisher King sets in motion a twisted plan to ensure his own survival. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTX24', '1FTX24', '2015-10-10T20:25:00+01:00', 2700, 1000000, 'f', 786, 1, 12, 'f', '6204102163678143245', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6031, 'Homeland', 'Separation Anxiety: Carrie is in self-imposed exile, living in Berlin and working for a German philanthropist, but a request from her boss forces her towards a dangerous world. (S5 Ep1/12) [AD,S]', 'crid://www.channel4.com/61766/001', '61766-001', '2015-10-11T21:00:00+01:00', 3600, 1000000, 'f', 795, 12, 2, 'f', '6204482268560405138', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6032, 'Horrid Henry', 'Horrid Henry Mixes It Up: More animated adventures of the mischievous anti-hero. When Miss Oddbod tells Henry to mix things up a bit, he does his best to deliver. [AD,S]', 'crid://www.itv.com/185944997', '185944997', '2015-10-11T08:15:00+01:00', 900, 1000000, 'f', 781, 8, 11, 'f', '6204285129553456315', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6035, 'Lewis', 'One for Sorrow (Part 2): After two murders, police follow leads into the worlds of drugs, social media and the homeless community, but can they link all the pieces together? [AD,S]', 'crid://www.itv.com/185945223', '185945223', '2015-10-13T21:00:00+01:00', 3600, 1000000, 'f', 763, 8, 2, 'f', '6205224438901080314', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6036, 'Doctor Who', '5/12. The Girl Who Died: Sci-fi drama. Captured by Vikings, the Doctor and Clara must help protect their village from space warriors from the future, the Mire. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTX25', '1FTX25', '2015-10-17T20:20:00+01:00', 3000, 1000000, 'f', 797, 1, 1, 'f', '6206698471408577340', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6037, 'Horrid Henry', 'Horrid Henry and the Evil Mastermind: Animated adventures with the mischievous anti-hero. Can Henry unmask the Evil Mastermind? Only with a little help from his friends! [AD,S]', 'crid://www.itv.com/187191394', '187191394', '2015-10-17T08:15:00+01:00', 900, 1000000, 'f', 781, 8, 11, 'f', '6206511640599702982', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6038, 'Doctor Who', '5/12. The Girl Who Died: Sci-fi drama. Captured by Vikings, the Doctor and Clara must help protect their village from space warriors from the future, the Mire. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTX25', '1FTX25', '2015-10-17T20:20:00+01:00', 3000, 1000000, 'f', 786, 1, 12, 'f', '6206698471408577340', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6039, 'Homeland', 'The Tradition of Hospitality: Carrie and DÈuring pay a visit to a refugee camp, Saul and Allison find themselves at odds, while Quinn stays on mission. (S5 Ep2/12) [AD,S]', 'crid://www.channel4.com/61766/002', '61766-002', '2015-10-18T21:00:00+01:00', 3600, 1000000, 'f', 795, 12, 2, 'f', '6207079864781026154', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6040, 'Horrid Henry', 'Horrid Henry and the Miserable Musical: Animated adventures of the anti-hero. What if one day you wake up and all you want to do is sing? Henry finds out what it means to be musical. [AD,S]', 'crid://www.itv.com/187191420', '187191420', '2015-10-18T08:15:00+01:00', 900, 1000000, 'f', 781, 8, 11, 'f', '6206882725774077460', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6043, 'Lewis', 'Magnum Opus (Part 1): Crime drama series. When a college dean is found dead, an alchemic image is discovered by the body, denoting a process called The Magnum Opus. [AD,S]', 'crid://www.itv.com/187192529', '187192529', '2015-10-20T21:00:00+01:00', 3600, 1000000, 'f', 791, 8, 2, 'f', '6207822035121676092', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6044, 'Doctor Who', '7/12. The Zygon Invasion: Sci-fi drama. When Osgood is kidnapped by a rogue gang of Zygons, the Doctor, Clara and Unit must scatter across the world in a bid to set her free. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTX27', '1FTX27', '2015-10-31T20:15:00+00:00', 3000, 1000000, 'f', 797, 1, 1, 'f', '6211907837241900025', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6045, 'Doctor Who', '6/12. The Woman Who Lived: Deadly highwayman ''the Knightmare'' and his sidekick come face to face with the Doctor. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTX26', '1FTX26', '2015-10-24T20:20:00+01:00', 3000, 1000000, 'f', 797, 1, 1, 'f', '6209296067629200175', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6048, 'Homeland', 'Super Powers: Gripping, contemporary US thriller. Jonas and Carrie decide to revisit Carrie''s past, but it puts their relationship under strain. Quinn is busy stalking his prey. (S5 Ep3/12) [AD,S]', 'crid://www.channel4.com/61766/003', '61766-003', '2015-10-25T21:00:00+00:00', 4500, 1000000, 'f', 795, 12, 2, 'f', '6209692922883912768', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6049, 'Lewis', 'Magnum Opus (Part 2): Detective drama. To solve the murder, Lewis and Hathaway must uncover the guilty secret that the society shares as well as the baffling link to alchemy. [AD,S]', 'crid://www.itv.com/188346062', '188346062', '2015-10-27T21:00:00+00:00', 3600, 1000000, 'f', 798, 8, 2, 'f', '6210435093224565804', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6050, 'Horrid Henry', 'Horrid Henry Looks at Love: The animated adventures of the mischievous anti-hero. What is love? Henry is about to find out! [AD,S]', 'crid://www.itv.com/187191468', '187191468', '2015-10-25T08:15:00+00:00', 900, 1000000, 'f', 781, 8, 11, 'f', '6209495783876953354', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6051, 'Horrid Henry', 'Horrid Henry''s Big Breakfast: The animated adventures of the mischievous anti-hero. When the stakes are high, it''s time to bring out Team Henry! [AD,S]', 'crid://www.itv.com/187191458', '187191458', '2015-10-24T08:15:00+01:00', 900, 1000000, 'f', 781, 8, 11, 'f', '6209109236820313304', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6052, 'Doctor Who', '7/12. The Zygon Invasion: Sci-fi drama. When Osgood is kidnapped by a rogue gang of Zygons, the Doctor, Clara and Unit must scatter across the world in a bid to set her free. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTX27', '1FTX27', '2015-10-31T20:15:00+00:00', 3000, 1000000, 'f', 786, 1, 12, 'f', '6211907837241900025', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6053, 'Doctor Who', '6/12. The Woman Who Lived: Deadly highwayman ''the Knightmare'' and his sidekick come face to face with the Doctor. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTX26', '1FTX26', '2015-10-24T20:20:00+01:00', 3000, 1000000, 'f', 786, 1, 12, 'f', '6209296067629200175', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6054, 'Homeland', 'Why Is This Night Different?: In shocking and unexpected circumstances, Carrie finds that the answers she needs are eluding her. Meanwhile, Saul and Allison run an operation. (S5 Ep4/12) [AD,S]', 'crid://www.channel4.com/61766/004', '61766-004', '2015-11-01T21:00:00+00:00', 3900, 1000000, 'f', 795, 12, 2, 'f', '6212290519104542066', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6056, 'Lewis', 'What Lies Tangled (Part 1): Detective drama series. When an idyllic Oxford summer''s day is shattered by a parcel bomb, Lewis and Hathaway are called in to investigate. [AD,S]', 'crid://www.itv.com/190453581', '190453581', '2015-11-03T21:00:00+00:00', 3600, 1000000, 'f', 791, 8, 2, 'f', '6213032689445190720', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6057, 'An American Werewolf In London', 'Gory comedy horror starring David Naughton and Jenny Agutter. Two American tourists in England are attacked by a werewolf. The survivor starts having disturbing visions. (1981) [S]', 'crid://www.five.tv/V3U6V', 'V3U6V$V', '1981-01-01T12:00:00+00:00', 6300, 1000000, 'f', 799, 15, 1, 'f', '5402242507217352222', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6058, 'Doctor Who', '8/12. The Zygon Inversion: Shapeshifting Zygons are everywhere, and there is no way of knowing who to trust. With UNIT neutralised, only the Doctor stands in their way. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTX28', '1FTX28', '2015-11-07T20:00:00+00:00', 3000, 1000000, 'f', 797, 1, 1, 'f', '6214501567991956444', 17762, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6059, 'Doctor Who', '8/12. The Zygon Inversion: Shapeshifting Zygons are everywhere, and there is no way of knowing who to trust. With UNIT neutralised, only the Doctor stands in their way. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTX28', '1FTX28', '2015-11-07T20:00:00+00:00', 3000, 1000000, 'f', 786, 1, 12, 'f', '6214501567991956444', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6060, 'Homeland', 'Better Call Saul: The hacktivists rise up, and Quinn covers for Carrie. Meanwhile, Allison and a furious Dar must attempt to assess the recent damage. (S5 Ep5/12) [AD,S]', 'crid://www.channel4.com/61766/005', '61766-005', '2015-11-08T21:00:00+00:00', 3900, 1000000, 'f', 795, 12, 2, 'f', '6214888115325163106', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6063, 'Lewis', 'What Lies Tangled (Part 2): The parcel bomb case is sent into a spin when another bomb is found at the home of the victim''s brother David. Lewis fears his job could be on the line. [AD,S]', 'crid://www.itv.com/191106883', '191106883', '2015-11-10T21:00:00+00:00', 3600, 1000000, 'f', 791, 8, 2, 'f', '6215630285665818603', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6067, 'Doctor Who', '9/12. Sleep No More: Sci-fi drama. This terrifying story is assembled from footage discovered in the wreckage of Le Verrier Space Station. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTX29', '1FTX29', '2015-11-14T20:15:00+00:00', 2700, 1000000, 'f', 797, 1, 1, 'f', '6217103029683146173', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6068, 'Doctor Who', '9/12. Sleep No More: Sci-fi drama. This terrifying story is assembled from footage discovered in the wreckage of Le Verrier Space Station. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTX29', '1FTX29', '2015-11-14T20:15:00+00:00', 2700, 1000000, 'f', 786, 1, 12, 'f', '6217103029683146173', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6069, 'Homeland', 'Parabiosis: As the compelling US thriller continues, Saul decides to order a sweep at the station, while a beleaguered Carrie looks to DÈuring for some much-needed support. (S5 Ep6/12) [AD,S]', 'crid://www.channel4.com/61766/006', '61766-006', '2015-11-15T21:00:00+00:00', 3900, 1000000, 'f', 795, 12, 2, 'f', '6217485711545779100', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6073, 'Doctor Who', '10/12. Face the Raven: Sci-fi drama. The Doctor and Clara, with their old friend Rigsy, find themselves in a magical alien world, hidden on a street in the heart of London. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTX2A', '1FTX2A', '2015-11-21T20:10:00+00:00', 3000, 1000000, 'f', 797, 1, 1, 'f', '6219699337413579715', 2824920, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6074, 'Doctor Who', '10/12. Face the Raven: Sci-fi drama. The Doctor and Clara, with their old friend Rigsy, find themselves in a magical alien world, hidden on a street in the heart of London. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTX2A', '1FTX2A', '2015-11-21T20:10:00+00:00', 3000, 1000000, 'f', 786, 1, 12, 'f', '6219699337413579715', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6075, 'Homeland', 'Oriole: As the compelling US thriller continues, Carrie gets the opportunity to reconnect with some old friends, while Saul decides the time is right to open up to Allison. (S5 Ep7/12) [AD,S]', 'crid://www.channel4.com/61766/007', '61766-007', '2015-11-22T21:00:00+00:00', 3600, 1000000, 'f', 795, 12, 2, 'f', '6220083307766400378', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6078, 'Doctor Who', '11/12. Heaven Sent: Trapped in a world unlike any other, the Doctor faces the greatest challenge of his lives. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTX2B', '1FTX2B', '2015-11-28T20:05:00+00:00', 3300, 1000000, 'f', 797, 1, 1, 'f', '6222295645144014439', 3257386, 'f', 'bbcredux', 1449746644317); +INSERT INTO "programmes" VALUES(6079, 'Homeland', 'All About Allison: As the compelling US thriller continues, Carrie realises that she urgently needs Allison''s help. Meanwhile, Quinn''s plans undergo a significant change. (S5 Ep8/12) [AD,S]', 'crid://www.channel4.com/61766/008', '61766-008', '2015-11-29T21:00:00+00:00', 3900, 1000000, 'f', 795, 12, 2, 'f', '6222680903987021384', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6080, 'Doctor Who', '11/12. Heaven Sent: Trapped in a world unlike any other, the Doctor faces the greatest challenge of his lives. Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTX2B', '1FTX2B', '2015-11-28T20:05:00+00:00', 3300, 1000000, 'f', 786, 1, 12, 'f', '6222295645144014439', 0, 'f', 'bbcredux', 0); +INSERT INTO "programmes" VALUES(6082, 'Doctor Who', '12/12. Hell Bent: Sci-fi drama. The Doctor faces the Time Lords in a struggle that will take him to the end of time itself. Who is the Hybrid? And what is the Doctor''s confession? Also in HD. [AD,S]', 'crid://fp.bbc.co.uk/1FTX2C', '1FTX2C', '2015-12-05T20:00:00+00:00', 3900, 1000000, 'f', 797, 1, 1, 'f', '6224891952874448175', 2195578, 'f', 'bbcredux', 1449746644346); +INSERT INTO "programmes" VALUES(6083, 'Homeland', 'The Litvinov Ruse: As the compelling US thriller continues, the Central Intelligence Agency and the German foreign intelligence agency BND both make a play. (S5 Ep9/12) [AD,S]', 'crid://www.channel4.com/61766/009', '61766-009', '2015-12-06T21:00:00+00:00', 4200, 1000000, 'f', 795, 12, 2, 'f', '6225278500207646501', 0, 'f', 'bbcredux', 0); +CREATE INDEX "index_boxsets_user" ON "boxsets" ("user_id"); +CREATE INDEX "index_seasons_boxset" ON "seasons" ("boxset_id"); +CREATE INDEX "index_seasons_channel" ON "seasons" ("channel_id"); +CREATE INDEX "index_programmes_channel" ON "programmes" ("channel_id"); +CREATE INDEX "index_programmes_season" ON "programmes" ("season_id"); +CREATE INDEX "index_programmes_user" ON "programmes" ("user_id"); +COMMIT; diff --git a/db_boxsetter.sqlite3 b/db_boxsetter.sqlite3 new file mode 100755 index 0000000000000000000000000000000000000000..0f95f2dfb45e19714a4e9e73fd826ba561c5a7b5 GIT binary patch literal 472064 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

Sbt5m&TQ;8XFle7-)54}&0{0c*QV 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 literal 0 HcmV?d00001 diff --git a/doctor_who_ordered.sqlite3 b/doctor_who_ordered.sqlite3 new file mode 100755 index 0000000000000000000000000000000000000000..2bc3336741f97b394c7acf70d954fa6e6fa5df45 GIT binary patch literal 74752 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 literal 0 HcmV?d00001 diff --git a/harvest.rb b/harvest.rb new file mode 100644 index 0000000..60404bd --- /dev/null +++ b/harvest.rb @@ -0,0 +1,7 @@ +#! /usr/bin/env ruby + +require './common.rb' + +User.all.each do |user| + user.update_boxsets +end diff --git a/harvest.sh b/harvest.sh new file mode 100755 index 0000000..61ab7c5 --- /dev/null +++ b/harvest.sh @@ -0,0 +1,9 @@ +#!/bin/sh +echo "Scanning for updates..." +date +cd /root/sinatra/boxsetter +export PATH=/usr/local/rvm/gems/ruby-2.1.1/bin:/usr/local/rvm/gems/ruby-2.1.1@global/bin:/usr/local/rvm/rubies/ruby-2.1.1/bin:/usr/local/rvm/bin:/usr/local/lib:/usr/kerberos/sbin:/usr/kerberos/bin:/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin:/root/bin +export GEM_PATH=/usr/local/rvm/gems/ruby-2.1.1:/usr/local/rvm/gems/ruby-2.1.1@global +exec ruby -I. ./harvest.rb +echo " " +echo " " diff --git a/irb-setup.rb b/irb-setup.rb new file mode 100644 index 0000000..97b831f --- /dev/null +++ b/irb-setup.rb @@ -0,0 +1,23 @@ +puts 'Loading irb-setup...' + +DEFAULT_USER = 'fordn01' +DEFAULT_PASS = "VQ]DP]\u0001W" # need double quotes to allow unicode expansion +{ + 'nic' => ['Nic Ford', DEFAULT_USER, DEFAULT_PASS, 0], + 'sam' => ['Sam Ford', DEFAULT_USER, DEFAULT_PASS, 0], + 'simon' => ['Simon Dean', DEFAULT_USER, DEFAULT_PASS, 0] +}.each_pair do |key, data| + u = User.first_or_create(:name => key) + u.fullname = data[0] + u.redux_user = data[1] + u.default_rp = data[2] + u.throttle = data[3] + u.save +end + +N = User.first(:name => 'nic') +R = User.first(:name => 'rachel') +B = Boxset.first +S = B.children.first +P = S.children.first + diff --git a/models/boxset.rb b/models/boxset.rb new file mode 100755 index 0000000..ce74d04 --- /dev/null +++ b/models/boxset.rb @@ -0,0 +1,351 @@ +class Boxset < BroadcastEntity + include DataMapper::Resource + + property :id, Serial + property :name, String, :default => '' + property :searchterm, String, :default => '' + property :movie, Boolean, :default => false + property :rescinded, Boolean, :default => false + property :position, Integer, :default => 0 + property :viewed_at, Integer, :default => 0 + + has n, :seasons + belongs_to :user + + alias_method :sire, :user + alias_method :title, :name + + MOVIES_NAME = 'Movies' + MOVIE_MATCH = /[ \(\[]((19|20)\d\d)[\)\]\.]/ + BOXSET_LIMIT = 300 + SLABSIZE = 100 + REPLACEMENTS = [ + 'and', '&', + 'mr', 'mister' + ] + + def desc + @desc ||= 'from redux' + end + + def idx + sire.children.index(self) + 1 + end + + def boxsetter_url + @boxsetter_url ||= "#{BXSTR_URL}/boxset/#{self.id}" + end + + def programmes + @programmes ||= children.collect { |s| s.children }.flatten + end + + def latest + @latest ||= programmes.collect { |p| p.date }.max + end + + def reset + @children = nil + end + + def renumber + seasons.sort.each_with_index do |s, i| + s.idx = (i+1)*10 + end + seasons.save + reset + end + + def <=>(other) + self.cfname <=> other.cfname + end + + def children + @children ||= seasons.reject { |s| s.destroyed? or s.rescinded? or s.children.length == 0 }.sort + end + + def set_saved_at(d) + if d > self.viewed_at + self.viewed_at = d + self.save + end + end + + def acquire(season) + b = season.boxset + unless b == self + self.seasons << season + self.save + season.save + reset + unless b.nil? + b.reset + b.save + end + end + end + + def cfname + @cfname ||= name.downcase.sub(/^the /,'') + end + + def prefix + movie? ? "FILM" : name.sanitise + end + + def chid + @sample ||= children.sample + @sample.chid + end + + def addenda + @addenda ||= if children.count == 1 + c = children.first.children.count + "#{c} programme#{'s' unless c == 1}" + else + "#{children.count} seasons starting #{children.first.startdate.strftime('%Y')}" + end + end + + def duration + @duration ||= children.collect { |s| s.duration }.inject(:+) + end + + def kill! + unless destroyed? + seasons.everyone.kill! + self.destroy + end + end + + def is_second_part(asset, lastasset) + asset.start.to_date == lastasset.start.to_date && + asset.start != lastasset.start && + asset.pcrid && lastasset.pcrid && + asset.pcrid.content == lastasset.pcrid.content + end + + def get_data(since_date, term, replacements = REPLACEMENTS, channeltype = Channel::TYPE_ALL) + replacements = replacements.clone + offset = 0 + items = [] + data = nil # create in outer scope + titles = [term, 'new: ' + term] + + lasta = nil + ctr = 0 + begin + search_params = {:q => term, :after => since_date - 1, :limit => SLABSIZE, :offset => offset, :channel => user.channelnames(channeltype)} + search_params[:titleonly] = true unless movie? + + data = user.client.search(search_params) + + if data.total > 999 + if channeltype == Channel::TYPE_ALL + items = get_data(since_date, term, replacements, Channel::TYPE_BBC) + return items if items.size > 0 + + items = get_data(since_date, term, replacements, Channel::TYPE_ITV) + return items if items.size > 0 + + return get_data(since_date, term, replacements, Channel::TYPE_OTH) + else + return [] # at this stage, give up entirely + end + end + + data.assets.each do |a| + break if a.start < since_date + if (movie? and a.description.match(MOVIE_MATCH)) or (!movie? and titles.include?(a.name.to_searchterm)) + puts "Found: #{a.name} #{a.start}" + begin + a = user.client.asset(a.reference) if a.pcrid.nil? + rescue Exception => e + puts e + end + unless a.pcrid.nil? + if !lasta.nil? and is_second_part(a, lasta) + a.pcrid.content.concat('pt1') + lasta.firstpart = a + else + items << a + end + end + end + + lasta = a + end + + offset += SLABSIZE + rescue Exception => e +puts $!, $@ + break + end while data.has_more? + + newterm = term + + while items.length == 0 and replacements.length > 0 + p1 = replacements.shift + p2 = replacements.shift + + newterm = term.repword(p1, p2) + if newterm != term + items = get_data(since_date, newterm, replacements) + break if items.length > 0 + end + + newterm = term.repword(p2, p1) + if newterm != term + items = get_data(since_date, newterm, replacements) + break if items.length > 0 + end + + end + + if newterm != term and items.length > 0 + self.searchterm = newterm + self.save + end + + items + end + + def educe(since_date = nil, term = nil, season = nil) + term ||= searchterm + title = term.titleise + + unless term.blank? + since_date ||= EPOCH + + reset + + items = get_data(since_date, term) + + return false unless items.count > 0 and items.first.start > since_date + + if movie? + filterati = {} + newitems = [] + + items.each do |item| + next unless item.description.match(MOVIE_MATCH) + item.send(:start=, DateTime.new($1.to_i, 1, 1, 12, 0, 0)) + if filterati[$1].nil? or filterati[$1].duration < item.duration + filterati[$1] = item + end + end + + filterati.each_pair do |year, item| + newitems << item + if item.firstpart + item.firstpart.pcrid.content.concat('#0') + item.firstpart.send(:start=, item.start - 1.0/24.0) + newitems << item.firstpart + end + end + + season ||= seasons.first_or_create(:name => title, :channel => Channel.first) + items = newitems.sort { |a,b| a.start <=> b.start } + end + + limit = seasons.collect { |s| s.programmes.count }.inject(:+) || 0 # count the programmes already held + + puts '>>>>>>>' + items.uniq { |i| i.pcrid }.each do |item| + puts "#{item.start.strftime('%Y')}: '#{item.title}': #{item.description} >>#{item.pcrid}<<" + end + + items.uniq { |i| i.pcrid }.each do |item| + next if item.start < since_date + next if item.pcrid.nil? or item.pcrid.content.blank? + next if item.description.match(/\[[^\]]*SL[^\]]*\]/) # no signed shows + next unless ch = user.find_channel(item.channel.name) + + pcrid = item.pcrid.content.to_crid + next if Programme.first(:pcrid => pcrid, :user => user) + + break if (limit += 1) >= BOXSET_LIMIT + + puts "Found '#{item.description[0..40]}..., #{ch.fullname}" + + prog = Programme.first_or_create(:pcrid => pcrid, :user => user) # this will replace any repeats with the first broadcast on new educes + prog.attributes = { + :title_orig => item.name.sub(/^New\: /, ''), + :desc_orig => item.description, + :pcrid_orig => item.pcrid.content, + :pcrid => pcrid, + :date => item.start, + :duration => item.duration, + :user => user, + :channel => ch, + :reference => item.reference + } + prog.save + + self.name = prog.title_orig if self.name.blank? + + if !movie? + season ||= seasons.find { |s| s.spans?(prog) } + unless season + season = Season.new(:channel => ch) + season.idx = self.children.last.idx + 10 if self.children.count > 0 and self.children.last.idx < 1000 + season.save + end + end + + puts ">>>Season name: #{season.name}<<< #{seasons.include?(season)}" + self.acquire(season) unless seasons.include?(season) + season.acquire(prog) + puts ">>>Season name: #{season.name}<<< #{seasons.length} #{season == seasons.last} #{season.programmes.count} #{seasons.last.programmes.count}" + end + end + + if seasons.length == 0 + self.destroy + false + else + self.save + end + end + + class << self + + def educe(title, user, movie = false) + searchterm = title.gsub('+', ' ').to_searchterm + puts ">>>> Boxset searchterm = '#{searchterm}' from '#{title}' (#{movie})" + since_date = nil + + if movie + boxset = first_or_create(:name => MOVIES_NAME, :user => user, :movie => true) + + season = Season.find { |s| s.searchterm == searchterm and s.boxset.user == user } + if season.nil? + if season = Season.find { |s| s.searchterm == searchterm } + if season.boxset.user != user + since_date = season.rescinded? ? EPOCH : season.boxset.user.last_checked + season = user.clone_season(season) + boxset.seasons << season + boxset.save + season.save + end + end + end + + boxset.searchterm = searchterm + else + boxsets = all(:searchterm => searchterm, :movie => false) + if boxsets.count > 0 + boxset = boxsets.first(:user => user) || boxsets.first + boxset = user.clone_boxset(boxset) unless boxset.user == user + else + boxset = create(:searchterm => searchterm, :user => user, :movie => false) + end + end + + boxset if boxset.educe(since_date) + end + + end + +end + diff --git a/models/broadcast_entity.rb b/models/broadcast_entity.rb new file mode 100644 index 0000000..1761624 --- /dev/null +++ b/models/broadcast_entity.rb @@ -0,0 +1,82 @@ +class BroadcastEntity + + def props + { + 'id' => self.id, + 'type' => self.class.name.downcase.to_sym, + 'title' => title, + 'hierarchical_title' => hierarchical_title, + 'description' => desc, + 'addenda' => addenda, + 'source' => viewable_boxsetter_url, + 'image' => image, + 'channel' => chid, + 'duration' => duration, + 'index' => idx, + 'count' => viewable_children.count, + 'prepared' => true, + 'position' => position, + 'viewed_at' => viewed_at, + 'boxsetprefix' => prefix, + 'movie' => movie?, + 'objects' => [], # viewable_children, + 'filename' => filename, + 'reference' => reference + } + end + + def hierarchical_title + title + end + + def viewable_boxsetter_url + @vbu ||= (children.count == 1 ? children.first.viewable_boxsetter_url : boxsetter_url) + end + + def viewable_children + @vc ||= children.collect { |c| c.trading_as } + end + + def trading_as + @ea ||= (children.count == 1 ? children.first.trading_as : self) + end + + def filename + nil + end + + def reference + nil + end + + def number + parent.children.index(self) + 1 + end + + def prefix + parent.prefix + end + + def to_json(x = nil) + props.to_json(x) + end + + def image(imtype = :image) + return DEFAULT_IMAGE if children.length == 0 + @sample ||= children.sample + @sample.image(imtype) + end + + def movie? + parent.movie? + end + + class << self + + def orphans + self.all.reject { |be| !be.parent.nil? } + end + + end + +end diff --git a/models/channel.rb b/models/channel.rb new file mode 100755 index 0000000..36fd467 --- /dev/null +++ b/models/channel.rb @@ -0,0 +1,49 @@ +class Channel + include DataMapper::Resource + + property :id, Serial + property :fullname, String, :default => '' + property :idx, Integer, :default => 0 + property :last_checked, DateTime + property :channeltype, Integer, :default => 0 + + has n, :seasons + has n, :programmes + has n, :users, :through => Resource + + TYPE_BBC = 0x01 + TYPE_ITV = 0x02 + TYPE_CH4 = 0x04 + TYPE_CH5 = 0x08 + TYPE_EXT = 0x10 + TYPE_OTH = TYPE_CH4|TYPE_CH5|TYPE_EXT + TYPE_ALL = TYPE_BBC|TYPE_ITV|TYPE_OTH + + def <=>(other) + self.idx <=> other.idx + end + + def name + @name ||= fullname.downcase.gsub(/[^a-z0-9]/,'') + end + + def namesarray + @namesarray ||= begin + if channeltype == TYPE_BBC + [name, name+'hd'] + else + [name] + end + end + end + + class << self + + def allnames + @allnames ||= all.collect { |c| c.namesarray }.flatten + end + + end + +end + diff --git a/models/programme.rb b/models/programme.rb new file mode 100755 index 0000000..5e4b541 --- /dev/null +++ b/models/programme.rb @@ -0,0 +1,267 @@ +class Programme < BroadcastEntity + include DataMapper::Resource + + property :id, Serial + property :title_orig, String, :required => true, :length => 200 + property :desc_orig, String, :required => true, :length => 2000 + property :pcrid_orig, String, :required => true + property :pcrid, String, :required => true + property :date, DateTime, :required => true + property :duration, Integer, :required => true + property :idx, Integer, :required => true, :default => 1000000 + property :prepared, Boolean, :default => false + property :reference, String + property :position, Integer, :default => 0 + property :viewed_at, Integer, :default => 0 + property :rescinded, Boolean, :default => false + property :distrib, String, :default => 'bbcredux' + + belongs_to :season + belongs_to :channel + belongs_to :user + + alias_method :parent, :season + + @@image_url_templates = { + 'bbcredux' => 'http://g.bbcredux.com/programme/%s/download/image-640.jpg', + 'gomes' => 'http://www.gomes.com.es/h264/%s.jpg' + } + + def orig + @orig ||= user.client.asset(self.reference) + end + + def children + @children ||= [] + end + alias_method :viewable_children, :children + + def <=>(other) + b = self.idx <=> other.idx + b != 0 ? b : self.date <=> other.date + end + + def title + get_title_and_desc unless @title + @title + end + + def desc + get_title_and_desc unless @desc + @desc + end + + def basictitle + get_title_and_desc unless @basictitle + @basictitle + end + + def set_saved_at(p, d) + if d > self.viewed_at + self.position = p + self.viewed_at = d + self.save + season.set_saved_at(d) + end + return self.position, self.viewed_at + end + + def filename + @filename ||= begin + if movie? + "(%d) %s" % [date.year, title] + elsif season.name + "%s - %s - E%02d %s" % [season.boxset.prefix, season.name, self.number, basictitle] + else + "%s - S%02dE%02d %s" % [season.boxset.prefix, season.number, self.number, basictitle] + end + .sanitise + end + end + + def broadcast_date + @bdate ||= date.to_date + end + + def addenda + @addenda ||= begin + if movie? + "#{duration/60}mins (#{date.strftime('%Y')})" + else + "#{season.boxset.name + ', ' if title.match(/^#{season.boxset.name}/)}#{channel.fullname}\n#{date.strftime('%d %b %y %H:%M')} (#{duration / 60} mins)" + end + end + end + + def image_url + @image_url ||= @@image_url_templates[self.distrib] % (self.reference || self.pcrid) + end + + def image(imtype = :image) + @transforms ||= { + image: '', # 'w_640,h_360,c_fill/', + face: 'w_200,h_200,c_thumb,g_faces,r_max/' + } + @images ||= {} + @images[imtype] ||= "http://res.cloudinary.com/gomes/image/fetch/#{@transforms[imtype]}#{image_url}" + end + + def chid + season.chid + end + + def boxsetter_url + @boxsetter_url ||= "#{BXSTR_URL}/fetch/#{pcrid}.mp4" + end + + def mp4_url(u = nil) + u ||= user + if distrib == 'bbcredux' + u.record_download + puts "Looking for #{filename}.mp4 ref #{reference}" + u.client.asset(reference).h264_hi_url.end_point(filename + '.mp4') + else + "http://www.gomes.com.es/h264/#{filename}.mp4" + end + end + + def kill! + self.destroy unless destroyed? + end + + class << self + + def latest(progs) + p = progs.first + progs.each do |q| + p = q if p.date < q.date + end + p + end + + def from_redux(user, pathname) + redux_url = pathname + '.json' + if (data = user.read_from_redux(redux_url)) + if data and data.code == '200' + item = JSON.parse(data.body) + + pcrid = item['pcrid'].to_crid + if pcrid + pubdate = DateTime.parse(item['when']) + ch = user.chans.first(:name => item['service']) + + if ch and Programme.first(:pcrid => pcrid, :user => user).nil? + prog = Programme.new( + :title_orig => item['title'].sub(/^New\: /, ''), + :desc_orig => item['description'], + :pcrid_orig => item['pcrid'], + :pcrid => pcrid, + :date => pubdate, + :duration => item['duration'].to_i, + :user => user, + :channel => ch, + :reference => item['diskref'] + ) + + boxset = Boxset.first_or_create(:name => Boxset::MOVIES_NAME, :user => user, :searchterm => '') + boxset.acquire(Season.new(:channel => ch)) if boxset.seasons.length == 0 + boxset.seasons[0].acquire(prog) + + puts ">>> Created #{prog.title}" + + boxset.save + end + end + end + end + end + + private + + def find_spurious_titles + all.each do |p| + if p.title == p.title_orig + puts p.id.to_s + ': ' + p.title + puts '***: ' + p.desc + puts '***: ' + p.desc_orig + puts ' ' + end + end + nil + end + + end + + private + + def get_title_and_desc + @desc = desc_orig.dup + @title = title_orig.dup + @basictitle = '' + @ep = nil + @part = nil + + if @title[-3..-1] == '...' and @desc.match(/^\.\.\.([^\.]+)\. (.*)$/) + @desc = $2 + @title = title[0..-4] + ' ' + $1 + end + + while @desc.match(/^(New series|CBBC|NEW)\. (.*)$/) + @desc = $2 + end + + + while @desc.match(/^Brand new series - (.*)$/) + @desc = $1 + end + + while @desc.match(/^(.*) (Also in HD.|\[[^\]]+\])$/) + @desc = $1 + end + + if @desc.match(/^(\d+)\/(\d+)\. (.*)$/) + @part = $1 if $2 == '2' + @desc = $3 + end + if @desc.match(/^(.*)( -|,|\.) Part ([\w\d]+)[\.\:] (.*)$/) + @part = $3.downcase + @desc = $1 + ': ' + $4 + end + if @desc.match(/^Part (\w+): ([^\:]+): (.*)$/) + @part = $1.downcase + @desc = $2 + ': ' + $3 + end + if @desc.match(/^(.*), part ([^\.\:]+)\. (.*)$/) + @part = $2.downcase + @desc = $1 + ': ' + $3 + end + + if @desc.match(/^([^\.\:]+)\: (.*)$/) + @desc = $2 + @title = $1 + end + + while @title.match(/^(.*): (.*)$/) and $1 == season.boxset.name + @title = $2 + end + + if pcrid_orig.include?('#0') + @part = '1' + elsif pcrid_orig.include?('#1') + @part = '2' + end + + @basictitle = @title unless @title == season.boxset.name or @title == season.name + if @part + @title += ',' if @title[-1].match(/(\w|\d)/) + @title += " part #{@part}" + end + + unless movie? + @ep = "#{number}/#{season.children.count}" unless @ep + @title += ' (' + @ep + ')' + end + end + +end + diff --git a/models/season.rb b/models/season.rb new file mode 100755 index 0000000..277b246 --- /dev/null +++ b/models/season.rb @@ -0,0 +1,155 @@ +class Season < BroadcastEntity + include DataMapper::Resource + + property :id, Serial + property :idx, Integer, :default => 1000000 + property :name, String + property :rescinded, Boolean, :default => false + property :position, Integer, :default => 0 + property :viewed_at, Integer, :default => 0 + + has n, :programmes + belongs_to :boxset + belongs_to :channel + + alias_method :parent, :boxset + + def boxsetter_url + @boxsetter_url ||= "#{BXSTR_URL}/boxset/#{boxset.id}/season/#{self.number}" + end + + def searchterm + @searchterm ||= (movie? ? title.to_searchterm : boxset.searchterm) + end + + def reset + [ + :@children, :@number, :@identifier, + :@addenda, :@duration, :@average_duration, + :@title, :@props, :@startdate, + :@enddate, :@sample + ].each do |v| + remove_instance_variable(v) if instance_variables.include?(v) + end + end + + def children + @children ||= programmes.reject { |p| p.destroyed? or p.rescinded? }.sort + end + alias_method :viewable_children, :children + + def <=>(other) + b = self.idx <=> other.idx + b != 0 ? b : self.startdate <=> other.startdate + end + + def set_saved_at(d) + if d > self.viewed_at + self.viewed_at = d + self.save + boxset.set_saved_at(d) + end + end + + def identifier + @identifier ||= (self.name || self.number) + end + + def addenda + @addenda ||= begin + if movie? + "#{children.first.date.strftime('%Y')}-#{children.last.date.strftime('%Y')}" + else + "#{channel.fullname}, #{startdate.strftime('%Y')}, #{programmes.length}x#{average_duration/60}m" + end + end + end + alias_method :desc, :addenda + + def spans?(prog) + prog.channel == self.channel and prog.broadcast_date > startdate.to_date - 15 and prog.broadcast_date <= enddate.to_date + 15 + end + + def duration + @duration ||= programmes.collect { |p| p.duration }.inject(:+) + end + + def average_duration + @average_duration ||= begin + d = (duration / programmes.length) + 14 + d - d%30 + end + end + + def duplicates?(other) + return false unless children.length == other.children.length + children.zip(other.children) do |a, b| + return false unless a.pcrid == b.pcrid + end + true + end + + def hierarchical_title + @ht ||= (name || "season #{number}") + end + + def title + @title ||= (name || (parent.children.count == 1 ? parent.title : parent.title + " S#{number}")) + end + + def chid + channel.namesarray.first + end + + def acquire(progs) + if progs.is_a?(Array) + progs = progs.dup + else + progs = [progs] + end + + oldseasons = [] + progs.reject { |p| p.season == self }.each do |p| + oldseasons << p.season unless p.season.nil? or oldseasons.include?(p.season) + self.programmes << p + p.season = self + p.save + end + + self.save + self.reset + oldseasons.each do |s| + s.reset + if s.programmes.length == 0 + s.kill! + else + s.save + end + end + end + + def startdate + @startdate ||= (children.count > 0 ? children.first.date : EPOCH) + end + + def enddate + @enddate ||= (children.count > 0 ? children.last.date : EPOCH) + end + + def kill! + unless destroyed? + programmes.everyone.kill! + self.destroy + end + end + + def renumber + programmes.sort.each_with_index do |p, i| + p.idx = (i+1)*10 + p.save + end + @children = nil + end + +end + diff --git a/models/user.rb b/models/user.rb new file mode 100755 index 0000000..43fd2b6 --- /dev/null +++ b/models/user.rb @@ -0,0 +1,227 @@ +require 'httpclient' +require 'bbc/redux' + +module BBC + module Redux + class Asset + def firstpart + @firstpart + end + def firstpart=(fp) + @firstpart = fp + end + end + end +end + +class User < BroadcastEntity + include DataMapper::Resource + + @@clients = {} + + property :id, Serial + property :name, String, :default => '' + property :fullname, String, :default => '' + property :redux_user, String, :default => '' + property :password, String, :default => '' + property :default_rp, String, :default => '' + property :throttle, Integer, :default => 0 + property :last_download, DateTime + property :last_checked, DateTime + + has n, :boxsets + has n, :programmes + has n, :channels, :through => Resource + + def actionbar_title + nil + end + + def title + nil + end + + def client + @@clients[redux_user] ||= begin + puts "Logging in for #{redux_user}" + BBC::Redux::Client.new(:username => redux_user, :password => redux_pass, :http => HTTPClient) + end + end + + def logout + @@clients[redux_user].logout if @@clients[redux_user] + @@clients[redux_user] = nil + end + + def children + @children ||= boxsets.reject { |b| b.destroyed? or b.rescinded? or b.seasons.count == 0 }.sort + end + + def movies + @movies ||= boxsets.first_or_create(:name => Boxset::MOVIES_NAME, :movie => true) + end + + def kill! + unless destroyed? + boxsets.everyone.kill! + self.destroy + end + end + + def redux_pass + User.untangle(default_rp, EPOCH) || password + end + + def credentials + [name, User.untangle(password, EPOCH)] + end + + def creds + "!cReD:#{name}::#{User.untangle(password, EPOCH).hexEncode}:" + end + + def chans(channeltype = Channel::TYPE_ALL) + update_channels if channels.length == 0 + @chans ||= {} + @chans[channeltype] ||= channels.select { |c| (c.channeltype & channeltype) > 0x00 } + end + + def update_channels + client.channels.each do |ch| + unless channels.first(:fullname => ch.display_name) + c = Channel.first(:fullname => ch.display_name) + channels << c if c + end + end + self.save + end + + def channelnames(channeltype = Channel::TYPE_ALL) + @channelnames ||= {} + @channelnames[channeltype] ||= chans(channeltype).collect { |c| c.namesarray }.flatten + end + + def find_channel(name) + chs = chans.select { |c| c.namesarray.include?(name) } + chs.first if chs.size > 0 + end + + def read_from_redux(url) + url = REDUX_URL + url unless url.match(/^https?\:\/\//) + resp = nil + begin + puts ">>>> Reading from #{url}" + uri = URI.parse(url) + req = Net::HTTP::Get.new(uri) + req.basic_auth(redux_user, redux_pass) + http = Net::HTTP.new(uri.hostname, uri.port) + http.use_ssl = url.match(/^https\:\/\//) + resp = http.request(req) + url = resp['location'] + rescue + resp = Net::HTTPResponse.new(500, 501, 502) + end while resp.code == '302' + resp + end + + def update_boxsets(force_refresh = false) + if programmes.count > 0 + self.last_checked ||= EPOCH + if force_refresh or self.last_checked < DateTime.now - 0.25 + puts "@@@@ Updating boxsets for #{fullname}, last updated > #{self.last_checked}" + boxsets.reject { |b| b.rescinded? }.each do |boxset| + if boxset.movie? + boxset.children.each do |season| + boxset.educe(boxset.latest, season.name.to_searchterm) + end + else + boxset.educe(boxset.latest) + end + end + self.last_checked = DateTime.now + self.save + end + end + end + + def clone_season(season) + s = Season.create(season.attributes.merge(:id => nil, :rescinded => false)) + season.programmes.each do |prog| + puts ">>>>> Now cloning #{prog.title}..." + p = Programme.create(prog.attributes.merge(:id => nil, :user => self, :season => nil, :rescinded => false)) + s.acquire(p) + p.save + end + s.save + s + end + + def clone_boxset(boxset) + puts ">>> Cloning #{boxset.name}..." + b = Boxset.create(boxset.attributes.merge(:id => nil, :user => self, :rescinded => false)) + boxset.seasons.each do |season| + s = clone_season(season) + b.seasons << s + s.save + end + self.save + b.save + b + end + + def throttled? + self.last_download ||= EPOCH + DateTime.now - self.last_download < self.throttle/24.0 + end + + def record_download + (self.last_download = DateTime.now) and save + end + + class << self + + def tangle(key, d = nil) + if key.length > 0 + d = (d || DateTime.now).to_time.utc.strftime('%H%d%m%Y%d%Y%m%H') + newkey = key.dup # same length + keyl = key.length - 1 + for i in (0..keyl) + newkey[i] = (key[i].ord ^ d[i % 20].ord).chr + end + newkey + end + end + + alias_method :untangle, :tangle # does the same thing + + def find_keyed_user(key) + @entangleds ||= {} + u = @entangleds[key] + puts ">>> k = #{key}" + if u.nil? + if key.match(/^([^\:]+)\:([^\:]+)$/) + unless $1.blank? or $2.blank? + name = $1.hexDecode + pass = tangle($2.hexDecode, EPOCH) + if u = User.first(:name => name) + u.password = pass if u.password.blank? + else + u = User.new(:name => name, :redux_user => name, :password => pass) + u.fullname = u.client.user.name + end + u.save + @entangleds[key] = u if u.password == pass + end + end + else + u.reload + end + puts ">>> Identified user '#{u.name}'" if u + @entangleds[key] + end + + end + +end + + diff --git a/views/obj_html.erb b/views/obj_html.erb new file mode 100755 index 0000000..e859d68 --- /dev/null +++ b/views/obj_html.erb @@ -0,0 +1,12 @@ +  + + + +

<%= obj['title'] %> <%= '(' + obj['count'].to_s + ' children)' unless obj['count'].nil? %>

+ <%= obj['description'] %> (<%= obj['reference'] %>)
+ <%= obj['addenda'] %>
+ <% if obj['editable'] %> +
+ <% end %> + + diff --git a/views/objects_html.erb b/views/objects_html.erb new file mode 100755 index 0000000..ae5a986 --- /dev/null +++ b/views/objects_html.erb @@ -0,0 +1,16 @@ + + + Boxsetter + + +
+ + <% @objects.each do |obj| %> + <%= erb :obj_html, :locals => {:obj => obj} %> + <% end %> +
+ +
+ + + diff --git a/views/objects_json.erb b/views/objects_json.erb new file mode 100755 index 0000000..ca4ab47 --- /dev/null +++ b/views/objects_json.erb @@ -0,0 +1 @@ +{"status": 200, "source": <%= @user.name.to_json %>, "objects": <%= @objects.to_json %>}