From 63b74feb518820f18279b4bfc680bfb9887735c7 Mon Sep 17 00:00:00 2001 From: Ronald Oussoren Date: Fri, 2 Jan 2009 14:46:19 +0000 Subject: Fix for issue 900949 --- Lib/plat-mac/videoreader.py | 20 +++++++++----------- Misc/NEWS | 3 +++ 2 files changed, 12 insertions(+), 11 deletions(-) diff --git a/Lib/plat-mac/videoreader.py b/Lib/plat-mac/videoreader.py index fbb37e1..28b71ff 100644 --- a/Lib/plat-mac/videoreader.py +++ b/Lib/plat-mac/videoreader.py @@ -238,12 +238,12 @@ class _Reader: width = self.videodescr['width'] height = self.videodescr['height'] start = 0 - rv = '' + rv = [] for i in range(height): nextline = Qdoffs.GetPixMapBytes(self.pixmap, start, width*4) start = start + rowbytes - rv = rv + nextline - return rv + rv.append(nextline) + return ''.join(rv) def reader(url): try: @@ -255,9 +255,9 @@ def reader(url): def _test(): import EasyDialogs try: - import img + from PIL import Image except ImportError: - img = None + Image = None import MacOS Qt.EnterMovies() path = EasyDialogs.AskFileForOpen(message='Video to convert') @@ -277,13 +277,11 @@ def _test(): fname = 'frame%04.4d.jpg'%num num = num+1 pname = os.path.join(dstdir, fname) - if not img: print 'Not', + if not Image: print 'Not', print 'Writing %s, size %dx%d, %d bytes'%(fname, imgw, imgh, len(data)) - if img: - wrt = img.writer(imgfmt, pname) - wrt.width = imgw - wrt.height = imgh - wrt.write(data) + if Image: + img = Image.fromstring("RGBA", (imgw, imgh), data) + img.save(pname, 'JPEG') timestamp, data = rdr.ReadVideo() MacOS.SetCreatorAndType(pname, 'ogle', 'JPEG') if num > 20: diff --git a/Misc/NEWS b/Misc/NEWS index 3e82146..d2555a3 100644 --- a/Misc/NEWS +++ b/Misc/NEWS @@ -227,6 +227,9 @@ Library - Issue #1594: MacOS.GetCreatorAndType now always returns a big-endian result, to be consistent with Apple tools. +- Issue #900949: plat-mac/videoreader.py no longer relies on a non-existing + module. + Tools/Demos ----------- -- cgit v0.12