From 891ae6d48997444df00a6a9abf79065a0d01d0a3 Mon Sep 17 00:00:00 2001 From: John Rusnak Date: Mon, 22 Jan 2018 17:14:11 -0800 Subject: [PATCH] Isoloate Pillow import, with fallback if import fails --- testdroid/__init__.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/testdroid/__init__.py b/testdroid/__init__.py index 4d9e7bd..ff71e56 100755 --- a/testdroid/__init__.py +++ b/testdroid/__init__.py @@ -1,7 +1,6 @@ # -*- coding: utf-8 -*- import os, sys, requests, json, logging, time, httplib, base64 -from PIL import Image from optparse import OptionParser from datetime import datetime @@ -633,9 +632,15 @@ def download_test_screenshots(self, project_id, test_run_id): ''' Earlier downloaded images are checked, and if needed re-downloaded. ''' try: + from PIL import Image im=Image.open(full_path) im.verify() logger.info("Screenshot %s already exists - skipping download" % full_path) + except ImportError: + if os.path.isfile(full_path): # fallback if Pillow fails to import + logger.info("Screenshot %s already exists - skipping download" % full_path) + else: + raise # jump to next block except: url = "me/projects/%s/runs/%s/device-runs/%s/screenshots/%s" % (project_id, test_run['id'], device_run['id'], screenshot['id']) prog = DownloadProgressBar()