[mapserver-users] "mapscript.imageObj(): is severely broken and should not be used" after upgrade from 6.0.1 to 6.2.1/6.4.0

Tim Banchi tim.banchi at gmail.com
Wed Feb 12 01:34:42 PST 2014


Le 01/31/2014 11:23 AM, Tim Banchi a écrit :
> Hello,
>
> with the upate from ubuntu 13.04 to 13.10 the package python-mapscript 
> moved from 6.0.1 to 6.2.1. Since then I get the the following runtime 
> error:
>
> img = mapscript.imageObj(fname)
> File "/usr/lib/python2.7/dist-packages/mapscript.py", line 1324, in 
> __init__
> this = _mapscript.new_imageObj(*args)
> MapServerError: imageObj(): Image handling error. imageObj() is 
> severely broken and should not be used
>
>
> The mapscript API suggests that mapscript.imageObj could be used 
> normally. So I added the ubuntugis-unstable repository and updated 
> python-mapscript to 6.4.0, but the error stays.
>
> I didn't find anything usefull searching the internet for this error 
> message, so I wonder whether imageObj is really broken or whether the 
> error is caused by something else?
> I'm not busy with mapscript, I have to maintain the program where 
> mapscript is part of. Can I use another function instead 
> mapscript.imageObj which gives me back an image object?
>
> The function where mapscript.imageObj(fname) is invocated is as follows:
>
> def load_custom_symbols(self):
>         lst_symbols = [ os.path.splitext(x) for x in
>                         os.listdir(os.path.join(os.getcwd(), 
> "_symbols")) ]
>
>         for symbol, ext in lst_symbols:
>             if ext == ".png":
>                 fname = os.path.join(os.getcwd(), "_symbols", 
> "".join([symbol, ext]))
>                 symbol = mapscript.symbolObj(symbol)
>                 img = mapscript.imageObj(fname)
>                 symbol.type = mapscript.MS_SYMBOL_PIXMAP
>                 symbol.setImage(img)
>                 self.map.symbolset.appendSymbol(symbol)
>
> Thanks!
> Tim
Hello,

in case anybody else is wondering about these problem when moving from 
6.0.1. to 6.2.1:

After I learned that also labels where not working any more with 6.2. or 
6.4:

eg:
class_layer = layer.getClass(i)
class_layer.label.type = mapscript.MS_TRUETYPE

caused:

   File "/usr/lib/python2.7/dist-packages/mapscript.py", line 841, in <lambda>
     __getattr__ = lambda self, name: _swig_getattr(self, classObj, name)
   File "/usr/lib/python2.7/dist-packages/mapscript.py", line 54, in _swig_getattr
     raise AttributeError(name)
AttributeError: label


I locked python-mapscript to the raring version (6.0.1) and since then everything is normal again: imageobj can be instantinated and labels are working as before




>
> _______________________________________________
> mapserver-users mailing list
> mapserver-users at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/mapserver-users




More information about the MapServer-users mailing list