Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
M
MediaDBPythonScripte
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
8
Issues
8
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
BA_SI-Projekt
MediaDBPythonScripte
Commits
87dd1bf9
Commit
87dd1bf9
authored
Feb 25, 2016
by
Nico Schallehn
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
test nfo export
parent
3c8f6280
Changes
1
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
148 additions
and
134 deletions
+148
-134
media.class.php
media.class.php
+148
-134
No files found.
media.class.php
View file @
87dd1bf9
...
...
@@ -85,7 +85,7 @@ class Media {
}
public
function
filme
(
$action
=
"einlesen"
){
$start
=
time
();
if
(
in_array
(
$action
,
array
(
"einlesen"
,
"check"
,
"checkmd5"
))){
if
(
in_array
(
$action
,
array
(
"einlesen"
,
"check"
,
"checkmd5"
,
"nfo"
))){
//var_dump($this->config);
echo
$this
->
Console
->
getColoredString
(
"Filme > "
.
$action
,
"black"
,
"light_gray"
)
.
PHP_EOL
;
...
...
@@ -121,16 +121,16 @@ class Media {
$Counter
=
0
;
//var_dump($FilmeArr);
foreach
(
$FilmeArr
as
$value
)
{
$array
=
$this
->
parseMovie
(((
$action
==
"einlesen"
)
?
$this
->
PfadzumEinlesen
.
"/"
:
$this
->
PfadzumAusgeben
.
"Filme/"
)
.
(
strlen
(
$value
[
0
])
>
0
?
$value
[
0
]
.
'/'
:
''
),
$value
[
1
]);
$array
=
$this
->
parseMovie
(((
$action
==
"einlesen"
)
?
$this
->
PfadzumEinlesen
.
"/"
:
$this
->
PfadzumAusgeben
.
"Filme/"
)
.
(
strlen
(
$value
[
0
])
>
0
?
$value
[
0
]
.
'/'
:
''
),
$value
[
1
]
,((
$action
==
"nfo"
)
?
true
:
false
)
);
if
((
$array
==
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
;
}
else
if
((
file_exists
(
"./phpTestout/"
.
$array
[
'imdbID'
]
.
".txt"
))){
}
/*
else if((file_exists("./phpTestout/".$array['imdbID'].".txt"))){
echo $this->Console->getColoredString("Info!","black", "red")."Film wurde bereits verarbeitet!! Bitte Outputfile in 'phpTestout' löschen!".PHP_EOL;
}
else
{
}
*/
else
{
$Pfad
=
((
$action
==
"einlesen"
)
?
$this
->
PfadzumEinlesen
.
"/"
:
$this
->
PfadzumAusgeben
.
"Filme/"
)
.
(
strlen
(
$value
[
0
])
>
0
?
$value
[
0
]
.
'/'
:
''
);
$PfadOrg
=
(
strlen
(
$value
[
0
])
>
0
?
$value
[
0
]
.
'/'
:
''
);
...
...
@@ -167,15 +167,15 @@ class Media {
}
else
{
echo
" Film wurde nicht Aktualisiert"
.
PHP_EOL
;
}
//NFO
$this
->
GenerateNFO
(
$array
,
$Pfad
.
$FilenameOrg
);
}
else
if
(
$action
==
"checkmd5"
){
if
(
$this
->
updateMovie
(
$array
,
$Pfad
.
$FilenameOrg
,
true
,
true
)){
echo
"Film wurde geprüft und Query angelegt"
.
PHP_EOL
;
}
else
{
echo
"Film wurde geprüft, keine Änderung"
.
PHP_EOL
;
}
}
else
if
(
$action
==
"nfo"
){
//NFO
$this
->
GenerateNFO
(
$array
,
$Pfad
.
$FilenameOrg
);
}
...
...
@@ -307,7 +307,7 @@ class Media {
}
//return $counterNotFound;
}
private
function
parseMovie
(
$Pfad
,
$Filename
){
private
function
parseMovie
(
$Pfad
,
$Filename
,
$minimal
=
false
){
/*TODO mehrere Sachen
* Auf weitere Saplten die für nfo gebraucht werden erweitern
*
...
...
@@ -348,13 +348,12 @@ class Media {
$array
[
"name"
]
=
trim
(
substr
(
$Filename
,
0
,
strripos
(
$Filename
,
"("
)));
//TODO wird hier nicht gebraucht?
//$Endung = trim(substr($Filename,strripos( $Filename,".")+1));
if
(
!
$minimal
){
echo
" Hole Daten von imdb... "
;
// Werte aus IMdb Auslesen...
$imdb
=
new
IMDB
(
"http://www.imdb.com/title/tt"
.
$array
[
"imdbID"
]
.
"/"
);
if
(
$imdb
->
isReady
)
{
echo
" done!"
.
PHP_EOL
;
//var_dump($imdb->getAll());
$array
[
"year"
]
=
$imdb
->
getYear
();
$array
[
"size"
]
=
$this
->
getfileSize
(
$Pfad
.
$FilenameOrg
);
$array
[
"rating"
]
=
$imdb
->
getRating
();
...
...
@@ -369,9 +368,6 @@ class Media {
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
);
...
...
@@ -435,6 +431,7 @@ class Media {
}
}
echo
" done!"
.
PHP_EOL
;
}
foreach
(
$array
as
$key
=>
$value
)
{
if
(((
$value
==
'n/A'
)
OR
(
$value
==
false
))
AND
!
(
$Key
=
'3d'
)){
unset
(
$array
[
$key
]);
...
...
@@ -450,40 +447,55 @@ class Media {
}
private
function
GenerateNFO
(
$DataArr
,
$File
){
$nfoFile
=
substr
(
$File
,
0
,
strripos
(
$File
,
"."
))
.
".nfo"
;
// Echte NFO Ausgabe Pfad
$mediaDBurl
=
"http://mediadb.ivaya.de/api.php?key="
.
$this
->
config
[
"ApiKeys"
][
'MediaDB_Key'
]
.
"&action=GetDataList&Tabelle=Filme&Spalten=imdbID,name,views,added,lastView,Genre,Schauspieler&imdbID="
.
$DataArr
[
"imdbID"
];
$Query
=
"SELECT * FROM Filme WHERE imdbID = '"
.
$DataArr
[
'imdbID'
]
.
"' AND 3d "
.
(
!
(
$DataArr
[
'3d'
]
==
""
)
?
"!="
:
"="
)
.
'""'
;
echo
$Query
.
PHP_EOL
;
echo
"Generiere NFO Datei ..."
;
$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
;}
$mysqli
->
query
(
"SET NAMES 'utf8'"
);
$result
=
$mysqli
->
query
(
$Query
);
if
(
$mysqli
->
error
!=
""
){
echo
"Mysql-Fehler: "
.
$mysqli
->
error
.
PHP_EOL
;
return
false
;}
if
(
$result
->
num_rows
==
1
){
$Film
=
$result
->
fetch_assoc
();
$mediaDBurl
=
"http://mediadb.ivaya.de/api.php?key="
.
$this
->
config
[
"ApiKeys"
][
'MediaDB_Key'
]
.
"&action=GetDataList&Tabelle=Filme&Spalten=imdbID,Genre,Schauspieler&imdbID="
.
$Film
[
"imdbID"
];
//echo $mediaDBurl.PHP_EOL;
$mediaDB
=
$this
->
jsonCacheDecoder
(
$mediaDBurl
);
//
$nfoFile = str_replace("/media/QNAP/Filme", "./phpTestout", $nfoFile); // nur für Testausgaben drin....
$nfoFile
=
str_replace
(
"/media/QNAP/Filme"
,
"./phpTestout"
,
$nfoFile
);
// nur für Testausgaben drin....
$co
=
'<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>'
.
PHP_EOL
;
$co
.=
'<movie>'
.
PHP_EOL
;
$co
.=
' <title>'
.
$DataArr
[
'name'
]
.
'</title>'
.
PHP_EOL
;
$co
.=
' <title>'
.
$Film
[
'name'
]
.
'</title>'
.
PHP_EOL
;
//originaltitle
$co
.=
' <rating>'
.
$DataArr
[
'rating'
]
.
'</rating>'
.
PHP_EOL
;
$co
.=
' <year>'
.
$DataArr
[
'year'
]
.
'</year>'
.
PHP_EOL
;
$co
.=
' <plot>'
.
$DataArr
[
'summary'
]
.
'</plot>'
.
PHP_EOL
;
$co
.=
' <runtime>'
.
(
$DataArr
[
'duration'
]
/
60
)
.
'</runtime>'
.
PHP_EOL
;
if
(
file_exists
(
$this
->
config
[
"CoverDir"
]
.
"Filme/full/"
.
$DataArr
[
"imdbID"
]
.
".jpg"
)){
$co
.=
' <thumb aspect="poster" preview="http://mediadb.ivaya.de/cover/Filme/high/'
.
$DataArr
[
'imdbID'
]
.
'.jpg">'
.
'http://mediadb.ivaya.de/cover/Filme/high/'
.
$DataArr
[
'imdbID'
]
.
'.jpg</thumb>'
.
PHP_EOL
;
}
if
(
file_exists
(
$this
->
config
[
"CoverDir"
]
.
"Filme/background/"
.
$DataArr
[
"imdbID"
]
.
".jpg"
)){
$co
.=
' <rating>'
.
$Film
[
'rating'
]
.
'</rating>'
.
PHP_EOL
;
$co
.=
' <year>'
.
$Film
[
'year'
]
.
'</year>'
.
PHP_EOL
;
$co
.=
' <plot>'
.
$Film
[
'summary'
]
.
'</plot>'
.
PHP_EOL
;
$co
.=
' <runtime>'
.
(
$Film
[
'duration'
]
/
60
)
.
'</runtime>'
.
PHP_EOL
;
if
(
file_exists
(
$this
->
config
[
"CoverDir"
]
.
"Filme/full/"
.
$Film
[
"imdbID"
]
.
".jpg"
)){
$co
.=
' <thumb aspect="poster" preview="http://mediadb.ivaya.de/cover/Filme/high/'
.
$Film
[
'imdbID'
]
.
'.jpg">'
.
'http://mediadb.ivaya.de/cover/Filme/high/'
.
$Film
[
'imdbID'
]
.
'.jpg</thumb>'
.
PHP_EOL
;
}
if
(
file_exists
(
$this
->
config
[
"CoverDir"
]
.
"Filme/background/"
.
$Film
[
"imdbID"
]
.
".jpg"
)){
$co
.=
' <fanart>'
.
PHP_EOL
;
$co
.=
' <thumb preview="http://mediadb.ivaya.de/cover/Filme/background/'
.
$DataArr
[
'imdbID'
]
.
'.jpg">'
.
'http://mediadb.ivaya.de/cover/Filme/background/'
.
$DataArr
[
'imdbID'
]
.
'.jpg</thumb>'
.
PHP_EOL
;
$co
.=
' <thumb preview="http://mediadb.ivaya.de/cover/Filme/background/'
.
$Film
[
'imdbID'
]
.
'.jpg">'
.
'http://mediadb.ivaya.de/cover/Filme/background/'
.
$Film
[
'imdbID'
]
.
'.jpg</thumb>'
.
PHP_EOL
;
$co
.=
' </fanart>'
.
PHP_EOL
;
}
if
(
isset
(
$DataArr
[
'fsk'
])){
$co
.=
' <mpaa>FSK '
.
$DataArr
[
'fsk'
]
.
'</mpaa>'
.
PHP_EOL
;
$co
.=
' <mpaa>FSK '
.
$Film
[
'fsk'
]
.
'</mpaa>'
.
PHP_EOL
;
}
$co
.=
' <playcount>'
.
$mediaDB
[
'Antwort'
][
'Data'
][
0
]
[
'views'
]
.
'</playcount>'
.
PHP_EOL
;
$co
.=
' <lastplayed>'
.
$mediaDB
[
'Antwort'
][
'Data'
][
0
]
[
'lastView'
]
.
'</lastplayed>'
.
PHP_EOL
;
$co
.=
' <id>tt'
.
$DataArr
[
'imdbID'
]
.
'</id>'
.
PHP_EOL
;
$co
.=
' <playcount>'
.
$Film
[
'views'
]
.
'</playcount>'
.
PHP_EOL
;
$co
.=
' <lastplayed>'
.
$Film
[
'lastView'
]
.
'</lastplayed>'
.
PHP_EOL
;
$co
.=
' <id>tt'
.
$Film
[
'imdbID'
]
.
'</id>'
.
PHP_EOL
;
foreach
(
$mediaDB
[
'Antwort'
][
'Data'
][
0
][
'Genre'
]
as
$value
)
{
$co
.=
' <genre>'
.
$value
.
'</genre>'
.
PHP_EOL
;
}
// <set> **** Filmreihe
if
(
isset
(
$DataArr
[
'youtube'
])){
$youtube
=
explode
(
":"
,
$DataArr
[
'youtube'
]);
if
(
isset
(
$Film
[
'youtube'
])){
$youtube
=
explode
(
":"
,
$Film
[
'youtube'
]);
$co
.=
' <trailer>plugin://plugin.video.youtube/?action=play_video&videoid='
.
$youtube
[
1
]
.
'</trailer>'
.
PHP_EOL
;
}
// <fileinfo> .....
...
...
@@ -498,12 +510,14 @@ class Media {
}
$co
.=
' <dateadded>'
.
$mediaDB
[
'Antwort'
][
'Data'
][
0
]
[
'added'
]
.
'</dateadded>'
.
PHP_EOL
;
$co
.=
' <dateadded>'
.
$Film
[
'added'
]
.
'</dateadded>'
.
PHP_EOL
;
$co
.=
'</movie>'
.
PHP_EOL
;
file_put_contents
(
$nfoFile
,
$co
);
echo
" Fertig, in Datei
$nfoFile
wurde geschrieben"
.
PHP_EOL
;
echo
" Done!!"
.
PHP_EOL
;
}
}
private
function
updateMovie
(
$DataArr
,
$File
,
$md5
=
true
,
$CheckOnly
=
true
){
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment