umap-project 2.4.0b1__py3-none-any.whl → 2.4.0b2__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
umap/__init__.py CHANGED
@@ -1 +1 @@
1
- VERSION = "2.4.0b1"
1
+ VERSION = "2.4.0b2"
Binary file
@@ -8,6 +8,7 @@
8
8
  # Buggi, 2013
9
9
  # Buggi, 2013
10
10
  # Buggi, 2013
11
+ # Larlet David <david@larlet.fr>, 2024
11
12
  # Philippe Verdy, 2017
12
13
  # severin.menard <severin.menard@protonmail.com>, 2014
13
14
  # severin.menard <severin.menard@protonmail.com>, 2014
@@ -25,7 +26,7 @@ msgstr ""
25
26
  "Report-Msgid-Bugs-To: \n"
26
27
  "POT-Creation-Date: 2024-06-14 17:49+0000\n"
27
28
  "PO-Revision-Date: 2013-11-22 14:00+0000\n"
28
- "Last-Translator: yohanboniface <yohanboniface@free.fr>, 2013-2014,2018-2019,2023-2024\n"
29
+ "Last-Translator: Larlet David <david@larlet.fr>, 2024\n"
29
30
  "Language-Team: French (http://app.transifex.com/openstreetmap/umap/language/fr/)\n"
30
31
  "MIME-Version: 1.0\n"
31
32
  "Content-Type: text/plain; charset=UTF-8\n"
@@ -267,7 +268,7 @@ msgstr "Exporter et partager votre carte"
267
268
  #: templates/umap/about_summary.html:37
268
269
  #, python-format
269
270
  msgid "And it's <a href=\"%(repo_url)s\">open source</a>!"
270
- msgstr "Et c'est <a href=\"%(repo_url)s\">open source</a>!"
271
+ msgstr "Et c'est <a href=\"%(repo_url)s\">open source</a> !"
271
272
 
272
273
  #: templates/umap/about_summary.html:48 templates/umap/navigation.html:38
273
274
  #: templates/umap/user_dashboard.html:42
@@ -290,11 +291,11 @@ msgid ""
290
291
  "Pro-tip: to easily find back your maps, <a href=\"%(login_url)s\" "
291
292
  "target=\"_blank\">create an account</a> or <a href=\"%(login_url)s\" "
292
293
  "target=\"_blank\">log in</a>."
293
- msgstr "Astuce: pour retrouver facilement vos cartes, <a href=\"%(login_url)s\" target=\"_blank\">créez un compte</a> ou <a href=\"%(login_url)s\" target=\"_blank\">identifiez-vous</a>."
294
+ msgstr "Astuce : pour retrouver facilement vos cartes, <a href=\"%(login_url)s\" target=\"_blank\">créez un compte</a> ou <a href=\"%(login_url)s\" target=\"_blank\">identifiez-vous</a>."
294
295
 
295
296
  #: templates/umap/components/alerts/alert.html:30
296
297
  msgid "Here is your secret link to edit the map, please keep it safe:"
297
- msgstr "Ceci est le lien d'édition secret, gardez-le en lieu sûr:"
298
+ msgstr "Ceci est le lien d'édition secret, gardez-le en lieu sûr :"
298
299
 
299
300
  #: templates/umap/components/alerts/alert.html:33
300
301
  msgid "Copy link"
@@ -302,7 +303,7 @@ msgstr "Copier le lien"
302
303
 
303
304
  #: templates/umap/components/alerts/alert.html:39
304
305
  msgid "Enter your email address to receive the secret link:"
305
- msgstr "Entrer une adresse mail pour recevoir le lien secret:"
306
+ msgstr "Entrez votre courriel pour recevoir le lien secret :"
306
307
 
307
308
  #: templates/umap/components/alerts/alert.html:41
308
309
  msgid "Email"
@@ -310,7 +311,7 @@ msgstr "Courriel"
310
311
 
311
312
  #: templates/umap/components/alerts/alert.html:42
312
313
  msgid "Send me the link"
313
- msgstr "Recevoir le lien"
314
+ msgstr "Envoyer le lien"
314
315
 
315
316
  #: templates/umap/components/alerts/alert.html:63
316
317
  msgid "See their edits in another tab"
@@ -337,7 +338,7 @@ msgid ""
337
338
  "need a stable instance, please use <a "
338
339
  "href=\"%(stable_url)s\">%(stable_url)s</a>. You can also host your own "
339
340
  "instance, it's <a href=\"%(repo_url)s\">open source</a>!"
340
- msgstr "Il s'agit d'un site de démonstration, utilisé pour les tests et validation avant diffusion. Si vous avez besoin d'une version stable, utilisez plutôt <a href=\"%(stable_url)s\">%(stable_url)s</a>. Vous pouvez aussi mettre en place votre propre version, c'est <a href=\"%(repo_url)s\">open source</a>!"
341
+ msgstr "Il s'agit d'un site de démonstration, utilisé pour les tests et validation avant diffusion. Si vous avez besoin d'une version stable, utilisez plutôt <a href=\"%(stable_url)s\">%(stable_url)s</a>. Vous pouvez aussi mettre en place votre propre version, c'est <a href=\"%(repo_url)s\">open source</a> !"
341
342
 
342
343
  #: templates/umap/home.html:11
343
344
  msgid "Map of the uMaps"
@@ -435,7 +436,7 @@ msgstr "fin"
435
436
  #: templates/umap/map_table.html:116
436
437
  #, python-format
437
438
  msgid "Lines per page: %(per_page)s"
438
- msgstr "Lignes par page: %(per_page)s"
439
+ msgstr "Lignes par page : %(per_page)s"
439
440
 
440
441
  #: templates/umap/map_table.html:121
441
442
  #, python-format
@@ -514,7 +515,7 @@ msgid "%(count)s map found:"
514
515
  msgid_plural "%(count)s maps found:"
515
516
  msgstr[0] "%(count)s carte trouvée:"
516
517
  msgstr[1] "%(count)s cartes trouvées:"
517
- msgstr[2] "%(count)s cartes trouvées:"
518
+ msgstr[2] "%(count)s cartes trouvées :"
518
519
 
519
520
  #: templates/umap/search.html:21
520
521
  msgid "No map found."
@@ -573,12 +574,12 @@ msgstr "Éditeurs de la carte mis à jour !"
573
574
  #: views.py:883
574
575
  #, python-format
575
576
  msgid "The uMap edit link for your map: %(map_name)s"
576
- msgstr "La lien d'édition uMap pour votre carte %(map_name)s"
577
+ msgstr "La lien d'édition uMap pour votre carte : %(map_name)s"
577
578
 
578
579
  #: views.py:886
579
580
  #, python-format
580
581
  msgid "Here is your secret edit link: %(link)s"
581
- msgstr "Voici votre lien d'édition secret: %(link)s"
582
+ msgstr "Voici votre lien d'édition secret : %(link)s"
582
583
 
583
584
  #: views.py:893
584
585
  #, python-format
umap/static/umap/base.css CHANGED
@@ -200,28 +200,6 @@ input[type=checkbox]:checked:after {
200
200
  content: '✓';
201
201
  color: var(--color-darkGray);
202
202
  }
203
- label input[type="radio"] {
204
- appearance: none;
205
- margin-right: 10px;
206
- background: var(--color-darkGray);
207
- }
208
- input[type="radio"]:after {
209
- display: inline-block;
210
- content: '⦾';
211
- width: 16px;
212
- height: 16px;
213
- border-radius: 50%;
214
- cursor: pointer;
215
- text-align: center;
216
- vertical-align: bottom;
217
- font-size: 1.2rem;
218
- line-height: 0.7;
219
- }
220
- label input[type="radio"]:checked:after {
221
- background-color: var(--color-lightCyan);
222
- color: var(--color-darkGray);
223
- content: '⦿';
224
- }
225
203
 
226
204
  input[data-modified=true] {
227
205
  background-color: var(--color-lightCyan);
@@ -395,7 +373,7 @@ details summary {
395
373
  border: 1px solid var(--color-darkGray);
396
374
  }
397
375
  fieldset legend {
398
- font-size: 1rem;
376
+ font-size: .9rem;
399
377
  padding: 0 5px;
400
378
  }
401
379
 
@@ -1,6 +1,13 @@
1
+ .importers h3 {
2
+ font-size: 1rem;
3
+ }
4
+ .importers h4 {
5
+ font-size: .9rem;
6
+ }
7
+
1
8
  .importers ul [type=button] {
2
9
  background: none;
3
- font-size: 1rem;
10
+ font-size: 0.75rem;
4
11
  border: none;
5
12
  width: initial;
6
13
  display: inline-block;
@@ -52,7 +52,6 @@
52
52
  .panel .counter {
53
53
  display: block;
54
54
  margin-top: var(--panel-gutter);
55
- font-weight: bold;
56
55
  }
57
56
  @media all and (orientation:landscape) {
58
57
  .panel {
@@ -230,13 +230,21 @@ export default class Importer {
230
230
 
231
231
  openFiles() {
232
232
  this.open()
233
- this.fileInput.showPicker()
233
+ this.qs('[type=file]').showPicker()
234
234
  }
235
235
 
236
236
  submit() {
237
- if (this.format === 'umap') this.full()
238
- else if (!this.url) this.copy()
239
- else if (this.action) this[this.action]()
237
+ let hasErrors = false
238
+ if (this.format === 'umap') {
239
+ hasErrors = !this.full()
240
+ } else if (!this.url) {
241
+ hasErrors = !this.copy()
242
+ } else if (this.action) {
243
+ hasErrors = !this[this.action]()
244
+ }
245
+ if (!hasErrors) {
246
+ Alert.info(translate('Data successfully imported!'))
247
+ }
240
248
  }
241
249
 
242
250
  full() {
@@ -254,16 +262,19 @@ export default class Importer {
254
262
  } catch (e) {
255
263
  Alert.error(translate('Invalid umap data'))
256
264
  console.error(e)
265
+ return false
257
266
  }
258
267
  }
259
268
 
260
269
  link() {
261
- if (!this.url) return
270
+ if (!this.url) {
271
+ return false
272
+ }
262
273
  if (!this.format) {
263
274
  Alert.error(translate('Please choose a format'))
264
- return
275
+ return false
265
276
  }
266
- let layer = this.layer
277
+ const layer = this.layer
267
278
  layer.options.remoteData = {
268
279
  url: this.url,
269
280
  format: this.format,
@@ -280,9 +291,9 @@ export default class Importer {
280
291
  // Usefull in case of multiple files with different formats.
281
292
  if (!this.format && !this.files.length) {
282
293
  Alert.error(translate('Please choose a format'))
283
- return
294
+ return false
284
295
  }
285
- let layer = this.layer
296
+ const layer = this.layer
286
297
  if (this.clear) layer.empty()
287
298
  if (this.files.length) {
288
299
  for (const file of this.files) {
@@ -28,6 +28,7 @@ export class Importer {
28
28
  if (select.value) {
29
29
  importer.url = select.value
30
30
  importer.format = select.options[select.selectedIndex].dataset.format
31
+ importer.layerName = select.options[select.selectedIndex].textContent
31
32
  }
32
33
  importer.dialog.close()
33
34
  }
@@ -1,6 +1,6 @@
1
1
  const locale = {
2
- " (area: {measure})": "(surface: {measure})",
3
- " (length: {measure})": "(longueur: {measure})",
2
+ " (area: {measure})": "(surface : {measure})",
3
+ " (length: {measure})": "(longueur : {measure})",
4
4
  "# one hash for main heading": "# un dièse pour titre 1",
5
5
  "## two hashes for second heading": "## deux dièses pour titre 2",
6
6
  "### three hashes for third heading": "### trois dièses pour titre 3",
@@ -186,7 +186,7 @@ const locale = {
186
186
  "Icon shape": "Forme de l'icône",
187
187
  "Icon symbol": "Image de l'icône",
188
188
  "If false, the polygon or line will act as a part of the underlying map.": "Désactiver pour que le polygone ou la ligne ne réagisse plus aux interactions.",
189
- "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe avec hauteur (en pixels): {{{http://iframe.url.com|hauteur}}}",
189
+ "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe avec hauteur (en pixels) : {{{http://iframe.url.com|hauteur}}}",
190
190
  "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe avec hauteur et largeur (en px) : {{{http://iframe.url.com|height*width}}}",
191
191
  "iframe": "iframe",
192
192
  "Iframe: {{{http://iframe.url.com}}}": "Iframe : {{{http://iframe.url.com}}}",
@@ -202,7 +202,7 @@ const locale = {
202
202
  "Invalid latitude or longitude": "Latitude ou longitude invalide",
203
203
  "Invalid umap data in {filename}": "Les données du fichier {filename} ne sont pas valides comme format uMap",
204
204
  "Invalid umap data": "Données uMap invalides",
205
- "Invalide property name: {name}": "Nom de propriété invalide: {name}",
205
+ "Invalide property name: {name}": "Nom de propriété invalide : {name}",
206
206
  "Jenks-Fisher": "Jenks-Fisher",
207
207
  "K-means": "K-moyennes",
208
208
  "Keep current visible layers": "Garder les calques visibles actuellement",
@@ -327,7 +327,7 @@ const locale = {
327
327
  "Side panel": "Panneau latéral",
328
328
  "Simple link: [[http://example.com]]": "Lien simple : [[https://exemple.fr]]",
329
329
  "Simplify": "Simplifier",
330
- "Skipping unknown geometry.type: {type}": "Type de géométrie inconnu ignoré: {type}",
330
+ "Skipping unknown geometry.type: {type}": "Type de géométrie inconnu ignoré : {type}",
331
331
  "Slideshow": "Diaporama",
332
332
  "Sort key": "Clé de tri",
333
333
  "Split line": "Scinder la ligne",
@@ -375,7 +375,7 @@ const locale = {
375
375
  "Versions": "Versions",
376
376
  "View Fullscreen": "Voir en plein écran",
377
377
  "View": "Aperçu",
378
- "Visibility: {status}": "Visibilité: {status}",
378
+ "Visibility: {status}": "Visibilité : {status}",
379
379
  "weight": "épaisseur",
380
380
  "Where do we go from here?": "C'est par où pour aller plus loin?",
381
381
  "Whether to display or not polygons paths.": "Afficher les contours des polygones.",
@@ -401,7 +401,7 @@ const locale = {
401
401
  "{area}&#8239;m&sup2;": "{area} m&sup2;",
402
402
  "{area}&#8239;mi&sup2;": "{area} mi&sup2;",
403
403
  "{area}&#8239;yd&sup2;": "{area} yd&sup2;",
404
- "{count} errors during import: {message}": "{count} erreurs pendant l'import: {message}",
404
+ "{count} errors during import: {message}": "{count} erreurs pendant l'import : {message}",
405
405
  "{delay} seconds": "{delay} secondes",
406
406
  "{distance}&#8239;km": "{distance} km",
407
407
  "{distance}&#8239;m": "{distance} m",
@@ -419,7 +419,7 @@ const locale = {
419
419
  "Max": "Max",
420
420
  "From": "De",
421
421
  "Until": "À",
422
- "Example: key1,key2|Label 2,key3|Label 3|checkbox": "Exemple: cle1,cle2|Label 2,Label 3|checkbox",
422
+ "Example: key1,key2|Label 2,key3|Label 3|checkbox": "Exemple : cle1,cle2|Label 2,Label 3|checkbox",
423
423
  "Edit in OpenStreetMap": "Modifier dans OpenStreetMap",
424
424
  "Cannot determine latitude and longitude columns.": "Impossible de détecter les colonnes latitude et longitude.",
425
425
  "Back to layers": "Voir les calques",
@@ -450,7 +450,7 @@ const locale = {
450
450
  "More info about Overpass syntax": "Plus d'infos sur la syntaxe Overpass",
451
451
  "For more complex needs, see": "Pour les besoins plus avancés:",
452
452
  "Choose data": "Choisir les données",
453
- "Import helpers:": "Assistants d'import:",
453
+ "Import helpers:": "Assistants d'import :",
454
454
  "Choose the format": "Choisir le format",
455
455
  "Choose the layer": "Choisir le calque",
456
456
  "Layer name": "Nom du calque",
@@ -463,14 +463,14 @@ const locale = {
463
463
  "empty rule": "règle vide",
464
464
  "Conditional style rules": "Règles de formatage conditionnelles",
465
465
  "Add rule": "Ajouter une règle",
466
- "Browser: data": "Explorateur: données",
467
- "Browser: layers": "Explorateur: calques",
468
- "Browser: filters": "Explorateur: filtres",
466
+ "Browser: data": "Explorateur : données",
467
+ "Browser: layers": "Explorateur : calques",
468
+ "Browser: filters": "Explorateur : filtres",
469
469
  "Enable real-time collaboration": "Activer la collaboration temps réel",
470
- "✅ Copied!": "✅ Copié!",
470
+ "✅ Copied!": "✅ Copié !",
471
471
  "Choose a dataset": "Choisir un jeu de données",
472
472
  "Choose this dataset": "Choisir ce jeu de données",
473
- "GeoDataMine: thematic data from OpenStreetMap": "GéoDataMine: données thématiques à partir d'OpenStreetMap",
473
+ "GeoDataMine: thematic data from OpenStreetMap": "GéoDataMine : données thématiques à partir d'OpenStreetMap",
474
474
  "Choose a theme": "Choisir un thème",
475
475
  "Symplify all geometries to points": "Simplifier les géométries en points",
476
476
  "Choose this data": "Choisir ces données",
@@ -1,6 +1,6 @@
1
1
  {
2
- " (area: {measure})": "(surface: {measure})",
3
- " (length: {measure})": "(longueur: {measure})",
2
+ " (area: {measure})": "(surface : {measure})",
3
+ " (length: {measure})": "(longueur : {measure})",
4
4
  "# one hash for main heading": "# un dièse pour titre 1",
5
5
  "## two hashes for second heading": "## deux dièses pour titre 2",
6
6
  "### three hashes for third heading": "### trois dièses pour titre 3",
@@ -186,7 +186,7 @@
186
186
  "Icon shape": "Forme de l'icône",
187
187
  "Icon symbol": "Image de l'icône",
188
188
  "If false, the polygon or line will act as a part of the underlying map.": "Désactiver pour que le polygone ou la ligne ne réagisse plus aux interactions.",
189
- "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe avec hauteur (en pixels): {{{http://iframe.url.com|hauteur}}}",
189
+ "Iframe with custom height (in px): {{{http://iframe.url.com|height}}}": "Iframe avec hauteur (en pixels) : {{{http://iframe.url.com|hauteur}}}",
190
190
  "Iframe with custom height and width (in px): {{{http://iframe.url.com|height*width}}}": "Iframe avec hauteur et largeur (en px) : {{{http://iframe.url.com|height*width}}}",
191
191
  "iframe": "iframe",
192
192
  "Iframe: {{{http://iframe.url.com}}}": "Iframe : {{{http://iframe.url.com}}}",
@@ -202,7 +202,7 @@
202
202
  "Invalid latitude or longitude": "Latitude ou longitude invalide",
203
203
  "Invalid umap data in {filename}": "Les données du fichier {filename} ne sont pas valides comme format uMap",
204
204
  "Invalid umap data": "Données uMap invalides",
205
- "Invalide property name: {name}": "Nom de propriété invalide: {name}",
205
+ "Invalide property name: {name}": "Nom de propriété invalide : {name}",
206
206
  "Jenks-Fisher": "Jenks-Fisher",
207
207
  "K-means": "K-moyennes",
208
208
  "Keep current visible layers": "Garder les calques visibles actuellement",
@@ -327,7 +327,7 @@
327
327
  "Side panel": "Panneau latéral",
328
328
  "Simple link: [[http://example.com]]": "Lien simple : [[https://exemple.fr]]",
329
329
  "Simplify": "Simplifier",
330
- "Skipping unknown geometry.type: {type}": "Type de géométrie inconnu ignoré: {type}",
330
+ "Skipping unknown geometry.type: {type}": "Type de géométrie inconnu ignoré : {type}",
331
331
  "Slideshow": "Diaporama",
332
332
  "Sort key": "Clé de tri",
333
333
  "Split line": "Scinder la ligne",
@@ -375,7 +375,7 @@
375
375
  "Versions": "Versions",
376
376
  "View Fullscreen": "Voir en plein écran",
377
377
  "View": "Aperçu",
378
- "Visibility: {status}": "Visibilité: {status}",
378
+ "Visibility: {status}": "Visibilité : {status}",
379
379
  "weight": "épaisseur",
380
380
  "Where do we go from here?": "C'est par où pour aller plus loin?",
381
381
  "Whether to display or not polygons paths.": "Afficher les contours des polygones.",
@@ -401,7 +401,7 @@
401
401
  "{area}&#8239;m&sup2;": "{area} m&sup2;",
402
402
  "{area}&#8239;mi&sup2;": "{area} mi&sup2;",
403
403
  "{area}&#8239;yd&sup2;": "{area} yd&sup2;",
404
- "{count} errors during import: {message}": "{count} erreurs pendant l'import: {message}",
404
+ "{count} errors during import: {message}": "{count} erreurs pendant l'import : {message}",
405
405
  "{delay} seconds": "{delay} secondes",
406
406
  "{distance}&#8239;km": "{distance} km",
407
407
  "{distance}&#8239;m": "{distance} m",
@@ -419,7 +419,7 @@
419
419
  "Max": "Max",
420
420
  "From": "De",
421
421
  "Until": "À",
422
- "Example: key1,key2|Label 2,key3|Label 3|checkbox": "Exemple: cle1,cle2|Label 2,Label 3|checkbox",
422
+ "Example: key1,key2|Label 2,key3|Label 3|checkbox": "Exemple : cle1,cle2|Label 2,Label 3|checkbox",
423
423
  "Edit in OpenStreetMap": "Modifier dans OpenStreetMap",
424
424
  "Cannot determine latitude and longitude columns.": "Impossible de détecter les colonnes latitude et longitude.",
425
425
  "Back to layers": "Voir les calques",
@@ -450,7 +450,7 @@
450
450
  "More info about Overpass syntax": "Plus d'infos sur la syntaxe Overpass",
451
451
  "For more complex needs, see": "Pour les besoins plus avancés:",
452
452
  "Choose data": "Choisir les données",
453
- "Import helpers:": "Assistants d'import:",
453
+ "Import helpers:": "Assistants d'import :",
454
454
  "Choose the format": "Choisir le format",
455
455
  "Choose the layer": "Choisir le calque",
456
456
  "Layer name": "Nom du calque",
@@ -463,14 +463,14 @@
463
463
  "empty rule": "règle vide",
464
464
  "Conditional style rules": "Règles de formatage conditionnelles",
465
465
  "Add rule": "Ajouter une règle",
466
- "Browser: data": "Explorateur: données",
467
- "Browser: layers": "Explorateur: calques",
468
- "Browser: filters": "Explorateur: filtres",
466
+ "Browser: data": "Explorateur : données",
467
+ "Browser: layers": "Explorateur : calques",
468
+ "Browser: filters": "Explorateur : filtres",
469
469
  "Enable real-time collaboration": "Activer la collaboration temps réel",
470
- "✅ Copied!": "✅ Copié!",
470
+ "✅ Copied!": "✅ Copié !",
471
471
  "Choose a dataset": "Choisir un jeu de données",
472
472
  "Choose this dataset": "Choisir ce jeu de données",
473
- "GeoDataMine: thematic data from OpenStreetMap": "GéoDataMine: données thématiques à partir d'OpenStreetMap",
473
+ "GeoDataMine: thematic data from OpenStreetMap": "GéoDataMine : données thématiques à partir d'OpenStreetMap",
474
474
  "Choose a theme": "Choisir un thème",
475
475
  "Symplify all geometries to points": "Simplifier les géométries en points",
476
476
  "Choose this data": "Choisir ces données",
@@ -538,3 +538,50 @@ def test_overpass_import_with_bbox(page, live_server, tilelayer, settings):
538
538
  expect(page.get_by_placeholder("Provide an URL here")).to_have_value(
539
539
  "https://my.overpass.io/interpreter?data=[out:json];nwr[building]({south},{west},{north},{east});out geom;"
540
540
  )
541
+
542
+
543
+ def test_import_from_datasets(page, live_server, tilelayer, settings):
544
+ settings.UMAP_IMPORTERS = {
545
+ "datasets": {
546
+ "choices": [
547
+ {
548
+ "url": "https://remote.org/data.json",
549
+ "label": "Good data",
550
+ "format": "geojson",
551
+ }
552
+ ]
553
+ }
554
+ }
555
+
556
+ def handle(route):
557
+ route.fulfill(
558
+ json={
559
+ "type": "FeatureCollection",
560
+ "features": [
561
+ {
562
+ "type": "Feature",
563
+ "properties": {},
564
+ "geometry": {
565
+ "type": "Point",
566
+ "coordinates": [4.3375, 51.2707],
567
+ },
568
+ }
569
+ ],
570
+ }
571
+ )
572
+
573
+ # Intercept the route
574
+ page.route("https://remote.org/data.json", handle)
575
+ page.goto(f"{live_server.url}/map/new/")
576
+ expect(page.locator(".leaflet-marker-icon")).to_be_hidden()
577
+ page.get_by_role("link", name="Import data (Ctrl+I)").click()
578
+ page.get_by_role("button", name="Datasets").click()
579
+ page.get_by_role("dialog").get_by_role("combobox").select_option(
580
+ "https://remote.org/data.json"
581
+ )
582
+ page.get_by_role("button", name="Choose this dataset").click()
583
+ page.get_by_label("Copy into the layer").check()
584
+ page.get_by_role("button", name="Import data").click()
585
+ expect(page.locator(".leaflet-marker-icon")).to_be_visible()
586
+ page.get_by_role("button", name="Open browser").click()
587
+ expect(page.locator("h5").get_by_text("Good data")).to_be_visible()
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: umap-project
3
- Version: 2.4.0b1
3
+ Version: 2.4.0b2
4
4
  Summary: Create maps with OpenStreetMap layers in a minute and embed them in your site.
5
5
  Author-email: Yohan Boniface <yb@enix.org>
6
6
  Maintainer-email: David Larlet <david@larlet.fr>
@@ -22,7 +22,7 @@ Requires-Dist: django-probes==1.7.0
22
22
  Requires-Dist: django==5.0.6
23
23
  Requires-Dist: pillow==10.3.0
24
24
  Requires-Dist: psycopg==3.1.19
25
- Requires-Dist: pydantic==2.7.3
25
+ Requires-Dist: pydantic==2.7.4
26
26
  Requires-Dist: rcssmin==1.1.2
27
27
  Requires-Dist: requests==2.32.3
28
28
  Requires-Dist: rjsmin==1.2.2
@@ -33,11 +33,11 @@ Provides-Extra: dev
33
33
  Requires-Dist: djlint==1.34.1; extra == 'dev'
34
34
  Requires-Dist: hatch==1.12.0; extra == 'dev'
35
35
  Requires-Dist: isort==5.13.2; extra == 'dev'
36
- Requires-Dist: mkdocs-material==9.5.26; extra == 'dev'
36
+ Requires-Dist: mkdocs-material==9.5.27; extra == 'dev'
37
37
  Requires-Dist: mkdocs-static-i18n==1.2.3; extra == 'dev'
38
38
  Requires-Dist: mkdocs==1.6.0; extra == 'dev'
39
39
  Requires-Dist: pymdown-extensions==10.8.1; extra == 'dev'
40
- Requires-Dist: ruff==0.4.8; extra == 'dev'
40
+ Requires-Dist: ruff==0.4.9; extra == 'dev'
41
41
  Requires-Dist: vermin==1.6.0; extra == 'dev'
42
42
  Provides-Extra: docker
43
43
  Requires-Dist: uwsgi==2.0.26; extra == 'docker'
@@ -1,5 +1,5 @@
1
1
  umap/.DS_Store,sha256=B4-anBIm7kFQicJnbjnO-JSfRpv0HVyvhdun5qug0zM,6148
2
- umap/__init__.py,sha256=xbIuSa3jWXV1nXp8BdijnVJ5W7sRppyos9mnJ3cEwUo,20
2
+ umap/__init__.py,sha256=6UgDNm2R7aBY6H-Khg1BqsBRb-H4FoEpCHjqVsaO3yM,20
3
3
  umap/admin.py,sha256=gL6zrexmDbIKIqOKHCuAM5wtqr8FIQkRtjbcXcNyBrs,749
4
4
  umap/apps.py,sha256=5ssKqPUuNJlapaBmr4LY_HDb7J1NFCT3wzythxQOOfs,109
5
5
  umap/autocomplete.py,sha256=WUsbsVBl_KzzEzxB4g3rAoS5-eEvCZGtelVzXeOFV90,444
@@ -49,8 +49,8 @@ umap/locale/fa_IR/LC_MESSAGES/django.mo,sha256=LcU15SxGd21_jDyaZoH2DIQbrD1GqcUHM
49
49
  umap/locale/fa_IR/LC_MESSAGES/django.po,sha256=ASiA2CeduaQzb6TwyWbm-rCi2wN29PV_VnhOn0ifxeg,14688
50
50
  umap/locale/fi/LC_MESSAGES/django.mo,sha256=-p9kvtfjdJKrbSMEfpdvoZ6jEX_njf-0uqzlvydbhOo,4856
51
51
  umap/locale/fi/LC_MESSAGES/django.po,sha256=Saq5PpycYhmutr6CWPQNYI4UwQbSdxrCWxapwotaB3c,12823
52
- umap/locale/fr/LC_MESSAGES/django.mo,sha256=n3UJhFF9fr9kSGCl9PeBppx-asz54nMppW-Uo8m2ARw,11387
53
- umap/locale/fr/LC_MESSAGES/django.po,sha256=aQDUujCDbw_-x11jjcmneoOjmuI7ezKYaYey5KSF0WI,17042
52
+ umap/locale/fr/LC_MESSAGES/django.mo,sha256=O1iKAw-p_C72yo0os9B4_AQEGP8Rlqb2shuHiU213V8,11362
53
+ umap/locale/fr/LC_MESSAGES/django.po,sha256=ewfJRRsQVEq_5GP_KlX_Ljb95QicENwmp1V0gpbSEqs,17056
54
54
  umap/locale/gl/LC_MESSAGES/django.mo,sha256=-p9_T_4C3ns1Sc1iG7zfCUstFsGX_aaxzeLwD8d8Uho,6253
55
55
  umap/locale/gl/LC_MESSAGES/django.po,sha256=w5yCwKMsmFJ7Tk-y4p2a8oOaYkyYi_aLNnWpbw04M2M,13210
56
56
  umap/locale/he/LC_MESSAGES/django.mo,sha256=HsIucdlws4u7UHqBWx6x3Rgbz7H37MQS0iMjHkvLsRo,6944
@@ -146,7 +146,7 @@ umap/settings/local.py.sample,sha256=wpnoe7qtXer_xBuhWbcbqcSCotTJRu6h8hG7N-sD0b4
146
146
  umap/static/.DS_Store,sha256=1lFlJ5EFymdzGAUAaI30vcaaLHt3F1LwpG7xILf9jsM,6148
147
147
  umap/static/.gitignore,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
148
148
  umap/static/umap/.DS_Store,sha256=25wUHAzNlKKNi8zJzUdKYuHD2pgYZXNNmvaeGbIAYkM,6148
149
- umap/static/umap/base.css,sha256=HmOZZmeZACdMgetiI2cygSt-Z2s8WloH0HOEzRt4y58,17131
149
+ umap/static/umap/base.css,sha256=pKfQGlcnxowu1w5Yhw_V9uDN6njIAB5fppTbVk-mDrs,16619
150
150
  umap/static/umap/bitbucket.png,sha256=Z-xsnM3QOUn9tJQ0RjPXCpALghrzaDDZP7wSePSjSr8,9125
151
151
  umap/static/umap/content.css,sha256=3aFi5hHUuokCqdW_xQuEDyS6vW1ahSdjbSPPnFNutbk,11429
152
152
  umap/static/umap/font.css,sha256=fYmTKNd_Ts6TrmBbnLRgyeUS4vpfxkEqhLR-pkd3KrA,904
@@ -159,8 +159,8 @@ umap/static/umap/twitter.png,sha256=BnVH7PcYlgKW56KHSOMRPevji2DvhJmvzFjl3-iF7c0,
159
159
  umap/static/umap/vars.css,sha256=oew1iuKNev2JK0-IAFzDgvGGceNv7tNRI6vExIzuLbE,1266
160
160
  umap/static/umap/css/dialog.css,sha256=IMDzMNemyCdVyPC5r8rEc5zJuMjdqMiJ4gz7tuHsXtc,379
161
161
  umap/static/umap/css/icon.css,sha256=VUQqVTl8JVfYBGV5mT1NL6ocRol_jZPOmS9Yzv9SuXQ,2430
162
- umap/static/umap/css/importers.css,sha256=pKUlkrBgcTSq6Nf5Fx-SlbRJ7T2ugU2mtlJIQtcCajE,1185
163
- umap/static/umap/css/panel.css,sha256=pjbR1XulhLc8iZMDcPi1VLFAE6qlYsxitKytlWCMLLU,2914
162
+ umap/static/umap/css/importers.css,sha256=m9OezQIOv55KcwU4_t1fouMKjFQOMG4ML1t33rXkT7s,1264
163
+ umap/static/umap/css/panel.css,sha256=QSw2lUur2AOzdJxoX604FszXDBJ_fCD4nilTQhab0Mg,2891
164
164
  umap/static/umap/css/tooltip.css,sha256=-hPbDSVn0cEHfNiBYtz-PlZ-bVBWVKg_8VnsEckYv3M,1384
165
165
  umap/static/umap/css/window.css,sha256=50MFWr9oU200f8-crTPJi3ZPG9h1eG5i6oOBP8yttBQ,808
166
166
  umap/static/umap/favicons/.DS_Store,sha256=1lFlJ5EFymdzGAUAaI30vcaaLHt3F1LwpG7xILf9jsM,6148
@@ -238,7 +238,7 @@ umap/static/umap/js/modules/facets.js,sha256=H7RtTKbpCMQa68GIRqkUtmKfDYqrv6pcTSL
238
238
  umap/static/umap/js/modules/global.js,sha256=IBFJfeOs9Dt3bM-6D7hzKuFPbIqcPFhp5XRViGcNmH4,1312
239
239
  umap/static/umap/js/modules/help.js,sha256=kNbDZM2RgVbC1d3HgJAELM2tadgulIFnTCdgveTmcNg,9850
240
240
  umap/static/umap/js/modules/i18n.js,sha256=dEpjsWoEZa-Tr5_MDO0tuWkt7kLL3crxXqhttyP-khU,1387
241
- umap/static/umap/js/modules/importer.js,sha256=8P-stI1hkDid7_RJw6ODDjpSCk1e668YGEX-O_TjR9k,8440
241
+ umap/static/umap/js/modules/importer.js,sha256=JXPksGEB6v05_vY4-ZTs-4BWg9qiDCglA7IlDdkGltU,8689
242
242
  umap/static/umap/js/modules/leaflet-configure.js,sha256=P3aD8iNGxuVNv-xW4Di4txAjNmnlpKtCCzDvPaKEdQ8,243
243
243
  umap/static/umap/js/modules/orderable.js,sha256=E3FgVeQG1iEnu56M7KIYOwV1ngNyrF8yXVEs0jExbjc,2518
244
244
  umap/static/umap/js/modules/request.js,sha256=Ax1h2dIW2rRiS93v78iHYVCBHTMIIp6RIomW-pk99Fs,3881
@@ -247,7 +247,7 @@ umap/static/umap/js/modules/schema.js,sha256=cJnZYuhkbv8GZcu8TocIyyWZtQy5RjOEoM7
247
247
  umap/static/umap/js/modules/urls.js,sha256=5r2xDllTHALs7LurFmCSXMN8YZzhOSYwoQrNsTx4Xq8,853
248
248
  umap/static/umap/js/modules/utils.js,sha256=h4NT-hsLo6gmusYiGjN2WYXvxRVXRRa781i1pWID910,10705
249
249
  umap/static/umap/js/modules/importers/communesfr.js,sha256=VtyPEh7MccPM0P1YoYFtBX4YLwk4LrxS5IhJFM3Vmwc,1273
250
- umap/static/umap/js/modules/importers/datasets.js,sha256=g9cviZ7BT8x55CiSFod4299if2uZEtjZndo9lbkUUCI,1301
250
+ umap/static/umap/js/modules/importers/datasets.js,sha256=SsIMNYcDy0s82prnTVXulevSTnaHLMWXldrKiU4E9MA,1379
251
251
  umap/static/umap/js/modules/importers/geodatamine.js,sha256=OCqw7OVmniJKkpAhAAeTf17KV47FF4oiueAq1UFxDSA,3076
252
252
  umap/static/umap/js/modules/importers/overpass.js,sha256=QDWZhi0S5xKTE13o5ISLxH-bkAheqMzcihRpLFkQgVY,2765
253
253
  umap/static/umap/js/modules/sync/engine.js,sha256=TPUi0H_WZZ7sEQ4UV--om5RgLHPxJdpKWVsuFIG_31Q,2584
@@ -289,8 +289,8 @@ umap/static/umap/locale/fa_IR.js,sha256=kz2VJKwVsy_LiydbaXa4d9RKeVVtp7eMX6QBABkY
289
289
  umap/static/umap/locale/fa_IR.json,sha256=bQyzFdyg-7hv7n_nGb537TZeolvlU0bAA-RY63TWlfk,34094
290
290
  umap/static/umap/locale/fi.js,sha256=sZImuGI33mkuF4zqOVzHLUXQVrmeqg2BvS-Yye3t0kE,29039
291
291
  umap/static/umap/locale/fi.json,sha256=gGumegoK89jiJJzxhfTB9b9RTAHZ5zvqO-wasarVX5Y,28974
292
- umap/static/umap/locale/fr.js,sha256=vZhezWDTAvWVcoi5GdKlgyW_tBpN-AGJi-L9GvzFYMo,30765
293
- umap/static/umap/locale/fr.json,sha256=URCW2F3tq4PCCXzhKay3VYnryfPOman-yqDH4Gc1pFM,30700
292
+ umap/static/umap/locale/fr.js,sha256=wJA7Bs9GW2IM-lR2rYkRhZrjpyW2-SBXLRjGx1V98dI,30779
293
+ umap/static/umap/locale/fr.json,sha256=h5KxcpkAZN5WFsdS5qEvdsX26kVLhlsnA5eAbJRCp-c,30714
294
294
  umap/static/umap/locale/gl.js,sha256=zF8UtVRHghXmEcDPkCrtgGedfXnAu8E-X0T-ZKilgeM,29588
295
295
  umap/static/umap/locale/gl.json,sha256=9Z-FgEGCeoR0lCEEeNfsLcpBrULEwI5EkMfvGp5ECG0,29523
296
296
  umap/static/umap/locale/he.js,sha256=OnRsbuDFhoj6FMnTTsx6wEHR-Eu6xgIRTfEow7rT7hs,31649
@@ -519,7 +519,7 @@ umap/tests/integration/test_edit_polygon.py,sha256=v6NaNtZLagP7A4M2I-jUF5qpy4XA6
519
519
  umap/tests/integration/test_export_map.py,sha256=Y_sgsT7ZTrrDCx5dLegioJ40GN_PtzK7yRFHTxtIb-4,12738
520
520
  umap/tests/integration/test_facets_browser.py,sha256=bsEpb4tXZtxF3tdmSZ0tGrOIIEhd1KSbmDQruuUQFic,10622
521
521
  umap/tests/integration/test_features_id_generation.py,sha256=e99_8AxeMAi53JjVGlsI32zlrXGAU19FHJfTuYdiBVQ,1511
522
- umap/tests/integration/test_import.py,sha256=mWBHsmmWx1GuIz1wrGxpJY_f_TRn3PDpxZC_5yYuVII,22026
522
+ umap/tests/integration/test_import.py,sha256=f9DlqGX2_wCWrk0KRM79XrLJDF4vL7xAzRpbfZtfQtI,23675
523
523
  umap/tests/integration/test_map.py,sha256=YvguclU6SFNDxbxio9lm8Jz4iXWDV9Ox43_ets4qbiA,7661
524
524
  umap/tests/integration/test_map_list.py,sha256=l1FImKnJkY7DupYX8waKaUZqhnORR20L8dzaqu-eF8E,1280
525
525
  umap/tests/integration/test_map_preview.py,sha256=4rPQF1zfiwqN7PvwFeB3OagR1wLEMbug0Omcd6zQShQ,2702
@@ -537,8 +537,8 @@ umap/tests/integration/test_view_marker.py,sha256=Y45rDzhScKsHz7_JgK46tRd29qrBLx
537
537
  umap/tests/integration/test_view_polygon.py,sha256=I7wR6DUrictIMrCPKajCrruJVLry4ZRDdjSs8q0XaOg,1829
538
538
  umap/tests/integration/test_view_polyline.py,sha256=n1QVIdl-Xg9yN9o-Jc6VnPhFAuUspsgY0odiUe_jJC4,1598
539
539
  umap/tests/integration/test_websocket_sync.py,sha256=r2qlo7KUdPbX58gMJDNg-C1ZuDNSNT105wOUA6GJRMI,10487
540
- umap_project-2.4.0b1.dist-info/METADATA,sha256=i0uZQSAsUaq66etOskqrJcamR1SZy_7YvgArRnz2mAg,2682
541
- umap_project-2.4.0b1.dist-info/WHEEL,sha256=9QBuHhg6FNW7lppboF2vKVbCGTVzsFykgRQjjlajrhA,87
542
- umap_project-2.4.0b1.dist-info/entry_points.txt,sha256=gz-KDQfEsMLBae8ABOD3foJsCYGPW1tA4Y394R_1RW8,39
543
- umap_project-2.4.0b1.dist-info/licenses/LICENSE,sha256=kQtrtRKgiPhcl7aO0-lmvbrNAXu7WHyiXvPrUk-TD2Q,820
544
- umap_project-2.4.0b1.dist-info/RECORD,,
540
+ umap_project-2.4.0b2.dist-info/METADATA,sha256=x-P2B8q5dhqqhGhJ1ze6cSTQ1K5_5pca1E434C6XL5U,2682
541
+ umap_project-2.4.0b2.dist-info/WHEEL,sha256=9QBuHhg6FNW7lppboF2vKVbCGTVzsFykgRQjjlajrhA,87
542
+ umap_project-2.4.0b2.dist-info/entry_points.txt,sha256=gz-KDQfEsMLBae8ABOD3foJsCYGPW1tA4Y394R_1RW8,39
543
+ umap_project-2.4.0b2.dist-info/licenses/LICENSE,sha256=kQtrtRKgiPhcl7aO0-lmvbrNAXu7WHyiXvPrUk-TD2Q,820
544
+ umap_project-2.4.0b2.dist-info/RECORD,,