Commit a66d94b0 authored by Nico Schallehn's avatar Nico Schallehn

update init

parent 097e197a
...@@ -78,85 +78,103 @@ class Media { ...@@ -78,85 +78,103 @@ class Media {
break; break;
} }
} }
public function filme(){ public function filme($action = "einlesen"){
$start = time(); $start = time();
//var_dump($this->config); if($action == "einlesen"){
echo $this->Console->getColoredString("Filme", "black", "light_gray") .PHP_EOL; //var_dump($this->config);
echo $this->Console->getColoredString("Filme > einlesen", "black", "light_gray") .PHP_EOL;
echo "In welchen Verzeichnis liegen die einzulesenden Dateien? ( nur Enter = ".$this->config["ReadFromDir"].")" .PHP_EOL;
$Pfad = trim(fgets(STDIN)); echo "In welchen Verzeichnis liegen die einzulesenden Dateien? ( nur Enter = ".$this->config["ReadFromDir"].")" .PHP_EOL;
$this->PfadzumEinlesen = (strlen($Pfad)>0?$Pfad:$this->config["ReadFromDir"]); $Pfad = trim(fgets(STDIN));
if(!is_dir($this->PfadzumEinlesen)){ $this->PfadzumEinlesen = (strlen($Pfad)>0?$Pfad:$this->config["ReadFromDir"]);
return $this->Console->error("Pfad Eingabe exisitiert nicht!").PHP_EOL; if(!is_dir($this->PfadzumEinlesen)){
}else { return $this->Console->error("Pfad Eingabe exisitiert nicht!").PHP_EOL;
echo " Verzeichnis ".$this->PfadzumEinlesen." wird für Eingabe verwendet".PHP_EOL; }else {
} echo " Verzeichnis ".$this->PfadzumEinlesen." wird für Eingabe verwendet".PHP_EOL;
echo PHP_EOL;
echo "Auf welche Festplatte sollen die Filme gespeichert 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(!($key == "HDDdir")){
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();
$FilmeArr = $this->dirtoArray($this->PfadzumEinlesen);
$fehlerArr = array("");
$Counter=0;
//var_dump($FilmeArr);
foreach ($FilmeArr as $value) {
//echo " ".$this->PfadzumEinlesen.'/'.(strlen($value[0])>0?$value[0].'/':'').$value[1].PHP_EOL;
$ret = $this->parseMovie((strlen($value[0])>0?$value[0].'/':''), $value[1]); echo "Auf welche Festplatte sollen die Filme gespeichert werden? ( nur Enter = 1)" .PHP_EOL;
if($ret == false){ $hddid = trim(fgets(STDIN));
echo $this->Console->getColoredString(" ","black", "red").PHP_EOL; $this->HDDID = (strlen($hddid)>0?$hddid:1);
$fehler = $this->Console->getColoredString("Fehler!","black", "red")." ".$this->PfadzumEinlesen.'/'.(strlen($value[0])>0?$value[0].'/':'').$value[1].PHP_EOL; $this->PfadzumAusgeben = $this->config["HDD"][$this->HDDID]["HDDdir"];
echo $fehler; foreach ($this->config["HDD"][$this->HDDID] as $key => $value) {
$fehlerArr[] = $fehler; if(!($key == "HDDdir")){
echo $this->Console->getColoredString(" ","black", "red").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; }
}
}
echo PHP_EOL;
echo "Starte verarbeitung der Filme:".PHP_EOL.PHP_EOL;
$FilmeArr = array();
$this->FolderArray = array();
$FilmeArr = $this->dirtoArray($this->PfadzumEinlesen);
$fehlerArr = array("");
$Counter=0;
//var_dump($FilmeArr);
foreach ($FilmeArr as $value) {
//echo " ".$this->PfadzumEinlesen.'/'.(strlen($value[0])>0?$value[0].'/':'').$value[1].PHP_EOL;
$ret = $this->parseMovie((strlen($value[0])>0?$value[0].'/':''), $value[1]);
if($ret == false){
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;
echo $fehler;
$fehlerArr[] = $fehler;
echo $this->Console->getColoredString(" ","black", "red").PHP_EOL;
}
$end = time();
$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;
//echo ;
$status = "Laufzeit: ".sprintf("%02d:%02d:%02d", $H, $i, $s)."( Pro Film: ".sprintf("%02d:%02d:%02d", $Hd, $id, $sd).") (".$Counter.' von '.count($FilmeArr).") ";
echo $status.PHP_EOL.PHP_EOL;
file_put_contents("./phpTestout/default.txt", $status." ".$value[1].PHP_EOL.PHP_EOL, FILE_APPEND);
}
echo $this->Console->getColoredString("Alle Filme Verarbeitet!", "green", "light_gray") .PHP_EOL;
echo "Folgende Filme konten nicht verarbeitet werden: ".PHP_EOL;
foreach ($fehlerArr as $fehler) {
echo $fehler.PHP_EOL;
} }
$end = time(); $end = time();
$Counter++;
$laufzeit = $end - $start; $laufzeit = $end - $start;
$H = floor($laufzeit / 3600); $H = floor($laufzeit / 3600);
$i = ($laufzeit / 60) % 60; $i = ($laufzeit / 60) % 60;
$s = $laufzeit % 60; $s = $laufzeit % 60;
$Durchschnitt = $laufzeit/$Counter;
$Hd = floor($Durchschnitt / 3600);
$id = ($Durchschnitt / 60) % 60;
$sd = $Durchschnitt % 60;
//echo ;
$status = "Laufzeit: ".sprintf("%02d:%02d:%02d", $H, $i, $s)."( Pro Film: ".sprintf("%02d:%02d:%02d", $Hd, $id, $sd).") (".$Counter.' von '.count($FilmeArr).") "; $status = "Gesamtlaufzeit: ".sprintf("%02d:%02d:%02d", $H, $i, $s)."! ".$Counter.' von '.count($FilmeArr).PHP_EOL.PHP_EOL;
echo $status.PHP_EOL.PHP_EOL; echo $status;
file_put_contents("./phpTestout/default.txt", $status." ".$value[1].PHP_EOL.PHP_EOL, FILE_APPEND); file_put_contents("./phpTestout/default.txt", $status.PHP_EOL, FILE_APPEND);
//trim(fgets(STDIN));
echo PHP_EOL;
//return ;
} }
echo $this->Console->getColoredString("Alle Filme Verarbeitet!", "green", "light_gray") .PHP_EOL; else if($action == "update"){
echo "Folgende Filme konten nicht verarbeitet werden: ".PHP_EOL; echo $this->Console->getColoredString("Filme > update", "black", "light_gray") .PHP_EOL;
foreach ($fehlerArr as $fehler) {
echo $fehler.PHP_EOL; $mysqli = new mysqli($this->config["DB_Server"],$this->config["DB_Username"],$this->config["DB_Passwort"],$this->config["DB_Database"]);
if($mysqli->connect_error != ""){ echo "Mysql-Fehler: ".$mysqli->connect_error.PHP_EOL; return false;}
$Query = "SELECT * FROM Filme ;";
//echo $Query.PHP_EOL;
$result = $mysqli->query($Query); //TODO 3D überprüfung!!!
if($mysqli->error != ""){ echo "Mysql-Fehler: ".$mysqli->error.PHP_EOL; return false;}
while ($Film = $result->fetch_assoc()){
echo $Film->imdbID.PHP_EOL;
}
} }
$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/default.txt", $status.PHP_EOL, FILE_APPEND);
//trim(fgets(STDIN));
echo PHP_EOL;
//return ;
} }
private function parseMovie($Pfad, $Filename){ private function parseMovie($Pfad, $Filename){
$PfadOrg = $Pfad; $PfadOrg = $Pfad;
......
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