implement video download
All checks were successful
Build and Push Multi-Arch Docker Image / build-and-push (push) Successful in 18m34s
All checks were successful
Build and Push Multi-Arch Docker Image / build-and-push (push) Successful in 18m34s
needs check, if converted files can be run on device Signed-off-by: Peter Siegmund <developer@mars3142.org>
This commit is contained in:
@@ -7,6 +7,8 @@ import 'package:cinema/feature/poster/data/repositories/image_loader.dart';
|
||||
import 'package:cinema/feature/poster/data/services/poster.service.dart';
|
||||
import 'package:cinema/feature/root/data/service/root.service.dart';
|
||||
import 'package:cinema/feature/version/version.dart';
|
||||
import 'package:cinema/feature/video/data/repositories/video_loader.dart';
|
||||
import 'package:cinema/feature/video/data/services/video.service.dart';
|
||||
import 'package:cinema/injectable.dart';
|
||||
import 'package:shelf/shelf.dart';
|
||||
import 'package:shelf/shelf_io.dart' as io;
|
||||
@@ -21,6 +23,7 @@ void main(List<String> args) async {
|
||||
|
||||
final router = Router();
|
||||
router.mount("/poster", getIt<PosterService>().router.call);
|
||||
router.mount("/video", getIt<VideoService>().router.call);
|
||||
router.mount("/", getIt<RootService>().router.call);
|
||||
|
||||
/// add middlewares (Logging, CORS)
|
||||
@@ -36,11 +39,25 @@ void main(List<String> args) async {
|
||||
}
|
||||
|
||||
print('Caching current trending images...');
|
||||
|
||||
final ImageLoader loader = getIt();
|
||||
final movies = await loader.getPosterURIs();
|
||||
final ImageLoader imageLoader = getIt();
|
||||
final movies = await imageLoader.getMovies();
|
||||
for (var movie in movies) {
|
||||
await loader.downloadImages(movie);
|
||||
await imageLoader.downloadImages(movie);
|
||||
}
|
||||
|
||||
// Cache videos in background (non-blocking)
|
||||
print('Starting video caching in background...');
|
||||
final VideoLoader videoLoader = getIt();
|
||||
for (var movie in movies) {
|
||||
// Jedes Video läuft in einem eigenen async "Thread" (Future)
|
||||
// ohne await, damit der Server-Start nicht blockiert wird
|
||||
videoLoader.downloadVideo(movie).then((success) {
|
||||
if (success) {
|
||||
print('Background video cache complete: ${movie.title}');
|
||||
}
|
||||
}).catchError((e) {
|
||||
print('Background video cache error for ${movie.title}: $e');
|
||||
});
|
||||
}
|
||||
|
||||
getIt<Version>().printVersion();
|
||||
|
||||
Reference in New Issue
Block a user