90 lines
2.6 KiB
Diff
90 lines
2.6 KiB
Diff
From 82d7524add60d020a339503efe0559a11f89e238 Mon Sep 17 00:00:00 2001
|
|
From: wiredfool <eric-github@soroos.net>
|
|
Date: Fri, 4 Apr 2014 13:33:54 -0700
|
|
Subject: [PATCH] made has_ghostscript a method, using it from test_imagefile
|
|
|
|
---
|
|
PIL/EpsImagePlugin.py | 15 +++++++++++++++
|
|
Tests/test_file_eps.py | 12 +-----------
|
|
Tests/test_imagefile.py | 6 ++++--
|
|
3 files changed, 20 insertions(+), 13 deletions(-)
|
|
|
|
diff --git a/PIL/EpsImagePlugin.py b/PIL/EpsImagePlugin.py
|
|
index 8868634..4d19c1f 100644
|
|
--- a/PIL/EpsImagePlugin.py
|
|
+++ b/PIL/EpsImagePlugin.py
|
|
@@ -50,6 +50,21 @@
|
|
else:
|
|
gs_windows_binary = False
|
|
|
|
+def has_ghostscript():
|
|
+ if gs_windows_binary:
|
|
+ return True
|
|
+ if not sys.platform.startswith('win'):
|
|
+ import subprocess
|
|
+ try:
|
|
+ gs = subprocess.Popen(['gs','--version'], stdout=subprocess.PIPE)
|
|
+ gs.stdout.read()
|
|
+ return True
|
|
+ except OSError:
|
|
+ # no ghostscript
|
|
+ pass
|
|
+ return False
|
|
+
|
|
+
|
|
def Ghostscript(tile, size, fp, scale=1):
|
|
"""Render an image using Ghostscript"""
|
|
|
|
diff --git a/Tests/test_file_eps.py b/Tests/test_file_eps.py
|
|
index 61faa63..0041824 100644
|
|
--- a/Tests/test_file_eps.py
|
|
+++ b/Tests/test_file_eps.py
|
|
@@ -4,19 +4,9 @@
|
|
import sys
|
|
import io
|
|
|
|
-if not EpsImagePlugin.gs_windows_binary:
|
|
- # already checked. Not there.
|
|
+if not EpsImagePlugin.has_ghostscript():
|
|
skip()
|
|
|
|
-if not sys.platform.startswith('win'):
|
|
- import subprocess
|
|
- try:
|
|
- gs = subprocess.Popen(['gs','--version'], stdout=subprocess.PIPE)
|
|
- gs.stdout.read()
|
|
- except OSError:
|
|
- # no ghostscript
|
|
- skip()
|
|
-
|
|
#Our two EPS test files (they are identical except for their bounding boxes)
|
|
file1 = "Tests/images/zero_bb.eps"
|
|
file2 = "Tests/images/non_zero_bb.eps"
|
|
diff --git a/Tests/test_imagefile.py b/Tests/test_imagefile.py
|
|
index 12061eb..adf282b 100644
|
|
--- a/Tests/test_imagefile.py
|
|
+++ b/Tests/test_imagefile.py
|
|
@@ -2,6 +2,7 @@
|
|
|
|
from PIL import Image
|
|
from PIL import ImageFile
|
|
+from PIL import EpsImagePlugin
|
|
|
|
codecs = dir(Image.core)
|
|
|
|
@@ -46,8 +47,9 @@ def roundtrip(format):
|
|
assert_image_equal(*roundtrip("TGA"))
|
|
assert_image_equal(*roundtrip("PCX"))
|
|
|
|
- im1, im2 = roundtrip("EPS")
|
|
- assert_image_similar(im1, im2.convert('L'),20) # EPS comes back in RGB
|
|
+ if EpsImagePlugin.has_ghostscript():
|
|
+ im1, im2 = roundtrip("EPS")
|
|
+ assert_image_similar(im1, im2.convert('L'),20) # EPS comes back in RGB
|
|
|
|
if "jpeg_encoder" in codecs:
|
|
im1, im2 = roundtrip("JPEG") # lossy compression
|
|
--
|
|
1.9.1
|
|
|