def _set_media(self, movie: Movie): if self.media_player is None: self.media_player = QMediaPlayer(self.videoArea, QMediaPlayer.VideoSurface) self.media_player.setVideoOutput(self.videoArea.videoSurface()) self._connect_player_signals() file_name = movie.get_target_path() mimetype = mimetypes.guess_type(file_name)[0] logger.debug("Found mimetype: {}".format(mimetype)) media_res = QMediaResource(QUrl.fromLocalFile(file_name), mimetype) media = QMediaContent(media_res) self.media_player.setMedia(media)
class MovieTestCase(TestCase): def _create_movie(self): filename = os.path.join("movie", "movie.mp4") piece_length = 128 * 1024 filesize = os.stat(os.path.join(settings.TEST_DIR, filename)).st_size self.movie = Movie(filename, filesize, 0, filesize / piece_length, piece_length, settings.TEST_DIR) def setUp(self): self._create_movie() def tearDown(self): try: shutil.rmtree(settings.DOWNLOAD_DIR) except OSError: pass def test_get_movie_duration(self): tdelta = self.movie.get_movie_duration() self.assertIsInstance(tdelta, datetime.timedelta) self.assertEqual(tdelta.seconds, 180)
def _create_movies(self): info = self.get_torrent_info() files = info.files() self.piece_length = info.piece_length() self.priority_interval = settings.PRIORITY_INTERVAL * self.piece_length / ( 1024**2) self._jump = int(settings.DOWNLOAD_PIECE_SIZE / self.piece_length) + 1 self.files = {} for file in files: ext = os.path.splitext(file.path)[1] if ext and ext[1:].lower() in settings.SUPPORTED_MOVIE_EXTENSIONS: first_piece = int(file.offset / self.piece_length) last_piece = int((file.size + file.offset) / self.piece_length) self.files[file.path] = Movie( path=file.path, size=file.size, first_piece=first_piece, last_piece=last_piece, piece_length=self.piece_length, download_dir=self._get_download_dir())
def _set_duration(self, movie: Movie): tdelta = movie.get_movie_duration() if tdelta: self._view.rootObject().setProperty("movieDuration", tdelta.seconds * 1000)
def _set_media(self, movie: Movie): file_name = movie.get_target_path() self._rctx.setContextProperty("movieSource", QUrl.fromLocalFile(file_name))
def _set_duration(self, movie:Movie): tdelta = movie.get_movie_duration() if tdelta: self._view.rootObject().setProperty("movieDuration", tdelta.seconds * 1000)
def _create_movie(self): filename = os.path.join("movie", "movie.mp4") piece_length = 128 * 1024 filesize = os.stat(os.path.join(settings.TEST_DIR, filename)).st_size self.movie = Movie(filename, filesize, 0, filesize / piece_length, piece_length, settings.TEST_DIR)