maintanance and downloading files.

This commit is contained in:
Krzysztof Płaczek
2022-11-16 07:18:21 +01:00
parent 086e4b56b5
commit 21f61b0911
10 changed files with 88 additions and 36 deletions

View File

@@ -21,10 +21,9 @@ class SymfonyCastDlService
$response = $this->client->get('login');
$token = $htmlParser->getCsrfToken($response);
$response = $this->client->post('login', [
$this->client->post('login', [
'form_params' => [
'email' => config('symfonycast.login'),
'password' => config('symfonycast.password'),
@@ -44,7 +43,7 @@ class SymfonyCastDlService
$courses->each->save();
/** @var Course $course */
foreach ($courses as $course) {
$singleCoursePage = $this->client->get($course->link);
$singleCoursePage = $this->client->get('/screencast/' . $course->link);
$chapters = $this->htmlParser->getCourseDetails($singleCoursePage, $course->id);
$chapters->each->save();
$chapters->each(fn($chapter) => GetVideoFileSize::dispatch($chapter->id));
@@ -55,6 +54,7 @@ class SymfonyCastDlService
{
try {
if (!$chapter->video_size) {
echo 1;
$response = $this->client->head($chapter->video_link);
if ($response->hasHeader('Content-Length')) {
$chapter->video_size = $response->getHeader('Content-Length')[0];
@@ -65,4 +65,17 @@ class SymfonyCastDlService
}
return $chapter;
}
public function downloadFile(Chapter $chapter): bool
{
if (!is_dir($chapter->course_id . '/')) {
mkdir($chapter->course_id);
}
$this->client->request(
'GET',
$chapter->video_link,
['sink' => $chapter->course_id . '/' . $chapter->id . '.mp4']
);
return true;
}
}