From 400a84b413b1a53cf6675f6ad2033d238559a10c Mon Sep 17 00:00:00 2001 From: Almar Klein Date: Wed, 20 Dec 2023 09:51:24 +0100 Subject: [PATCH 1/2] Fix leaflet --- flexxamples/howtos/leaflet.py | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/flexxamples/howtos/leaflet.py b/flexxamples/howtos/leaflet.py index 96cf424d..cf79c8c5 100644 --- a/flexxamples/howtos/leaflet.py +++ b/flexxamples/howtos/leaflet.py @@ -5,11 +5,11 @@ import os -from urllib.request import urlopen, Request import re import base64 import mimetypes +import requests # Note: you may need to pip install requests from flexx import flx @@ -21,6 +21,10 @@ 'marker-shadow.png', ] +request_headers = { + 'User-Agent': 'flexx/%s' % flx.__version__, + 'Accept-Encoding': 'gzip, deflate' +} if 'LEAFLET_DIR' in os.environ: _base_url = 'file://%s' % os.environ['LEAFLET_DIR'] @@ -33,8 +37,9 @@ def _get_code(item): """ Get a text item from _base_url """ url = '%s/%s' % (_base_url, item) - req = Request(url, headers={'User-Agent': 'flexx/%s' % flx.__version__}) - return urlopen(req).read().decode() + res = requests.get(url , headers=request_headers) + assert res.ok, f"{res.status_code}: {res.reason}" + return res.text def _get_data(item_or_url): @@ -44,8 +49,9 @@ def _get_data(item_or_url): url = item_or_url else: url = '%s/%s' % (_base_url, item_or_url) - req = Request(url, headers={'User-Agent': 'flexx/%s' % flx.__version__}) - return urlopen(req).read() + res = requests.get(url , headers=request_headers) + assert res.ok, f"{res.status_code}: {res.reason}" + return res.content def _embed_css_resources(css, types=('.png',)): @@ -281,5 +287,5 @@ def handle_leaflet_mouse(self, *events): if __name__ == '__main__': - flx.launch(LeafletExample, 'firefox') + flx.launch(LeafletExample, 'chrome-browser') flx.run() From 6e45b18ff69d5f51e14cf26a2150e3822e1edf0f Mon Sep 17 00:00:00 2001 From: Almar Klein Date: Tue, 2 Jan 2024 22:45:57 +0100 Subject: [PATCH 2/2] Add br to accept encoding --- flexxamples/howtos/leaflet.py | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/flexxamples/howtos/leaflet.py b/flexxamples/howtos/leaflet.py index cf79c8c5..4501a4fb 100644 --- a/flexxamples/howtos/leaflet.py +++ b/flexxamples/howtos/leaflet.py @@ -9,7 +9,8 @@ import base64 import mimetypes -import requests # Note: you may need to pip install requests +import requests # Note: you may need to "pip install requests brotli" +import brotli # noqa: requests needs this for br encoding from flexx import flx @@ -23,7 +24,7 @@ request_headers = { 'User-Agent': 'flexx/%s' % flx.__version__, - 'Accept-Encoding': 'gzip, deflate' + 'Accept-Encoding': 'gzip, deflate, br' } if 'LEAFLET_DIR' in os.environ: