Commit 8f86ccb9 authored by Nico Schallehn's avatar Nico Schallehn

erster Test mit serien einlesen

parent b6092d9d
...@@ -86,7 +86,7 @@ class Media { ...@@ -86,7 +86,7 @@ class Media {
$start = time(); $start = time();
$endLast = time(); $endLast = time();
$korrektor=0; $korrektor=0;
if(in_array($action, array( "einlesen","check", "checkmd5", "nfo"))){ if(in_array($action, array( "einlesen","check", "checkfile", "nfo"))){
//var_dump($this->config); //var_dump($this->config);
echo $this->Console->getColoredString("Filme > ".$action, "black", "light_gray") .PHP_EOL; echo $this->Console->getColoredString("Filme > ".$action, "black", "light_gray") .PHP_EOL;
...@@ -107,7 +107,7 @@ class Media { ...@@ -107,7 +107,7 @@ class Media {
$this->HDDID = (strlen($hddid)>0?$hddid:1); $this->HDDID = (strlen($hddid)>0?$hddid:1);
$this->PfadzumAusgeben = $this->config["HDD"][$this->HDDID]["HDDdir"]; $this->PfadzumAusgeben = $this->config["HDD"][$this->HDDID]["HDDdir"];
foreach ($this->config["HDD"][$this->HDDID] as $key => $value) { foreach ($this->config["HDD"][$this->HDDID] as $key => $value) {
if(!($key == "HDDdir")){ if(!(in_array($key,array ( "HDDdir", "Serien")))){
if(!is_dir($this->PfadzumAusgeben.$value)){ return " ".$this->Console->error("Pfad für Ausgabe exisitiert nicht!").PHP_EOL; } if(!is_dir($this->PfadzumAusgeben.$value)){ return " ".$this->Console->error("Pfad für Ausgabe exisitiert nicht!").PHP_EOL; }
else { echo " Verzeichnis ".$this->PfadzumAusgeben.$value." wird für ".$key." als Ausgabe verwendet".PHP_EOL; } else { echo " Verzeichnis ".$this->PfadzumAusgeben.$value." wird für ".$key." als Ausgabe verwendet".PHP_EOL; }
} }
...@@ -185,7 +185,7 @@ class Media { ...@@ -185,7 +185,7 @@ class Media {
}else { }else {
echo " Film wurde nicht Aktualisiert".PHP_EOL; echo " Film wurde nicht Aktualisiert".PHP_EOL;
} }
}else if($action == "checkmd5"){ }else if($action == "checkfile"){
if( $this->updateMovie($array, $Pfad.$FilenameOrg, true, true)){ if( $this->updateMovie($array, $Pfad.$FilenameOrg, true, true)){
echo "Film wurde geprüft und Query angelegt".PHP_EOL; echo "Film wurde geprüft und Query angelegt".PHP_EOL;
}else { }else {
...@@ -249,18 +249,98 @@ class Media { ...@@ -249,18 +249,98 @@ class Media {
} }
} }
public function serien($action = "einlesen"){ public function serien($action = "einlesen"){
if($action == "einlesen"){ $start = time();
echo "In welchen Verzeichnis liegen die einzulesenden Dateien? ( nur Enter = ".$this->config["ReadFromDirSerien"].")" .PHP_EOL; $endLast = time();
$Pfad = trim(fgets(STDIN)); $korrektor=0;
$this->PfadzumEinlesen = (strlen($Pfad)>0?$Pfad:$this->config["ReadFromDirSerien"]); if(in_array($action, array( "einlesen","check", "checkfile", "nfo"))){
if(!is_dir($this->PfadzumEinlesen)){ if($action == "einlesen"){
return $this->Console->error("Pfad Eingabe exisitiert nicht!").PHP_EOL; echo "In welchen Verzeichnis liegen die einzulesenden Dateien? ( nur Enter = ".$this->config["ReadFromDirSerien"].")" .PHP_EOL;
}else { $Pfad = trim(fgets(STDIN));
echo " Verzeichnis ".$this->PfadzumEinlesen." wird für einlesen verwendet!".PHP_EOL; $this->PfadzumEinlesen = (strlen($Pfad)>0?$Pfad:$this->config["ReadFromDirSerien"]);
if(!is_dir($this->PfadzumEinlesen)){
return $this->Console->error("Pfad Eingabe exisitiert nicht!").PHP_EOL;
}else {
echo " Verzeichnis ".$this->PfadzumEinlesen." wird für einlesen verwendet!".PHP_EOL;
}
echo PHP_EOL;
}
echo "Auf welche Festplatte sollen die Serien gespeichert werden \n bzw. Welche Festplatte soll überprüft bzw. upgedatet werden? ( nur Enter = 1)" .PHP_EOL;
$hddid = trim(fgets(STDIN));
$this->HDDID = (strlen($hddid)>0?$hddid:1);
$this->PfadzumAusgeben = $this->config["HDD"][$this->HDDID]["HDDdir"];
foreach ($this->config["HDD"][$this->HDDID] as $key => $value) {
if(!(in_array($key,array ( "HDDdir", "Filme", "3D")))){
if(!is_dir($this->PfadzumAusgeben.$value)){ return " ".$this->Console->error("Pfad für Ausgabe exisitiert nicht!").PHP_EOL; }
else { echo " Verzeichnis ".$this->PfadzumAusgeben.$value." wird für ".$key." als Ausgabe verwendet".PHP_EOL; }
}
} }
echo PHP_EOL; echo PHP_EOL;
echo "Starte verarbeitung der Filme:".PHP_EOL.PHP_EOL;
$FilmeArr = array();
$this->FolderArray = array();
if(($action == "einlesen")){
$FilmeArr = $this->dirtoArray($this->PfadzumEinlesen."/");
}else{
$this->dirtoArray($this->PfadzumAusgeben."Serien/");
}
$fehlerArr = array("");
$Counter=0;
//var_dump($FilmeArr);
foreach ($FilmeArr as $value) {
$array = $this->parseMovie($value[2].(strlen($value[0])>0?'/':''), $value[1],$action);
var_dump($array);
// Statistik Ausgabe
$end = time();
if(abs($end-$endLast)<10){
$korrektor++;
}
$endLast = $end;
$Counter++;
$laufzeit = $end - $start;
$H = floor($laufzeit / 3600);
$i = ($laufzeit / 60) % 60;
$s = $laufzeit % 60;
$Durchschnitt = $laufzeit/($Counter);
$Hd = floor($Durchschnitt / 3600);
$id = ($Durchschnitt / 60) % 60;
$sd = $Durchschnitt % 60;
if(($Counter-$korrektor)>0){
$Durchschnittk = $laufzeit/($Counter-$korrektor);
$Hdk = floor($Durchschnittk / 3600);
$idk = ($Durchschnittk / 60) % 60;
$sdk = $Durchschnittk % 60;
}
$status = "Laufzeit: ".sprintf("%02d:%02d:%02d", $H, $i, $s).
"(Pro Film: ".sprintf("%02d:%02d:%02d", $Hd, $id, $sd). " (".$Counter.' von '.count($FilmeArr)."))".(($Counter-$korrektor)>0?
"(korrigiert:".sprintf("%02d:%02d:%02d", $Hdk, $idk, $sdk)." (".($Counter-$korrektor).' von '.(count($FilmeArr)-$korrektor).")) ":"");
echo $status.PHP_EOL.PHP_EOL;
file_put_contents("./phpTestout/defaultSerien.txt", $status." ".$value[1].PHP_EOL.PHP_EOL, FILE_APPEND);
}
$end = time();
$laufzeit = $end - $start;
$H = floor($laufzeit / 3600);
$i = ($laufzeit / 60) % 60;
$s = $laufzeit % 60;
$status = "Gesamtlaufzeit: ".sprintf("%02d:%02d:%02d", $H, $i, $s)."! ".$Counter.' von '.count($FilmeArr).PHP_EOL.PHP_EOL;
echo $status;
file_put_contents("./phpTestout/defaultSerien.txt", $status.PHP_EOL, FILE_APPEND);
}else{
echo "Not Found!".PHP_EOL;
} }
echo "Not Found!".PHP_EOL;
} }
/** /**
* @param imdbID * @param imdbID
...@@ -372,6 +452,19 @@ class Media { ...@@ -372,6 +452,19 @@ class Media {
} }
//return $counterNotFound; //return $counterNotFound;
} }
private function parseEpisode($Pfad, $Filename, $minimal = "nfo"){
if(is_file($Pfad.$Filename)){
echo "Datei: ".$Pfad." > ".$Filename.PHP_EOL;
if(!(strripos( $Pfad,"(") == false)){
$array["imdbID"] = substr($Filename,strripos( $Pfad,"(")+1,7);
}
return $array;
}
}
private function parseMovie($Pfad, $Filename, $minimal = "nfo"){ 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
...@@ -466,7 +559,7 @@ class Media { ...@@ -466,7 +559,7 @@ class Media {
} }
} }
if(($minimal =="checkmd5") OR ($minimal =="einlesen")){ if(($minimal =="checkfile") OR ($minimal =="einlesen")){
// werte von MediaInfo holen... // werte von MediaInfo holen...
echo " Hole Daten von mediainfo... "; echo " Hole Daten von mediainfo... ";
$array["size"] = $this->getfileSize($Pfad.$FilenameOrg); $array["size"] = $this->getfileSize($Pfad.$FilenameOrg);
......
...@@ -13,8 +13,8 @@ do{ ...@@ -13,8 +13,8 @@ do{
echo " filme Filme aus einen Verzeichnis zur DB hinzufügen".PHP_EOL; echo " filme Filme aus einen Verzeichnis zur DB hinzufügen".PHP_EOL;
echo " einlesen (1) Filme einlesen ".PHP_EOL; echo " einlesen (1) Filme einlesen ".PHP_EOL;
echo " check (3) Filme überprüfen ohne md5".PHP_EOL; echo " check (3) Film-Rating neuladen ohne md5".PHP_EOL;
echo " checkmd5 Filme überprüfen mit md5".PHP_EOL; echo " checkfile Film- Dateien überprüfen mit md5".PHP_EOL;
echo " nfo* (4) nfo Datei zu jeden film schreiben".PHP_EOL; echo " nfo* (4) nfo Datei zu jeden film schreiben".PHP_EOL;
echo " (Auch ohne Internet möglich, nur DB muss verfügbar sein)".PHP_EOL; echo " (Auch ohne Internet möglich, nur DB muss verfügbar sein)".PHP_EOL;
echo " serien Serien Umbennen usw.".PHP_EOL; echo " serien Serien Umbennen usw.".PHP_EOL;
......
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