MCPcopy Index your code
hub / github.com/opengeos/leafmap / __init__

Method __init__

leafmap/leafmap.py:7212–7255  ·  view source on GitHub ↗
(self, **kwargs)

Source from the content-addressed store, hash-verified

7210 """
7211
7212 def __init__(self, **kwargs):
7213 from base64 import b64encode
7214 from io import BytesIO
7215
7216 from PIL import Image, ImageSequence
7217
7218 try:
7219 url = kwargs.get("url")
7220 if not url.startswith("http"):
7221 url = os.path.abspath(url)
7222 if not os.path.exists(url):
7223 raise FileNotFoundError("The provided file does not exist.")
7224
7225 ext = os.path.splitext(url)[1][1:] # file extension
7226 image = Image.open(url)
7227
7228 f = BytesIO()
7229 if ext.lower() == "gif":
7230 frames = []
7231 # Loop over each frame in the animated image
7232 for frame in ImageSequence.Iterator(image):
7233 frame = frame.convert("RGBA")
7234 b = BytesIO()
7235 frame.save(b, format="gif")
7236 frame = Image.open(b)
7237 frames.append(frame)
7238 frames[0].save(
7239 f,
7240 format="GIF",
7241 save_all=True,
7242 append_images=frames[1:],
7243 loop=0,
7244 )
7245 else:
7246 image.save(f, ext)
7247
7248 data = b64encode(f.getvalue())
7249 data = data.decode("ascii")
7250 url = "data:image/{};base64,".format(ext) + data
7251 kwargs["url"] = url
7252 except Exception as e:
7253 raise Exception(e)
7254
7255 super().__init__(**kwargs)
7256
7257
7258def linked_maps(

Callers

nothing calls this directly

Calls 2

saveMethod · 0.80
__init__Method · 0.45

Tested by

no test coverage detected