Commit 1dcb0b4f authored by ivaya's avatar ivaya

Viele Kleine Änderungen:

parent 64785634
...@@ -121,7 +121,7 @@ class Media { ...@@ -121,7 +121,7 @@ class Media {
$Counter=0; $Counter=0;
//var_dump($FilmeArr); //var_dump($FilmeArr);
foreach ($FilmeArr as $value) { foreach ($FilmeArr as $value) {
$array = $this->parseMovie((($action == "einlesen")?$this->PfadzumEinlesen."/":$this->PfadzumAusgeben."Filme/").(strlen($value[0])>0?$value[0].'/':''), $value[1],(($action == "nfo")?true:false)); $array = $this->parseMovie((($action == "einlesen")?$this->PfadzumEinlesen."/":$this->PfadzumAusgeben."Filme/").(strlen($value[0])>0?$value[0].'/':''), $value[1],$action);
if(($array == false)){ if(($array == false)){
echo $this->Console->getColoredString(" ","black", "red").PHP_EOL; echo $this->Console->getColoredString(" ","black", "red").PHP_EOL;
$fehler = $this->Console->getColoredString("Fehler!","black", "red")." ".$this->PfadzumEinlesen.'/'.(strlen($value[0])>0?$value[0].'/':'').$value[1].PHP_EOL; $fehler = $this->Console->getColoredString("Fehler!","black", "red")." ".$this->PfadzumEinlesen.'/'.(strlen($value[0])>0?$value[0].'/':'').$value[1].PHP_EOL;
...@@ -266,18 +266,15 @@ class Media { ...@@ -266,18 +266,15 @@ class Media {
echo " fail1!".PHP_EOL; echo " fail1!".PHP_EOL;
return false; return false;
} }
} }
/** /**
* @param imdb * @param imdb
* @param fehler * @param fehler
* @return die FSK oder false * @return die FSK oder false
*/private function gibFSK($imdb, $imdbID, &$fehler = "") { */private function gibFSK($imdb, $imdbID, &$fehler = "") {
$fsktemp = $imdb->getCertification(); $fsktemp = $imdb->getCertification();
$fskbool= false; $fskbool= false;
if(!(strpos( $fsktemp,"Germany") === false)){ if(!(strpos( $fsktemp,"Germany") === false)){
$fsk = trim(substr($fsktemp,strpos( $fsktemp,"Germany")+8,2)); $fsk = trim(substr($fsktemp,strpos( $fsktemp,"Germany")+8,2));
if($fsk == "No"){ if($fsk == "No"){
...@@ -308,7 +305,7 @@ class Media { ...@@ -308,7 +305,7 @@ class Media {
} }
//return $counterNotFound; //return $counterNotFound;
} }
private function parseMovie($Pfad, $Filename, $minimal = false){ private function parseMovie($Pfad, $Filename, $minimal = "nfo"){
/*TODO mehrere Sachen /*TODO mehrere Sachen
* Auf weitere Saplten die für nfo gebraucht werden erweitern * Auf weitere Saplten die für nfo gebraucht werden erweitern
* *
...@@ -349,89 +346,92 @@ class Media { ...@@ -349,89 +346,92 @@ class Media {
$array["name"] = trim(substr($Filename, 0, strripos( $Filename,"("))); $array["name"] = trim(substr($Filename, 0, strripos( $Filename,"(")));
//TODO wird hier nicht gebraucht? //TODO wird hier nicht gebraucht?
//$Endung = trim(substr($Filename,strripos( $Filename,".")+1)); //$Endung = trim(substr($Filename,strripos( $Filename,".")+1));
if(!$minimal){ if(!($minimal =="nfo")){
echo " Hole Daten von imdb... "; if(($minimal =="check") OR ($minimal =="einlesen")){
// Werte aus IMdb Auslesen... echo " Hole Daten von imdb... ";
$imdb = new IMDB("http://www.imdb.com/title/tt".$array["imdbID"]."/"); // Werte aus IMdb Auslesen...
if ($imdb->isReady) { $imdb = new IMDB("http://www.imdb.com/title/tt".$array["imdbID"]."/");
echo " done!".PHP_EOL; if ($imdb->isReady) {
$array["year"] = $imdb->getYear(); echo " done!".PHP_EOL;
$array["size"] = $this->getfileSize($Pfad.$FilenameOrg); $array["year"] = $imdb->getYear();
$array["rating"] = $imdb->getRating(); $array["size"] = $this->getfileSize($Pfad.$FilenameOrg);
$array["rating"] = $imdb->getRating();
$array["Genre"] = $imdb->getGenre();
$array["Schauspieler"] = $imdb->getCastAsOwn(0, false); $array["Genre"] = $imdb->getGenre();
$array["fsk"] = $this->gibFSK ($imdb,$array["imdbID"]); $array["Schauspieler"] = $imdb->getCastAsOwn(0, false);
if ($array["fsk"] == false){ $array["fsk"] = $this->gibFSK ($imdb,$array["imdbID"]);
unset($array["fsk"]); if ($array["fsk"] == false){
} unset($array["fsk"]);
if(!$this->gibTMDBdata ( $array["imdbID"], $array)){ }
file_put_contents("./phpTestout/".$array["imdbID"].".txt", "Keine Infos auf TMDB gefunden: ".$Pfad.$FilenameOrg.PHP_EOL, FILE_APPEND); if(!$this->gibTMDBdata ( $array["imdbID"], $array)){
return false; //TODO Abbruch wenn keine Daten auf TMDB gefunden file_put_contents("./phpTestout/".$array["imdbID"].".txt", "Keine Infos auf TMDB gefunden: ".$Pfad.$FilenameOrg.PHP_EOL, FILE_APPEND);
return false; //TODO Abbruch wenn keine Daten auf TMDB gefunden
}
} else{
echo $this->Console->error("imdbID (".$array["imdbID"].") nicht bei imdb gefunden!").PHP_EOL;
file_put_contents("./phpTestout/".$array["imdbID"].".txt", "Keine Infos auf imdbID gefunden: ".$Pfad.$FilenameOrg.PHP_EOL, FILE_APPEND);
return false;
} }
} else{
echo $this->Console->error("imdbID (".$array["imdbID"].") nicht bei imdb gefunden!").PHP_EOL;
file_put_contents("./phpTestout/".$array["imdbID"].".txt", "Keine Infos auf imdbID gefunden: ".$Pfad.$FilenameOrg.PHP_EOL, FILE_APPEND);
return false;
} }
if(($minimal =="checkmd5") OR ($minimal =="einlesen")){
// werte von MediaInfo holen... // werte von MediaInfo holen...
echo " Hole Daten von mediainfo... "; echo " Hole Daten von mediainfo... ";
if(!file_exists('/tmp/'.$array["imdbID"].'.xml')){ if(!file_exists('/tmp/'.$array["imdbID"].'.xml')){
$befehl = 'mediainfo --Output=XML "'.$Pfad.$FilenameOrg.'" > /tmp/'.$array["imdbID"].'.xml'; $befehl = 'mediainfo --Output=XML "'.$Pfad.$FilenameOrg.'" > /tmp/'.$array["imdbID"].'.xml';
exec($befehl); exec($befehl);
} }
$xmlstring = file_get_contents('/tmp/'.$array["imdbID"].'.xml'); $xmlstring = file_get_contents('/tmp/'.$array["imdbID"].'.xml');
$xml = simplexml_load_string($xmlstring); $xml = simplexml_load_string($xmlstring);
$json = json_encode($xml,JSON_PRETTY_PRINT); $json = json_encode($xml,JSON_PRETTY_PRINT);
$array2 = json_decode($json,TRUE); $array2 = json_decode($json,TRUE);
foreach ($array2["File"]["track"] as $key => $value) { foreach ($array2["File"]["track"] as $key => $value) {
//echo " ".$key." ".$value["@attributes"]["type"].PHP_EOL; //echo " ".$key." ".$value["@attributes"]["type"].PHP_EOL;
switch ($value["@attributes"]["type"]) { switch ($value["@attributes"]["type"]) {
case "General": case "General":
$array["vcodec"] = str_replace("Matroska", "mkv", $value["Format"]); $array["vcodec"] = str_replace("Matroska", "mkv", $value["Format"]);
$array["duration"] = $this->getRunTime($value["Duration"]); $array["duration"] = $this->getRunTime($value["Duration"]);
$array["totalbitrate"] = round(trim(str_replace(" ", "",str_replace("Mbps", "", $value["Overall_bit_rate"])))*1024,0); $array["totalbitrate"] = round(trim(str_replace(" ", "",str_replace("Mbps", "", $value["Overall_bit_rate"])))*1024,0);
break; break;
case "Video": case "Video":
$array["width"] = trim(str_replace(" ", "",str_replace("pixels", "",$value["Width"]))); $array["width"] = trim(str_replace(" ", "",str_replace("pixels", "",$value["Width"])));
//TODO Resolution aus diesen werten neusetzen //TODO Resolution aus diesen werten neusetzen
$array["height"] = trim(str_replace(" ", "",str_replace("pixels", "",$value["Height"]))); $array["height"] = trim(str_replace(" ", "",str_replace("pixels", "",$value["Height"])));
break; break;
case "Audio": case "Audio":
if(isset($value["Language"])){ if(isset($value["Language"])){
if(($value["Language"] == "Deutsch") OR ($value["Language"] == "German")){ if(($value["Language"] == "Deutsch") OR ($value["Language"] == "German")){
$array["acodecger"] = $value["Format"]; $array["acodecger"] = $value["Format"];
$array["abitrateger"] = round(trim(str_replace(" ", "",str_replace("Kbps", "",$value["Bit_rate"]))),0); $array["abitrateger"] = round(trim(str_replace(" ", "",str_replace("Kbps", "",$value["Bit_rate"]))),0);
$array["channelsger"] = str_replace(" channels", "",$value["Channel_s_"]); $array["channelsger"] = str_replace(" channels", "",$value["Channel_s_"]);
if(!is_numeric($array["channelsger"])){
$array["channelsger"] = substr($array["channelsger"],strripos( $array["channelsger"],"/")+1);
if(!is_numeric($array["channelsger"])){ if(!is_numeric($array["channelsger"])){
echo $this->Console->error("channelsger ist nicht Numerisch!").PHP_EOL; $array["channelsger"] = substr($array["channelsger"],strripos( $array["channelsger"],"/")+1);
file_put_contents("./phpTestout/".$array["imdbID"].".txt", "channelsger ist nicht Numerisch!".PHP_EOL, FILE_APPEND); if(!is_numeric($array["channelsger"])){
return false; echo $this->Console->error("channelsger ist nicht Numerisch!").PHP_EOL;
file_put_contents("./phpTestout/".$array["imdbID"].".txt", "channelsger ist nicht Numerisch!".PHP_EOL, FILE_APPEND);
return false;
}
} }
} }
} else if(($value["Language"] == "Englisch") OR ($value["Language"] == "English")){
else if(($value["Language"] == "Englisch") OR ($value["Language"] == "English")){ $array["acodeceng"] = $value["Format"];
$array["acodeceng"] = $value["Format"]; $array["abitrateeng"] = round(trim(str_replace(" ", "",str_replace("Kbps", "",$value["Bit_rate"]))),0);
$array["abitrateeng"] = round(trim(str_replace(" ", "",str_replace("Kbps", "",$value["Bit_rate"]))),0); $array["channelseng"] = str_replace(" channels", "",$value["Channel_s_"]);
$array["channelseng"] = str_replace(" channels", "",$value["Channel_s_"]);
if(!is_numeric($array["channelseng"])){
$array["channelseng"] = substr($array["channelseng"],strripos( $array["channelseng"],"/")+1);
if(!is_numeric($array["channelseng"])){ if(!is_numeric($array["channelseng"])){
echo $this->Console->error("channelseng ist nicht Numerisch!").PHP_EOL; $array["channelseng"] = substr($array["channelseng"],strripos( $array["channelseng"],"/")+1);
file_put_contents("./phpTestout/".$array["imdbID"].".txt", "channelseng ist nicht Numerisch!".PHP_EOL, FILE_APPEND); if(!is_numeric($array["channelseng"])){
return false; echo $this->Console->error("channelseng ist nicht Numerisch!").PHP_EOL;
file_put_contents("./phpTestout/".$array["imdbID"].".txt", "channelseng ist nicht Numerisch!".PHP_EOL, FILE_APPEND);
return false;
}
} }
} }
} }
} break;
break; }
} }
echo " done!".PHP_EOL;
} }
echo " done!".PHP_EOL;
} }
foreach ($array as $key => $value) { foreach ($array as $key => $value) {
if((($value == 'n/A') OR ($value == false)) AND !($Key = '3d')){ if((($value == 'n/A') OR ($value == false)) AND !($Key = '3d')){
...@@ -547,13 +547,14 @@ class Media { ...@@ -547,13 +547,14 @@ class Media {
echo " Berechne MD5... "; echo " Berechne MD5... ";
$DataArr["md5"] = substr(shell_exec('md5sum -b "'.$File.'"'),0,32); $DataArr["md5"] = substr(shell_exec('md5sum -b "'.$File.'"'),0,32);
file_put_contents("./phpTestout/".$DataArr['imdbID'].".txt", "md5 = ".$DataArr["md5"].PHP_EOL, FILE_APPEND); file_put_contents("./phpTestout/".$DataArr['imdbID'].".txt", "md5 = ".$DataArr["md5"].PHP_EOL, FILE_APPEND);
$DataArr["lastUpdate"] = date("Y-m-d");
echo " done!".PHP_EOL; echo " done!".PHP_EOL;
} }
$changed = ""; $changed = "";
$first = true; $first = true;
$update = ""; $update = "";
$DataArr["lastUpdate"] = date("Y-m-d");
foreach ($DataArr AS $key=> $value){ foreach ($DataArr AS $key=> $value){
if(!in_array($key, array("Schauspieler", "Genre", "3d")) AND !in_array($value,array("n/A", ""))){ if(!in_array($key, array("Schauspieler", "Genre", "3d")) AND !in_array($value,array("n/A", ""))){
if(!(md5(trim($Film[$key])) == md5(trim($DataArr[$key])))) { if(!(md5(trim($Film[$key])) == md5(trim($DataArr[$key])))) {
...@@ -624,6 +625,7 @@ class Media { ...@@ -624,6 +625,7 @@ class Media {
echo " Berechne MD5... "; echo " Berechne MD5... ";
$DataArr["md5"] = substr(shell_exec('md5sum -b "'.$File.'"'),0,32); $DataArr["md5"] = substr(shell_exec('md5sum -b "'.$File.'"'),0,32);
file_put_contents("./phpTestout/".$DataArr['imdbID'].".txt", "md5 = ".$DataArr["md5"].PHP_EOL, FILE_APPEND); file_put_contents("./phpTestout/".$DataArr['imdbID'].".txt", "md5 = ".$DataArr["md5"].PHP_EOL, FILE_APPEND);
$DataArr["lastUpdate"] = date("Y-m-d");
echo " done!".PHP_EOL; echo " done!".PHP_EOL;
} }
...@@ -750,12 +752,21 @@ class Media { ...@@ -750,12 +752,21 @@ class Media {
} }
private function jsonCacheDecoder($url){ private function jsonCacheDecoder($url){
$CacheFolderName = "JsonCache/"; $CacheFolderName = "JsonCache/";
exec("rm ".$CacheFolderName.date("y-W_",time()-14*24*3600)."* > /dev/null 2>&1");
exec("rm ".$CacheFolderName.date("y-W_",time()-7*24*3600)."* > /dev/null 2>&1"); $files = glob($CacheFolderName."*");
$now = time();
foreach ($files as $file){
if (is_file($file)){
if ($now - filemtime($file) >= 60 * 60 * 24 * 1) {
unlink($file);
}
}
}
if(!is_dir($CacheFolderName)){ if(!is_dir($CacheFolderName)){
exec( "mkdir ".$CacheFolderName); exec( "mkdir ".$CacheFolderName);
} }
$filename= date("y-W_",time()).md5($url).".json"; //TODO Cachetime Ändern $filename= md5($url).".json"; //TODO Cachetime Ändern
if(!file_exists($CacheFolderName.$filename)){ if(!file_exists($CacheFolderName.$filename)){
file_put_contents($CacheFolderName.$filename, file_get_contents($url)); file_put_contents($CacheFolderName.$filename, file_get_contents($url));
} }
......
  • u.a. Anpassung für Online und Offline Update (eimal Dateien neu einlesen) und nur online kram neu lesen

Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment