added a nice error if c_overviewer is missing, simplified composite.py
now that c_overviewer is required, we don't need to have a PIL paste() fallback. The next step is to remove composite.py entirely!
This commit is contained in:
17
composite.py
17
composite.py
@@ -23,12 +23,7 @@ Overviewer. It defaults to the PIL paste function when the custom
|
||||
alpha-over extension cannot be found.
|
||||
"""
|
||||
|
||||
extension_alpha_over = None
|
||||
try:
|
||||
from c_overviewer import alpha_over as _extension_alpha_over
|
||||
extension_alpha_over = _extension_alpha_over
|
||||
except ImportError:
|
||||
pass
|
||||
from c_overviewer import alpha_over as extension_alpha_over
|
||||
|
||||
def alpha_over(dest, src, pos_or_rect=(0, 0), mask=None):
|
||||
"""Composite src over dest, using mask as the alpha channel (if
|
||||
@@ -40,12 +35,4 @@ def alpha_over(dest, src, pos_or_rect=(0, 0), mask=None):
|
||||
mask = src
|
||||
|
||||
global extension_alpha_over
|
||||
if extension_alpha_over is not None:
|
||||
# extension ALWAYS expects rects, so convert if needed
|
||||
if len(pos_or_rect) == 2:
|
||||
pos_or_rect = (pos_or_rect[0], pos_or_rect[1], src.size[0], src.size[1])
|
||||
extension_alpha_over(dest, src, pos_or_rect, mask)
|
||||
else:
|
||||
# fallback
|
||||
dest.paste(src, pos_or_rect, mask)
|
||||
|
||||
return extension_alpha_over(dest, src, pos_or_rect, mask)
|
||||
|
||||
12
gmap.py
12
gmap.py
@@ -27,11 +27,19 @@ import re
|
||||
import multiprocessing
|
||||
import time
|
||||
import logging
|
||||
import optimizeimages
|
||||
import composite
|
||||
|
||||
logging.basicConfig(level=logging.INFO,format="%(asctime)s [%(levelname)s] %(message)s")
|
||||
|
||||
# make sure the c_overviewer extension is available
|
||||
try:
|
||||
import c_overviewer
|
||||
except ImportError:
|
||||
print "You need to compile the c_overviewer module to run Minecraft Overviewer."
|
||||
print "Run `python setup.py build`, or see the README for details."
|
||||
sys.exit(1)
|
||||
|
||||
import optimizeimages
|
||||
import composite
|
||||
import world
|
||||
import quadtree
|
||||
|
||||
|
||||
@@ -223,6 +223,7 @@ alpha_over_wrap(PyObject *self, PyObject *args)
|
||||
/* destination position read */
|
||||
if (!PyArg_ParseTuple(pos, "iiii", &dx, &dy, &xsize, &ysize)) {
|
||||
/* try again, but this time try to read a point */
|
||||
PyErr_Clear();
|
||||
xsize = 0;
|
||||
ysize = 0;
|
||||
if (!PyArg_ParseTuple(pos, "ii", &dx, &dy)) {
|
||||
|
||||
Reference in New Issue
Block a user