コード例 #1
0
ファイル: PostProcess.php プロジェクト: engine9-/newznab-tmux
 /**
  * Work out all files contained inside a rar
  */
 public function getMediainfo($ramdrive, $mediainfo, $releaseID)
 {
     $retval = false;
     $mediafiles = glob($ramdrive . '*.*');
     if (is_array($mediafiles)) {
         foreach ($mediafiles as $mediafile) {
             if (preg_match("/\\.(" . $this->mediafileregex . '|' . $this->audiofileregex . ")\$/i", $mediafile)) {
                 $execstring = '"' . $mediainfo . '" --Output=XML "' . $mediafile . '"';
                 $xmlarray = Utility::runCmd($execstring);
                 if (is_array($xmlarray)) {
                     $xmlarray = implode("\n", $xmlarray);
                     $re = new ReleaseExtra();
                     $re->addFull($releaseID, $xmlarray);
                     $re->addFromXml($releaseID, $xmlarray);
                     $retval = true;
                 } else {
                     echo "PostPrc : Failed to process mediainfo for " . $mediafile . " release (" . $releaseID . ")\n";
                 }
             }
         }
     } else {
         echo "PostPrc: Couldn't open temp drive " . $ramdrive . "\n";
     }
     return $retval;
 }
コード例 #2
0
 /**
  * Try to get media info xml from a video file.
  *
  * @param string $fileLocation
  *
  * @return bool
  */
 protected function _getMediaInfo($fileLocation)
 {
     if (!$this->_processMediaInfo) {
         return false;
     }
     // Look for the video file.
     if (is_file($fileLocation)) {
         // Run media info on it.
         $xmlArray = Utility::runCmd($this->_killString . $this->pdo->getSetting('mediainfopath') . '" --Output=XML "' . $fileLocation . '"');
         // Check if we got it.
         if (is_array($xmlArray)) {
             // Convert it to string.
             $xmlArray = implode("\n", $xmlArray);
             if (!preg_match('/<track type="(Audio|Video)">/i', $xmlArray)) {
                 return false;
             }
             // Insert it into the DB.
             $this->_releaseExtra->addFull($this->_release['id'], $xmlArray);
             $this->_releaseExtra->addFromXml($this->_release['id'], $xmlArray);
             if ($this->_echoCLI) {
                 $this->_echo('m', 'primaryOver', false);
             }
             return true;
         }
     }
     return false;
 }
コード例 #3
0
ファイル: postprocess.php プロジェクト: ehsanguru/nnplus
 public function getMediainfo($ramdrive, $mediainfo, $releaseID)
 {
     $retval = false;
     $mediafiles = glob($ramdrive . '*.*');
     if (is_array($mediafiles)) {
         foreach ($mediafiles as $mediafile) {
             if (preg_match("/\\.(" . $this->mediafileregex . ")\$/i", $mediafile)) {
                 echo "Getting Mediainfo for {$mediafile}\n";
                 $execstring = '"' . $mediainfo . '" --Output=XML "' . $mediafile . '"';
                 $xmlarray = runCmd($execstring);
                 if (is_array($xmlarray)) {
                     echo "-Success\n";
                     $xmlarray = implode("\n", $xmlarray);
                     $re = new ReleaseExtra();
                     $re->addFull($releaseID, $xmlarray);
                     $re->addFromXml($releaseID, $xmlarray);
                     $retval = true;
                 } else {
                     echo "-Failed\n";
                 }
             }
         }
     } else {
         echo "Couldn't open temp drive " . $ramdrive;
     }
     return $retval;
 }