From 7a9be023215377956af9751971dfa1eee0d13bae Mon Sep 17 00:00:00 2001
From: Britney Fransen <brfransen@gmail.com>
Date: Sat, 28 Aug 2010 12:40:31 -0500
Subject: mre: updates from goofee

---
 abs/extra-testing/community/mre/PKGBUILD       |  18 +-
 abs/extra-testing/community/mre/livescores.tgz | Bin 39586 -> 0 bytes
 abs/extra-testing/community/mre/mre.install    |   2 +-
 abs/extra-testing/community/mre/patch.diff     | 225 ++++++++++++++-----------
 abs/extra-testing/community/mre/run            |   2 +
 5 files changed, 132 insertions(+), 115 deletions(-)
 delete mode 100644 abs/extra-testing/community/mre/livescores.tgz

diff --git a/abs/extra-testing/community/mre/PKGBUILD b/abs/extra-testing/community/mre/PKGBUILD
index 72d3bc3..c950d0c 100644
--- a/abs/extra-testing/community/mre/PKGBUILD
+++ b/abs/extra-testing/community/mre/PKGBUILD
@@ -1,14 +1,14 @@
 arch=('i686')
 pkgname=mre
 pkgver=1.1.2
-pkgrel=2
+pkgrel=4
 _kernver=2.6.28-LinHES
 pkgdesc="Myth Recording Extender"
 url="http://sourceforge.net/projects/mythtv-tools/"
 license=('GPL-2')
 depends=('PearDB' 'PearLog')
 makedepends=()
-source=('mre-1.1.2.tar.gz' 'patch.diff' 'livescores.tgz' 'run' 'mre.lr')
+source=('mre-1.1.2.tar.gz' 'patch.diff' 'run' 'mre.lr')
 install=('mre.install')
 
 build() {
@@ -18,24 +18,20 @@ build() {
 	make INST_ROOT=$startdir/pkg install
 	cp $startdir/src/mre-1.1.2/conf/mre.conf $startdir/pkg/etc/mre.conf
 	cp $startdir/src/mre-1.1.2/test/test_title_subtitle.php\
-       		$startdir/pkg/usr/local/bin/
+     		$startdir/pkg/usr/local/bin/
 	chmod a+x $startdir/pkg/usr/local/bin/test_title_subtitle.php
 	rm -r $startdir/pkg/etc/init.d
-	mkdir -p  $startdir/pkg/var/log/mre
+	mkdir -p $startdir/pkg/var/log/mre
+	chown root:log "$startdir/pkg/var/log/mre"
 	touch $startdir/pkg/var/log/mre/mre.log
 	chown mythtv:mythtv "$startdir/pkg/var/log/mre/mre.log"
 	mkdir -p $startdir/pkg/etc/sv/mre
 	cp $startdir/src/run $startdir/pkg/etc/sv/mre/run
 	mkdir -p $startdir/pkg/etc/logrotate.d
 	cp $startdir/src/mre.lr $startdir/pkg/etc/logrotate.d/mre.lr
-	mkdir -p $startdir/pkg/data/srv/http/htdocs/
-	cp -r $startdir/src/scores /$startdir/pkg/data/srv/http/htdocs/
-	chown -R http:users "$startdir/pkg/data/srv/http/htdocs/scores"
 }
 
-
 md5sums=('8ab312e7597ae9413a57bd5e9a068096'
-         'd2591989da512c0faa567408721b6e95'
-         'fcc02a234b22ba5c2714a6b8dbaf3bef'
-         'dea22d4e0f2c1dd8a2debd2f50756dda'
+         '0d0b676367fc4fe459c4f8985872eda6'
+         '10e01d572b45ad718e49ff9ef5c230c5'
          '6d71ab57afd974c5130c994b94e8746f')
diff --git a/abs/extra-testing/community/mre/livescores.tgz b/abs/extra-testing/community/mre/livescores.tgz
deleted file mode 100644
index d97175b..0000000
Binary files a/abs/extra-testing/community/mre/livescores.tgz and /dev/null differ
diff --git a/abs/extra-testing/community/mre/mre.install b/abs/extra-testing/community/mre/mre.install
index 4e3fb0d..bb08427 100755
--- a/abs/extra-testing/community/mre/mre.install
+++ b/abs/extra-testing/community/mre/mre.install
@@ -5,7 +5,7 @@ post_install() {
 }
 
 post_upgrade() {
-
+	/bin/true
 }
 
 
diff --git a/abs/extra-testing/community/mre/patch.diff b/abs/extra-testing/community/mre/patch.diff
index 66390d9..32a7919 100644
--- a/abs/extra-testing/community/mre/patch.diff
+++ b/abs/extra-testing/community/mre/patch.diff
@@ -9,65 +9,6 @@
              return $matches[1];
        return '0';
     }
---- ../mre-1.1.2/class/NHLEvent.php.original	2006-11-05 17:06:57.000000000 -0600
-+++ ../mre-1.1.2/class/NHLEvent.php	2010-05-21 00:44:49.000000000 -0500
-@@ -27,7 +27,7 @@
-    /**
-     * URL to grab game info from
-     */
--   const url = 'http://scores.espn.go.com/nhl/scoreboard';
-+   const url = 'http://localhost/scores/nhl.php';
- 
-    /**
-     * Class constructor.
-@@ -39,32 +39,27 @@
-       parent::__construct();
- 
-       $criteria = $this->generateSearchTerms($gameInfo);
-+      
-       if(!sizeof($criteria))
-          trigger_error("Unable to generate valid search terms! [$gameInfo]", E_USER_WARNING);
-       else
-       {
-          $data = file(self::url);
--         if($data !== FALSE)
--            foreach($criteria as $term)
--            {
--               $status = '';
--               foreach($data as $line)
--                  if(preg_match('/' . preg_quote($term) . '/', $line))
--                  {
--                     $status = $line;
--                     break;
--                  }
--               if(preg_match('/id.*st"\>(.*)\<\/td/U', $status, $match))
--               {
--                  $this->setStatus($match[1]);
--                  if(preg_match('/^Final/', $match[1]))
--                     $this->setEventOver(TRUE);
--                  else
--                     $this->setEventOver(FALSE);
--                  $this->setValid(TRUE);
--                  break;
--               }
-+         if($data)
-+         {
-+            foreach($data as $line)
-+	    {
-+               if((strpos($line,$criteria[0]))&&(strpos($line,$criteria[1])))
-+	       {
-+		  if(strpos($line,'FINAL')) 
-+		     $this->setEventOver(TRUE);
-+		  else
-+		     $this->setEventOver(FALSE);
-+		  $this->setValid(TRUE);
-+		  break;
-+	       }
-             }
-+         }
-       }
-       if(!$this->isValid())
-          trigger_error("Unable to find NHL info for '$gameInfo'!  The NHL parser may need to be updated.", E_USER_WARNING);
 --- ../mre-1.1.2/conf/mre.conf.in.original	2006-08-13 16:48:57.000000000 -0500
 +++ ../mre-1.1.2/conf/mre.conf.in	2010-05-04 00:25:26.000000000 -0500
 @@ -28,9 +28,9 @@
@@ -82,18 +23,29 @@
  ; Number of minutes to sleep between runs
  sleep = 5
  ; Logging level (0 = normal, 1 = +error, 2 = +warning, 3 = +debug)
+--- ../mre-1.1.2/class/EventFactory.php.original	2006-09-22 10:18:07.000000000 -0500
++++ ../mre-1.1.2/class/EventFactory.php	2010-08-28 00:02:37.000000000 -0500
+@@ -50,7 +50,7 @@
+                $obj = new NHLEvent($data['subtitle']); break;
+             case 'MLB Baseball':
+                $obj = new MLBEvent($data['subtitle']); break;
+-            case 'NFL Football':
++            case ($data['title']=='NFL Football' || $data['title']=='NFL Preseason Football'):
+                $obj = new NFLEvent($data['subtitle']); break;
+             case 'College Football':
+                $obj = new NCAAFEvent($data['subtitle']); break;
 --- ../mre-1.1.2/class/MLBEvent.php.original	2006-11-05 17:06:57.000000000 -0600
-+++ ../mre-1.1.2/class/MLBEvent.php	2010-05-21 20:08:30.000000000 -0500
++++ ../mre-1.1.2/class/MLBEvent.php	2010-08-28 00:02:37.000000000 -0500
 @@ -27,7 +27,7 @@
     /**
      * URL to grab game info from
      */
 -   const url = 'http://scores.espn.go.com/mlb/scoreboard';
-+   const url = 'http://localhost/scores/mlb.php';
++   const url = 'http://sports.espn.go.com/mlb/bottomline/scores';
  
     /**
      * Class constructor.
-@@ -43,41 +43,22 @@
+@@ -43,41 +43,24 @@
           trigger_error("Unable to generate valid search terms! [$gameInfo]", E_USER_WARNING);
        else
        {
@@ -133,8 +85,10 @@
 +	 $data = file(self::url);
 +         if($data)
 +	 {
-+	    foreach($data as $line)
-+      	    {
++	    $data_array=explode("&", $data[0]);
++	    foreach($data_array as $line)
++	    {
++	       $line=str_replace("%20", " ", $line);
 +               if((strpos($line,$criteria[0]))&&(strpos($line,$criteria[1])))
 +   	       {
 +     		  if((strpos($line,'FINAL'))or(strpos($line,'Postponed'))) 
@@ -150,18 +104,80 @@
        }
        if(!$this->isValid())
           trigger_error("Unable to find MLB info for '$gameInfo'!  The MLB parser may need to be updated.", E_USER_WARNING);
+--- ../mre-1.1.2/class/NFLEvent.php.original	2006-11-05 17:06:57.000000000 -0600
++++ ../mre-1.1.2/class/NFLEvent.php	2010-08-28 00:06:56.000000000 -0500
+@@ -27,7 +27,7 @@
+    /**
+     * URL to grab game info from
+     */
+-   const url = 'http://scores.espn.go.com/nfl/scoreboard';
++   const url = 'http://sports.espn.go.com/nfl/bottomline/scores';
+ 
+    /**
+     * Class constructor.
+@@ -44,33 +44,23 @@
+       else
+       {
+          $data = file(self::url);
+-         $games = array();
+-         if($data !== FALSE)
+-         {
+-            // Split the huge string into individual game data
+-            foreach($data as $line)
+-               if(preg_match('/\<td class="teamTop.*".*\>.*/', $line))
+-                  $games[] = $line;
+-            if(!sizeof($games))
+-               trigger_error("Unable to find valid game data within source!", E_USER_WARNING);
+-            foreach($criteria as $term)
+-            {
+-               foreach($games as $game)
+-               {
+-                  if(preg_match('/' . preg_quote($term) . '/', $game))
+-                     if(preg_match('/teamTop.*\>(.*)\<\/td\>/U', $game, $matches))
+-                     {
+-                        $this->setStatus($matches[1]);
+-                        if(preg_match('/^(Final|Postponed)/', $matches[1]))
+-                           $this->setEventOver(TRUE);
+-                        else
+-                           $this->setEventOver(FALSE);
+-                        $this->setValid(TRUE);
+-                        break 2;
+-                     }
+-               }
+-            }
+-         }
++	 if($data)
++	 {
++	    $data_array=explode("&", $data[0]);	 
++	    foreach($data_array as $line)
++	    {
++	       $line=str_replace("%20", " ", $line);
++               if((strpos($line,$criteria[0]))&&(strpos($line,$criteria[1])))
++	       {
++		  if(strpos($line,'FINAL'))
++		     $this->setEventOver(TRUE);
++		  else
++		     $this->setEventOver(FALSE);
++		  $this->setValid(TRUE);
++		  break;
++	       }
++	    }
++	 }
+       }
+       if(!$this->isValid())
+          trigger_error("Unable to find NFL info for '$gameInfo'!  The NFL parser may need to be updated.", E_USER_WARNING);
 --- ../mre-1.1.2/class/NBAEvent.php.original	2006-11-05 17:06:57.000000000 -0600
-+++ ../mre-1.1.2/class/NBAEvent.php	2010-05-21 21:15:42.000000000 -0500
++++ ../mre-1.1.2/class/NBAEvent.php	2010-08-28 00:09:50.000000000 -0500
 @@ -27,7 +27,7 @@
     /**
      * URL to grab game info from
      */
 -   const url = 'http://scores.espn.go.com/nba/scoreboard';
-+   const url = 'http://localhost/scores/nba.php';
++   const url = 'http://sports.espn.go.com/nba/bottomline/scores';
  
     /**
      * Class constructor.
-@@ -44,35 +44,21 @@
+@@ -44,35 +44,23 @@
        else
        {
           $data = file(self::url);
@@ -194,9 +210,11 @@
 -                  break;
 -               }
 +         if($data)
-+         {
-+            foreach($data as $line)
-+      	    {
++	 {
++	    $data_array=explode("&", $data[0]);
++            foreach($data_array as $line)
++	    {
++	       $line=str_replace("%20", " ", $line);
 +               if((strpos($line,$criteria[0]))&&(strpos($line,$criteria[1])))
 +  	       {
 +       		  if(strpos($line,'FINAL')) 
@@ -211,63 +229,64 @@
        }
        if(!$this->isValid())
           trigger_error("Unable to find NBA info for '$gameInfo'!  The NBA parser may need to be updated.", E_USER_WARNING);
---- ../mre-1.1.2/class/NFLEvent.php.original	2006-11-05 17:06:57.000000000 -0600
-+++ ../mre-1.1.2/class/NFLEvent.php	2010-05-21 19:09:36.000000000 -0500
+--- ../mre-1.1.2/class/NHLEvent.php.original	2006-11-05 17:06:57.000000000 -0600
++++ ../mre-1.1.2/class/NHLEvent.php	2010-08-28 00:09:04.000000000 -0500
 @@ -27,7 +27,7 @@
     /**
      * URL to grab game info from
      */
--   const url = 'http://scores.espn.go.com/nfl/scoreboard';
-+   const url = 'http://localhost/scores/nfl.php';
+-   const url = 'http://scores.espn.go.com/nhl/scoreboard';
++   const url = 'http://sports.espn.go.com/nhl/bottomline/scores';
  
     /**
      * Class constructor.
-@@ -44,33 +44,21 @@
+@@ -39,32 +39,29 @@
+       parent::__construct();
+ 
+       $criteria = $this->generateSearchTerms($gameInfo);
++      
+       if(!sizeof($criteria))
+          trigger_error("Unable to generate valid search terms! [$gameInfo]", E_USER_WARNING);
        else
        {
           $data = file(self::url);
--         $games = array();
 -         if($data !== FALSE)
--         {
--            // Split the huge string into individual game data
--            foreach($data as $line)
--               if(preg_match('/\<td class="teamTop.*".*\>.*/', $line))
--                  $games[] = $line;
--            if(!sizeof($games))
--               trigger_error("Unable to find valid game data within source!", E_USER_WARNING);
 -            foreach($criteria as $term)
 -            {
--               foreach($games as $game)
+-               $status = '';
+-               foreach($data as $line)
+-                  if(preg_match('/' . preg_quote($term) . '/', $line))
+-                  {
+-                     $status = $line;
+-                     break;
+-                  }
+-               if(preg_match('/id.*st"\>(.*)\<\/td/U', $status, $match))
 -               {
--                  if(preg_match('/' . preg_quote($term) . '/', $game))
--                     if(preg_match('/teamTop.*\>(.*)\<\/td\>/U', $game, $matches))
--                     {
--                        $this->setStatus($matches[1]);
--                        if(preg_match('/^(Final|Postponed)/', $matches[1]))
--                           $this->setEventOver(TRUE);
--                        else
--                           $this->setEventOver(FALSE);
--                        $this->setValid(TRUE);
--                        break 2;
--                     }
+-                  $this->setStatus($match[1]);
+-                  if(preg_match('/^Final/', $match[1]))
+-                     $this->setEventOver(TRUE);
+-                  else
+-                     $this->setEventOver(FALSE);
+-                  $this->setValid(TRUE);
+-                  break;
 -               }
--            }
--         }
-+	 if($data)
++         if($data)
 +	 {
-+	    foreach($data as $line)
++	    $data_array=explode("&", $data[0]);
++            foreach($data_array as $line)
 +	    {
++	       $line=str_replace("%20", " ", $line);
 +               if((strpos($line,$criteria[0]))&&(strpos($line,$criteria[1])))
 +	       {
-+		  if(strpos($line,'FINAL'))
++		  if(strpos($line,'FINAL')) 
 +		     $this->setEventOver(TRUE);
 +		  else
 +		     $this->setEventOver(FALSE);
 +		  $this->setValid(TRUE);
 +		  break;
 +	       }
-+	    }
-+	 }
+             }
++         }
        }
        if(!$this->isValid())
-          trigger_error("Unable to find NFL info for '$gameInfo'!  The NFL parser may need to be updated.", E_USER_WARNING);
+          trigger_error("Unable to find NHL info for '$gameInfo'!  The NHL parser may need to be updated.", E_USER_WARNING);
diff --git a/abs/extra-testing/community/mre/run b/abs/extra-testing/community/mre/run
index 84d08e5..94381b3 100755
--- a/abs/extra-testing/community/mre/run
+++ b/abs/extra-testing/community/mre/run
@@ -4,6 +4,8 @@ export TERM=linux
 . /etc/rc.d/functions
 stat_runit "Starting mythrecordingextender"
 
+export HOME=/home/mythtv
+
 sv start mythbackend || exit 1
 sleep 5
 
-- 
cgit v0.12

