Small typos

This commit is contained in:
Darko
2014-06-17 10:01:26 +02:00
parent 06228a53b6
commit 25e4049e65
2 changed files with 118 additions and 89 deletions
+10 -10
View File
@@ -104,7 +104,7 @@ class PProcess
$this->nameFixer = new NameFixer($this->echooutput);
$this->Nfo = new Info($this->echooutput);
$this->releaseFiles = new ReleaseFiles();
$this->functions = new Functions();
$this->functions = new Functions(true);
//\\ Site object.
$this->tmux = $t->get();
@@ -125,7 +125,7 @@ class PProcess
*/
public function processAll($nntp)
{
$this->processPredb($nntp);
$this->processPrehash($nntp);
$this->processAdditional($nntp);
$this->processNfos('', $nntp);
$this->processSharing($nntp);
@@ -144,7 +144,7 @@ class PProcess
*/
public function processAnime()
{
if ($this->site->lookupanidb == 1) {
if ($this->site->lookupanidb === '1') {
$anidb = new AniDB($this->echooutput);
$anidb->animetitlesUpdate();
$anidb->processAnimeReleases();
@@ -158,7 +158,7 @@ class PProcess
*/
public function processBooks()
{
if ($this->site->lookupbooks != 0) {
if ($this->site->lookupbooks !== '0') {
$books = new Books($this->echooutput);
$books->processBookReleases();
}
@@ -171,7 +171,7 @@ class PProcess
*/
public function processGames()
{
if ($this->site->lookupgames != 0) {
if ($this->site->lookupgames !== '0') {
$console = new Konsole($this->echooutput);
$console->processConsoleReleases();
}
@@ -186,7 +186,7 @@ class PProcess
*/
public function processMovies($releaseToWork = '')
{
if ($this->site->lookupimdb == 1) {
if ($this->site->lookupimdb === '1') {
$movie = new Film($this->echooutput);
$movie->processMovieReleases($releaseToWork);
}
@@ -199,7 +199,7 @@ class PProcess
*/
public function processMusic()
{
if ($this->site->lookupmusic != 0) {
if ($this->site->lookupmusic !== '0') {
$music = new Music($this->echooutput);
$music->processMusicReleases();
}
@@ -215,7 +215,7 @@ class PProcess
*/
public function processNfos($releaseToWork = '', $nntp)
{
if ($this->site->lookupnfo == 1) {
if ($this->site->lookupnfo === '1') {
$this->Nfo->processNfoFiles($releaseToWork, $this->site->lookupimdb, $this->site->lookuptvrage, $groupID = '', $nntp);
}
}
@@ -227,7 +227,7 @@ class PProcess
*
* @return void
*/
public function processPredb($nntp)
public function processPrehash($nntp)
{
// 2014-05-31 : Web PreDB fetching is removed. Using IRC is now recommended.
}
@@ -252,7 +252,7 @@ class PProcess
*/
public function processTv($releaseToWork = '')
{
if ($this->site->lookuptvrage == 1) {
if ($this->site->lookuptvrage === '1') {
$tvRage = new TvAnger($this->echooutput);
$tvRage->processTvReleases($releaseToWork, true);
}
+108 -79
View File
@@ -24,13 +24,13 @@ class TvAnger
public $echooutput;
public $rageqty;
public $showInfoUrl = 'http://www.tvrage.com/shows/id-';
public $showQuickInfoURL = 'http://services.tvrage.com/tools/quickinfo.php?show=';
public $xmlFullSearchUrl = 'http://services.tvrage.com/feeds/full_search.php?show=';
public $xmlShowInfoUrl = 'http://services.tvrage.com/feeds/showinfo.php?sid=';
public $xmlFullShowInfoUrl = 'http://services.tvrage.com/feeds/full_show_info.php?sid=';
public $showInfoUrl = 'http://www.tvrage.com/shows/id-';
public $showQuickInfoURL = 'http://services.tvrage.com/tools/quickinfo.php?show=';
public $xmlFullSearchUrl = 'http://services.tvrage.com/feeds/full_search.php?show=';
public $xmlShowInfoUrl = 'http://services.tvrage.com/feeds/showinfo.php?sid=';
public $xmlFullShowInfoUrl = 'http://services.tvrage.com/feeds/full_show_info.php?sid=';
public $xmlEpisodeInfoUrl;
public $xmlFullScheduleUrl = 'http://services.tvrage.com/feeds/fullschedule.php?country=';
public $xmlFullScheduleUrl = 'http://services.tvrage.com/feeds/fullschedule.php?country=';
function __construct($echooutput = false)
{
@@ -61,7 +61,7 @@ class TvAnger
public function getByTitle($title)
{
// Set string to differentiate between mysql and PG for string replacement matching operations
$string = (DB_TYPE === 'mysql' ? '"\'"' : "E'\''");
$string = (DB_TYPE === 'mysql' ? '"\'"' : "E'\''");
// Check if we already have an entry for this show.
$res = $this->db->queryOneRow(sprintf("SELECT rageID FROM tvrage WHERE LOWER(releasetitle) = LOWER(%s)", $this->db->escapeString($title)));
@@ -80,7 +80,7 @@ class TvAnger
foreach ($pieces as $piece) {
$title4 .= str_replace(array("'", "!"), "", $piece) . '%';
}
$res = $this->db->queryOneRow(sprintf("SELECT rageID FROM tvrage WHERE replace(replace(releasetitle, %s, ''), '!', '') LIKE %s", $string ,$this->db->escapeString($title4)));
$res = $this->db->queryOneRow(sprintf("SELECT rageID FROM tvrage WHERE replace(replace(releasetitle, %s, ''), '!', '') LIKE %s", $string, $this->db->escapeString($title4)));
if (isset($res['rageID'])) {
return $res['rageID'];
}
@@ -99,7 +99,7 @@ class TvAnger
foreach ($pieces as $piece) {
$title4 .= str_replace(array("'", "!"), "", $piece) . '%';
}
$res = $this->db->queryOneRow(sprintf("SELECT rageID FROM tvrage WHERE replace(replace(releasetitle, %s, ''), '!', '') LIKE %s", $string ,$this->db->escapeString($title4)));
$res = $this->db->queryOneRow(sprintf("SELECT rageID FROM tvrage WHERE replace(replace(releasetitle, %s, ''), '!', '') LIKE %s", $string, $this->db->escapeString($title4)));
if (isset($res['rageID'])) {
return $res['rageID'];
}
@@ -112,7 +112,7 @@ class TvAnger
foreach ($pieces as $piece) {
$title4 .= str_replace(array("'", "!"), "", $piece) . '%';
}
$res = $this->db->queryOneRow(sprintf("SELECT rageID FROM tvrage WHERE replace(replace(releasetitle, %s, ''), '!', '') LIKE %s", $string ,$this->db->escapeString($title4)));
$res = $this->db->queryOneRow(sprintf("SELECT rageID FROM tvrage WHERE replace(replace(releasetitle, %s, ''), '!', '') LIKE %s", $string, $this->db->escapeString($title4)));
if (isset($res['rageID'])) {
return $res['rageID'];
}
@@ -124,11 +124,13 @@ class TvAnger
{
if (!is_array($country) && strlen($country) > 2) {
$code = $this->db->queryOneRow('SELECT code FROM country WHERE LOWER(name) = LOWER('
. $this->db->escapeString($country) . ')');
. $this->db->escapeString($country) . ')'
);
if (isset($code['code'])) {
return $code['code'];
}
}
return $country;
}
@@ -157,7 +159,7 @@ class TvAnger
$this->db->exec(sprintf('UPDATE tvrage SET releasetitle = %s, description = %s, genre = %s, country = %s, createddate = NOW() WHERE ID = %d', $this->db->escapeString($releasename), $this->db->escapeString(substr($desc, 0, 10000)), $this->db->escapeString(substr($genre, 0, 64)), $this->db->escapeString($country), $id));
}
if ($imgbytes != '') {
$path = WWW_DIR . 'covers/preview/' . $id . '.jpg';
$path = WWW_DIR . 'covers/preview/' . $id . '.jpg';
if (file_exists($path)) {
unlink($path);
}
@@ -182,7 +184,7 @@ class TvAnger
} else {
$this->db->exec(sprintf('UPDATE tvrage SET rageID = %d, releasetitle = %s, description = %s, genre = %s, country = %s WHERE ID = %d', $rageid, $this->db->escapeString($releasename), $this->db->escapeString(substr($desc, 0, 10000)), $this->db->escapeString($genre), $this->db->escapeString($country), $id));
if ($imgbytes != '') {
$path = WWW_DIR . 'covers/preview/' . $id . '.jpg';
$path = WWW_DIR . 'covers/preview/' . $id . '.jpg';
if (file_exists($path)) {
unlink($path);
}
@@ -207,7 +209,7 @@ class TvAnger
$ret = [];
if (!$show) {
return FALSE;
return false;
}
$url = $this->showQuickInfoURL . urlencode($show);
@@ -253,7 +255,7 @@ class TvAnger
case 'Latest Episode':
list ($ep, $title, $airdate) = explode('^', $val);
$ret['episode']['latest'] =
$ep . ", \"" . $title . "\" aired on " . $airdate;
$ep . ", \"" . $title . "\" aired on " . $airdate;
break;
case 'Next Episode':
list ($ep, $title, $airdate) = explode('^', $val);
@@ -311,6 +313,7 @@ class TvAnger
}
$res = $this->db->queryOneRow(sprintf("SELECT COUNT(ID) AS num FROM tvrage WHERE 1=1 %s", $rsql));
return $res["num"];
}
@@ -320,6 +323,7 @@ class TvAnger
$date = date("Y-m-d");
}
$sql = sprintf("SELECT * FROM episodeinfo WHERE DATE(airdate) = %s ORDER BY airdate ASC", $this->db->escapeString($date));
return $this->db->query($sql);
}
@@ -371,14 +375,14 @@ class TvAnger
foreach ($xml->DAY as $sDay) {
$currDay = strtotime($sDay['attr']);
foreach ($sDay as $sTime) {
$currTime = (string) $sTime['attr'];
$currTime = (string)$sTime['attr'];
foreach ($sTime as $sShow) {
$currShowName = (string) $sShow['name'];
$currShowId = (string) $sShow->sid;
$currShowName = (string)$sShow['name'];
$currShowId = (string)$sShow->sid;
$day_time = strtotime($sDay['attr'] . ' ' . $currTime);
$tag = ($currDay < $yesterday) ? 'prev' : 'next';
if ($tag == 'prev' || ($tag == 'next' && !isset($xmlSchedule[$currShowId]['next']))) {
$xmlSchedule[$currShowId][$tag] = array('name' => $currShowName, 'day' => $currDay, 'time' => $currTime, 'day_time' => $day_time, 'day_date' => date("Y-m-d H:i:s", $day_time), 'title' => html_entity_decode((string) $sShow->title, ENT_QUOTES, 'UTF-8'), 'episode' => html_entity_decode((string) $sShow->ep, ENT_QUOTES, 'UTF-8'));
$xmlSchedule[$currShowId][$tag] = array('name' => $currShowName, 'day' => $currDay, 'time' => $currTime, 'day_time' => $day_time, 'day_date' => date("Y-m-d H:i:s", $day_time), 'title' => html_entity_decode((string)$sShow->title, ENT_QUOTES, 'UTF-8'), 'episode' => html_entity_decode((string)$sShow->ep, ENT_QUOTES, 'UTF-8'));
$xmlSchedule[$currShowId]['showname'] = $currShowName;
}
@@ -486,8 +490,10 @@ class TvAnger
return $result;
}
return false;
}
return false;
}
@@ -518,6 +524,7 @@ class TvAnger
$result['imgurl'] = $matches[1];
}
}
return $result;
}
@@ -532,25 +539,30 @@ class TvAnger
$result['genres'] = (isset($arrXml['genres'])) ? $arrXml['genres'] : '';
$result['country'] = (isset($arrXml['origin_country'])) ? $arrXml['origin_country'] : '';
$result = $this->countryCode($result);
return $result;
}
return false;
}
return false;
}
// Convert 2012-24-07 to 2012-07-24, there is probably a better way
public function checkDate($date)
{
if (!empty($date) && $date != NULL) {
if (!empty($date) && $date != null) {
$chk = explode(" ", $date);
$chkd = explode("-", $chk[0]);
if ($chkd[1] > 12) {
$date = date('Y-m-d H:i:s', strtotime($chkd[1] . " " . $chkd[2] . " " . $chkd[0]));
}
return $date;
}
return NULL;
return null;
}
public function updateEpInfo($show, $relid)
@@ -703,13 +715,11 @@ class TvAnger
echo $this->c->primary('Found TVRage ID on trakt:' . $traktArray['show']['tvrage_id']);
}
$this->updateRageInfoTrakt($traktArray['show']['tvrage_id'], $show, $traktArray, $arr['ID']);
}
// No match, add to tvrage with rageID = -2 and $show['cleanname'] title only.
} // No match, add to tvrage with rageID = -2 and $show['cleanname'] title only.
else {
$this->add(-2, $show['cleanname'], '', '', '', '');
}
}
// No match, add to tvrage with rageID = -2 and $show['cleanname'] title only.
} // No match, add to tvrage with rageID = -2 and $show['cleanname'] title only.
else {
$this->add(-2, $show['cleanname'], '', '', '', '');
}
@@ -751,6 +761,7 @@ class TvAnger
}
$ret++;
}
return $ret;
}
@@ -822,6 +833,7 @@ class TvAnger
if ($this->echooutput) {
echo $this->c->primary('Found 100% match: "' . $titleMatches[100][0]['title'] . '"');
}
return $titleMatches[100][0];
}
@@ -830,6 +842,7 @@ class TvAnger
if ($this->echooutput) {
echo $this->c->primary('Found 100% url match: "' . $urlMatches[100][0]['title'] . '"');
}
return $urlMatches[100][0];
}
@@ -838,6 +851,7 @@ class TvAnger
if ($this->echooutput) {
echo $this->c->primary('Found 100% aka match: "' . $akaMatches[100][0]['title'] . '"');
}
return $akaMatches[100][0];
}
@@ -853,6 +867,7 @@ class TvAnger
if ($this->echooutput) {
echo $this->c->primary('Found ' . $mk . '% match: "' . $titleMatches[$mk][0]['title'] . '"');
}
return $titleMatches[$mk][0];
}
@@ -867,17 +882,20 @@ class TvAnger
if ($this->echooutput) {
echo $this->c->primary('Found ' . $ak . '% aka match: "' . $akaMatches[$ak][0]['title'] . '"');
}
return $akaMatches[$ak][0];
}
if ($this->echooutput) {
echo $this->c->primary('No match found on TVRage trying Trakt.');
}
return false;
} else {
if ($this->echooutput) {
echo $this->c->primary('Nothing returned from tvrage.');
}
return false;
}
} else {
@@ -887,6 +905,7 @@ class TvAnger
if ($this->echooutput) {
echo $this->c->primary('No match found online.');
}
return false;
}
@@ -950,6 +969,7 @@ class TvAnger
$str = preg_replace('/\s{2,}/', ' ', $str);
$str = trim($str, '\"');
return trim($str);
}
@@ -964,7 +984,7 @@ class TvAnger
if (preg_match('/[^a-z0-9]{2,}(?P<name>[\w .-]*?)' . $following . '/i', $relname, $matches)) {
$showInfo['name'] = $matches[1];
} else if (preg_match('/^(?P<name>[a-z0-9][\w .-]*?)' . $following . '/i', $relname, $matches)) {
// For names that start with the title.
// For names that start with the title.
$showInfo['name'] = $matches[1];
}
@@ -973,121 +993,127 @@ class TvAnger
if (preg_match('/^(.*?)[^a-z0-9]s(\d{1,2})[^a-z0-9]?e(\d{1,3})(?:[e-])(\d{1,3})[^a-z0-9]/i', $relname, $matches)) {
$showInfo['season'] = intval($matches[2]);
$showInfo['episode'] = array(intval($matches[3]), intval($matches[4]));
}
//S01E0102 - lame no delimit numbering, regex would collide if there was ever 1000 ep season.
} //S01E0102 - lame no delimit numbering, regex would collide if there was ever 1000 ep season.
else if (preg_match('/^(.*?)[^a-z0-9]s(\d{2})[^a-z0-9]?e(\d{2})(\d{2})[^a-z0-9]/i', $relname, $matches)) {
$showInfo['season'] = intval($matches[2]);
$showInfo['episode'] = array(intval($matches[3]), intval($matches[4]));
}
// S01E01 and S01.E01
} // S01E01 and S01.E01
else if (preg_match('/^(.*?)[^a-z0-9]s(\d{1,2})[^a-z0-9]?e(\d{1,3})[^a-z0-9]/i', $relname, $matches)) {
$showInfo['season'] = intval($matches[2]);
$showInfo['episode'] = intval($matches[3]);
}
// S01
} // S01
else if (preg_match('/^(.*?)[^a-z0-9]s(\d{1,2})[^a-z0-9]/i', $relname, $matches)) {
$showInfo['season'] = intval($matches[2]);
$showInfo['episode'] = 'all';
}
// S01D1 and S1D1
} // S01D1 and S1D1
else if (preg_match('/^(.*?)[^a-z0-9]s(\d{1,2})[^a-z0-9]?d\d{1}[^a-z0-9]/i', $relname, $matches)) {
$showInfo['season'] = intval($matches[2]);
$showInfo['episode'] = 'all';
}
// 1x01
} // 1x01
else if (preg_match('/^(.*?)[^a-z0-9](\d{1,2})x(\d{1,3})[^a-z0-9]/i', $relname, $matches)) {
$showInfo['season'] = intval($matches[2]);
$showInfo['episode'] = intval($matches[3]);
}
// 2009.01.01 and 2009-01-01
} // 2009.01.01 and 2009-01-01
else if (preg_match('/^(.*?)[^a-z0-9](19|20)(\d{2})[^a-z0-9](\d{2})[^a-z0-9](\d{2})[^a-z0-9]/i', $relname, $matches)) {
$showInfo['season'] = $matches[2] . $matches[3];
$showInfo['episode'] = $matches[4] . '/' . $matches[5];
$showInfo['airdate'] = $matches[2] . $matches[3] . '-' . $matches[4] . '-' . $matches[5]; //yy-m-d
}
// 01.01.2009
} // 01.01.2009
else if (preg_match('/^(.*?)[^a-z0-9](\d{2})[^a-z0-9](\d{2})[^a-z0-9](19|20)(\d{2})[^a-z0-9]/i', $relname, $matches)) {
$showInfo['season'] = $matches[4] . $matches[5];
$showInfo['episode'] = $matches[2] . '/' . $matches[3];
$showInfo['airdate'] = $matches[4] . $matches[5] . '-' . $matches[2] . '-' . $matches[3]; //yy-m-d
}
// 01.01.09
} // 01.01.09
else if (preg_match('/^(.*?)[^a-z0-9](\d{2})[^a-z0-9](\d{2})[^a-z0-9](\d{2})[^a-z0-9]/i', $relname, $matches)) {
$showInfo['season'] = ($matches[4] <= 99 && $matches[4] > 15) ? '19' . $matches[4] : '20' . $matches[4];
$showInfo['episode'] = $matches[2] . '/' . $matches[3];
$showInfo['airdate'] = $showInfo['season'] . '-' . $matches[2] . '-' . $matches[3]; //yy-m-d
}
// 2009.E01
} // 2009.E01
else if (preg_match('/^(.*?)[^a-z0-9]20(\d{2})[^a-z0-9](\d{1,3})[^a-z0-9]/i', $relname, $matches)) {
$showInfo['season'] = '20' . $matches[2];
$showInfo['episode'] = intval($matches[3]);
}
// 2009.Part1
} // 2009.Part1
else if (preg_match('/^(.*?)[^a-z0-9](19|20)(\d{2})[^a-z0-9]Part(\d{1,2})[^a-z0-9]/i', $relname, $matches)) {
$showInfo['season'] = $matches[2] . $matches[3];
$showInfo['episode'] = intval($matches[4]);
}
// Part1/Pt1
} // Part1/Pt1
else if (preg_match('/^(.*?)[^a-z0-9](?:Part|Pt)[^a-z0-9](\d{1,2})[^a-z0-9]/i', $relname, $matches)) {
$showInfo['season'] = 1;
$showInfo['episode'] = intval($matches[2]);
}
//The.Pacific.Pt.VI.HDTV.XviD-XII / Part.IV
} //The.Pacific.Pt.VI.HDTV.XviD-XII / Part.IV
else if (preg_match('/^(.*?)[^a-z0-9](?:Part|Pt)[^a-z0-9]([ivx]+)/i', $relname, $matches)) {
$showInfo['season'] = 1;
$epLow = strtolower($matches[2]);
switch ($epLow) {
case 'i': $e = 1;
case 'i':
$e = 1;
break;
case 'ii': $e = 2;
case 'ii':
$e = 2;
break;
case 'iii': $e = 3;
case 'iii':
$e = 3;
break;
case 'iv': $e = 4;
case 'iv':
$e = 4;
break;
case 'v': $e = 5;
case 'v':
$e = 5;
break;
case 'vi': $e = 6;
case 'vi':
$e = 6;
break;
case 'vii': $e = 7;
case 'vii':
$e = 7;
break;
case 'viii': $e = 8;
case 'viii':
$e = 8;
break;
case 'ix': $e = 9;
case 'ix':
$e = 9;
break;
case 'x': $e = 10;
case 'x':
$e = 10;
break;
case 'xi': $e = 11;
case 'xi':
$e = 11;
break;
case 'xii': $e = 12;
case 'xii':
$e = 12;
break;
case 'xiii': $e = 13;
case 'xiii':
$e = 13;
break;
case 'xiv': $e = 14;
case 'xiv':
$e = 14;
break;
case 'xv': $e = 15;
case 'xv':
$e = 15;
break;
case 'xvi': $e = 16;
case 'xvi':
$e = 16;
break;
case 'xvii': $e = 17;
case 'xvii':
$e = 17;
break;
case 'xviii': $e = 18;
case 'xviii':
$e = 18;
break;
case 'xix': $e = 19;
case 'xix':
$e = 19;
break;
case 'xx': $e = 20;
case 'xx':
$e = 20;
break;
default:
$e = 0;
}
$showInfo['episode'] = $e;
}
// Band.Of.Brothers.EP06.Bastogne.DVDRiP.XviD-DEiTY
} // Band.Of.Brothers.EP06.Bastogne.DVDRiP.XviD-DEiTY
else if (preg_match('/^(.*?)[^a-z0-9]EP?[^a-z0-9]?(\d{1,3})/i', $relname, $matches)) {
$showInfo['season'] = 1;
$showInfo['episode'] = intval($matches[2]);
}
// Season.1
} // Season.1
else if (preg_match('/^(.*?)[^a-z0-9]Seasons?[^a-z0-9]?(\d{1,2})/i', $relname, $matches)) {
$showInfo['season'] = intval($matches[2]);
$showInfo['episode'] = 'all';
@@ -1096,7 +1122,7 @@ class TvAnger
$countryMatch = $yearMatch = '';
// Country or origin matching.
if (preg_match('/\W(US|UK|AU|NZ|CA|NL|Canada|Australia|America|United[^a-z0-9]States|United[^a-z0-9]Kingdom)\W/', $showInfo['name'], $countryMatch)) {
$currentCountry = strtolower($countryMatch[1]) ;
$currentCountry = strtolower($countryMatch[1]);
if ($currentCountry == 'canada') {
$showInfo['country'] = 'CA';
} else if ($currentCountry == 'australia') {
@@ -1137,19 +1163,22 @@ class TvAnger
$showInfo['seriesfull'] = $showInfo['season'] . $showInfo['episode'];
}
$showInfo['airdate'] = (!empty($showInfo['airdate'])) ? $showInfo['airdate'] . ' 00:00:00' : '';
return $showInfo;
}
return false;
}
public function getGenres()
{
return array('Action', 'Adult/Porn', 'Adventure', 'Anthology', 'Arts & Crafts', 'Automobiles', 'Buy, Sell & Trade', 'Celebrities', 'Children', 'Cinema/Theatre', 'Comedy', 'Cooking/Food', 'Crime', 'Current Events',
'Dance', 'Debate', 'Design/Decorating', 'Discovery/Science', 'Drama', 'Educational', 'Family', 'Fantasy', 'Fashion/Make-up', 'Financial/Business', 'Fitness', 'Garden/Landscape', 'History',
'Horror/Supernatural', 'Housing/Building', 'How To/Do It Yourself', 'Interview', 'Lifestyle', 'Literature', 'Medical', 'Military/War', 'Music', 'Mystery', 'Pets/Animals', 'Politics', 'Puppets',
'Religion', 'Romance/Dating', 'Sci-Fi', 'Sketch/Improv', 'Soaps', 'Sports', 'Super Heroes', 'Talent', 'Tech/Gaming', 'Teens', 'Thriller', 'Travel', 'Western', 'Wildlife');
'Dance', 'Debate', 'Design/Decorating', 'Discovery/Science', 'Drama', 'Educational', 'Family', 'Fantasy', 'Fashion/Make-up', 'Financial/Business', 'Fitness', 'Garden/Landscape', 'History',
'Horror/Supernatural', 'Housing/Building', 'How To/Do It Yourself', 'Interview', 'Lifestyle', 'Literature', 'Medical', 'Military/War', 'Music', 'Mystery', 'Pets/Animals', 'Politics', 'Puppets',
'Religion', 'Romance/Dating', 'Sci-Fi', 'Sketch/Improv', 'Soaps', 'Sports', 'Super Heroes', 'Talent', 'Tech/Gaming', 'Teens', 'Thriller', 'Travel', 'Western', 'Wildlife'
);
}
}
?>
?>