-
Notifications
You must be signed in to change notification settings - Fork 0
/
serie.php
executable file
·60 lines (53 loc) · 2.12 KB
/
serie.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
<?Php
chdir(dirname(realpath(__FILE__))); //Bytt til mappen scriptet ligger i så relative filbaner blir riktige
include 'functions.php';
$nrk=new nrkripper;
$options = getopt("",array('subsonly'));
$serier=array_slice($argv,count($options)+1); //Hent liste over serier fra kommandolinjen
if(empty($serier))
$serier=explode("\n",trim(file_get_contents('serier.txt'))); //Hent liste over serier fra fil
if(file_exists('sesonger unntak.txt'))
$unntak=explode("\n",str_replace("\r","",file_get_contents('sesonger unntak.txt'))); //Finn sesonger som ikke skal hentes
foreach($serier as $url)
{
$url=trim($url); //sesonger.txt deles etter \n, hvis det er brukt \r\n fjernes \r her
$serieinfo=$nrk->serieinfo($url); //Hent sesongene og episodene i serien
if($serieinfo===false)
continue;
echo $serieinfo['serietittel'].$nrk->br;
foreach($serieinfo['sesonger'] as $sesong) //Gå gjennom sesongene
{
if(!empty($sesong['tittel'])) //Sjekk om sesongen har et navn
$sesongnavn=$serieinfo['serietittel'].' '.$sesong['tittel'];
else
$sesongnavn=$serieinfo['serietittel'];
echo $sesongnavn."\n";
$outpath=$nrk->config['outpath'].$nrk->filnavn($sesongnavn).'/'; //Lag mappenavn for sesongen
if(isset($unntak) && array_search($sesongnavn,$unntak)!==false) //Sjekk om denne sesongen ikke skal rippes
continue;
if(!file_exists($outpath)) //Lag mappe
mkdir($outpath,0777,true);
foreach ($sesong['episoder'] as $episodekey=>$episode) //Gå gjennom episodene i sesongen
{
if(($eptext=$nrk->sesongepisode($episode['description'])) || ($eptext=$nrk->sesongepisode($episode['title'],true,$sesong['nummer'])))
$nrk->tittel=$serieinfo['serietittel'].' '.$eptext;
else
$nrk->tittel=$episode['title'];
if(isset($options['subsonly']))
$status=$nrk->subtitle($episode['id'],$outpath.$nrk->filnavn($nrk->tittel));
else
$status=$nrk->nrkrip($serieinfo['baseurl'].'/'.$episode['id'],$outpath);
if($status!==false)
var_dump($status);
else
{
echo $nrk->error;
$nrk->error='';
}
//echo $nrk->sjekk->error;
}
if(count(scandir($outpath))==2) //Hvis mappen er tom, fjern den
rmdir($outpath);
}
}
?>