umap-project 2.8.0a0__tar.gz → 2.8.0a1__tar.gz

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.

Potentially problematic release.


This version of umap-project might be problematic. Click here for more details.

Files changed (581) hide show
  1. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/PKG-INFO +1 -1
  2. umap_project-2.8.0a1/umap/__init__.py +1 -0
  3. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/management/commands/migrate_to_S3.py +3 -3
  4. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/settings/base.py +2 -2
  5. umap_project-2.8.0a1/umap/storage/__init__.py +3 -0
  6. umap_project-2.8.0a1/umap/storage/fs.py +101 -0
  7. umap_project-2.8.0a1/umap/storage/s3.py +61 -0
  8. umap_project-2.8.0a1/umap/storage/staticfiles.py +64 -0
  9. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/test_datalayer_s3.py +1 -1
  10. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/test_statics.py +1 -1
  11. umap_project-2.8.0a0/umap/__init__.py +0 -1
  12. umap_project-2.8.0a0/umap/storage.py +0 -216
  13. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/.gitignore +0 -0
  14. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/LICENSE +0 -0
  15. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/README.md +0 -0
  16. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/pyproject.toml +0 -0
  17. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/admin.py +0 -0
  18. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/apps.py +0 -0
  19. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/asgi.py +0 -0
  20. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/autocomplete.py +0 -0
  21. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/bin/__init__.py +0 -0
  22. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/context_processors.py +0 -0
  23. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/decorators.py +0 -0
  24. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/fields.py +0 -0
  25. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/forms.py +0 -0
  26. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/am_ET/LC_MESSAGES/django.mo +0 -0
  27. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/am_ET/LC_MESSAGES/django.po +0 -0
  28. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/ar/LC_MESSAGES/django.mo +0 -0
  29. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/ar/LC_MESSAGES/django.po +0 -0
  30. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/ast/LC_MESSAGES/django.mo +0 -0
  31. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/ast/LC_MESSAGES/django.po +0 -0
  32. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/bg/LC_MESSAGES/django.mo +0 -0
  33. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/bg/LC_MESSAGES/django.po +0 -0
  34. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/br/LC_MESSAGES/django.mo +0 -0
  35. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/br/LC_MESSAGES/django.po +0 -0
  36. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/ca/LC_MESSAGES/django.mo +0 -0
  37. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/ca/LC_MESSAGES/django.po +0 -0
  38. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/cs_CZ/LC_MESSAGES/django.mo +0 -0
  39. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/cs_CZ/LC_MESSAGES/django.po +0 -0
  40. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/da/LC_MESSAGES/django.mo +0 -0
  41. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/da/LC_MESSAGES/django.po +0 -0
  42. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/de/LC_MESSAGES/django.mo +0 -0
  43. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/de/LC_MESSAGES/django.po +0 -0
  44. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/el/LC_MESSAGES/django.mo +0 -0
  45. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/el/LC_MESSAGES/django.po +0 -0
  46. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/en/LC_MESSAGES/django.mo +0 -0
  47. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/en/LC_MESSAGES/django.po +0 -0
  48. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/es/LC_MESSAGES/django.mo +0 -0
  49. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/es/LC_MESSAGES/django.po +0 -0
  50. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/et/LC_MESSAGES/django.mo +0 -0
  51. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/et/LC_MESSAGES/django.po +0 -0
  52. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/eu/LC_MESSAGES/django.mo +0 -0
  53. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/eu/LC_MESSAGES/django.po +0 -0
  54. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/fa_IR/LC_MESSAGES/django.mo +0 -0
  55. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/fa_IR/LC_MESSAGES/django.po +0 -0
  56. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/fi/LC_MESSAGES/django.mo +0 -0
  57. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/fi/LC_MESSAGES/django.po +0 -0
  58. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/fr/LC_MESSAGES/django.mo +0 -0
  59. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/fr/LC_MESSAGES/django.po +0 -0
  60. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/gl/LC_MESSAGES/django.mo +0 -0
  61. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/gl/LC_MESSAGES/django.po +0 -0
  62. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/he/LC_MESSAGES/django.mo +0 -0
  63. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/he/LC_MESSAGES/django.po +0 -0
  64. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/hr/LC_MESSAGES/django.mo +0 -0
  65. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/hr/LC_MESSAGES/django.po +0 -0
  66. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/hu/LC_MESSAGES/django.mo +0 -0
  67. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/hu/LC_MESSAGES/django.po +0 -0
  68. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/id/LC_MESSAGES/django.mo +0 -0
  69. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/id/LC_MESSAGES/django.po +0 -0
  70. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/is/LC_MESSAGES/django.mo +0 -0
  71. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/is/LC_MESSAGES/django.po +0 -0
  72. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/it/LC_MESSAGES/django.mo +0 -0
  73. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/it/LC_MESSAGES/django.po +0 -0
  74. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/ja/LC_MESSAGES/django.mo +0 -0
  75. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/ja/LC_MESSAGES/django.po +0 -0
  76. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/ko/LC_MESSAGES/django.mo +0 -0
  77. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/ko/LC_MESSAGES/django.po +0 -0
  78. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/lt/LC_MESSAGES/django.mo +0 -0
  79. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/lt/LC_MESSAGES/django.po +0 -0
  80. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/ms/LC_MESSAGES/django.mo +0 -0
  81. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/ms/LC_MESSAGES/django.po +0 -0
  82. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/nl/LC_MESSAGES/django.mo +0 -0
  83. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/nl/LC_MESSAGES/django.po +0 -0
  84. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/no/LC_MESSAGES/django.mo +0 -0
  85. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/no/LC_MESSAGES/django.po +0 -0
  86. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/pl/LC_MESSAGES/django.mo +0 -0
  87. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/pl/LC_MESSAGES/django.po +0 -0
  88. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/pt/LC_MESSAGES/django.mo +0 -0
  89. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/pt/LC_MESSAGES/django.po +0 -0
  90. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/pt_BR/LC_MESSAGES/django.mo +0 -0
  91. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/pt_BR/LC_MESSAGES/django.po +0 -0
  92. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/pt_PT/LC_MESSAGES/django.mo +0 -0
  93. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/pt_PT/LC_MESSAGES/django.po +0 -0
  94. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/ro/LC_MESSAGES/django.mo +0 -0
  95. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/ro/LC_MESSAGES/django.po +0 -0
  96. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/ru/LC_MESSAGES/django.mo +0 -0
  97. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/ru/LC_MESSAGES/django.po +0 -0
  98. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/si/LC_MESSAGES/django.mo +0 -0
  99. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/si/LC_MESSAGES/django.po +0 -0
  100. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/sk_SK/LC_MESSAGES/django.mo +0 -0
  101. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/sk_SK/LC_MESSAGES/django.po +0 -0
  102. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/sl/LC_MESSAGES/django.mo +0 -0
  103. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/sl/LC_MESSAGES/django.po +0 -0
  104. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/sr/LC_MESSAGES/django.mo +0 -0
  105. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/sr/LC_MESSAGES/django.po +0 -0
  106. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/sv/LC_MESSAGES/django.mo +0 -0
  107. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/sv/LC_MESSAGES/django.po +0 -0
  108. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/th_TH/LC_MESSAGES/django.mo +0 -0
  109. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/th_TH/LC_MESSAGES/django.po +0 -0
  110. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/tr/LC_MESSAGES/django.mo +0 -0
  111. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/tr/LC_MESSAGES/django.po +0 -0
  112. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/uk_UA/LC_MESSAGES/django.mo +0 -0
  113. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/uk_UA/LC_MESSAGES/django.po +0 -0
  114. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/vi/LC_MESSAGES/django.mo +0 -0
  115. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/vi/LC_MESSAGES/django.po +0 -0
  116. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/zh/LC_MESSAGES/django.mo +0 -0
  117. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/zh/LC_MESSAGES/django.po +0 -0
  118. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/zh_TW/LC_MESSAGES/django.mo +0 -0
  119. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/locale/zh_TW/LC_MESSAGES/django.po +0 -0
  120. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/management/__init__.py +0 -0
  121. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/management/commands/__init__.py +0 -0
  122. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/management/commands/anonymous_edit_url.py +0 -0
  123. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/management/commands/clean_tilelayer.py +0 -0
  124. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/management/commands/empty_trash.py +0 -0
  125. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/management/commands/generate_js_locale.py +0 -0
  126. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/management/commands/import_pictograms.py +0 -0
  127. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/management/commands/run_websocket_server.py +0 -0
  128. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/managers.py +0 -0
  129. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/middleware.py +0 -0
  130. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/migrations/0001_initial.py +0 -0
  131. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/migrations/0002_tilelayer_tms.py +0 -0
  132. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/migrations/0003_add_tilelayer.py +0 -0
  133. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/migrations/0004_add_licence.py +0 -0
  134. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/migrations/0005_remove_map_tilelayer.py +0 -0
  135. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/migrations/0006_auto_20190407_0719.py +0 -0
  136. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/migrations/0007_auto_20190416_1757.py +0 -0
  137. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/migrations/0008_alter_map_settings.py +0 -0
  138. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/migrations/0009_star.py +0 -0
  139. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/migrations/0010_alter_map_edit_status_alter_map_share_status.py +0 -0
  140. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/migrations/0011_alter_map_edit_status_alter_map_share_status.py +0 -0
  141. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/migrations/0012_datalayer_settings.py +0 -0
  142. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/migrations/0013_datalayer_edit_status.py +0 -0
  143. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/migrations/0014_map_created_at.py +0 -0
  144. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/migrations/0015_alter_pictogram_pictogram.py +0 -0
  145. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/migrations/0016_pictogram_category.py +0 -0
  146. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/migrations/0017_migrate_to_openstreetmap_oauth2.py +0 -0
  147. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/migrations/0018_datalayer_uuid.py +0 -0
  148. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/migrations/0019_migrate_internal_remote_datalayers.py +0 -0
  149. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/migrations/0020_alter_tilelayer_url_template.py +0 -0
  150. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/migrations/0021_remove_map_description.py +0 -0
  151. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/migrations/0022_add_team.py +0 -0
  152. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/migrations/0023_alter_datalayer_uuid.py +0 -0
  153. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/migrations/0024_alter_map_share_status.py +0 -0
  154. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/migrations/0025_alter_datalayer_geojson.py +0 -0
  155. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/migrations/__init__.py +0 -0
  156. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/models.py +0 -0
  157. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/settings/__init__.py +0 -0
  158. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/settings/dev.py +0 -0
  159. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/settings/local.py.sample +0 -0
  160. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/.gitignore +0 -0
  161. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/base.css +0 -0
  162. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/bitbucket.png +0 -0
  163. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/content.css +0 -0
  164. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/css/bar.css +0 -0
  165. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/css/contextmenu.css +0 -0
  166. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/css/dialog.css +0 -0
  167. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/css/form.css +0 -0
  168. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/css/icon.css +0 -0
  169. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/css/importers.css +0 -0
  170. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/css/panel.css +0 -0
  171. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/css/popup.css +0 -0
  172. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/css/slideshow.css +0 -0
  173. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/css/tableeditor.css +0 -0
  174. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/css/tooltip.css +0 -0
  175. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/css/window.css +0 -0
  176. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/favicons/apple-touch-icon.png +0 -0
  177. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/favicons/favicon.ico +0 -0
  178. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/favicons/icon-192.png +0 -0
  179. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/favicons/icon-512.png +0 -0
  180. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/favicons/icon.svg +0 -0
  181. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/font/FiraSans-Light.woff +0 -0
  182. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/font/FiraSans-Light.woff2 +0 -0
  183. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/font/FiraSans-LightItalic.woff +0 -0
  184. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/font/FiraSans-LightItalic.woff2 +0 -0
  185. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/font/FiraSans-SemiBold.woff +0 -0
  186. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/font/FiraSans-SemiBold.woff2 +0 -0
  187. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/font.css +0 -0
  188. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/github.png +0 -0
  189. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/img/16-white.svg +0 -0
  190. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/img/16.svg +0 -0
  191. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/img/24-white.svg +0 -0
  192. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/img/24.svg +0 -0
  193. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/img/alert-icon-error.svg +0 -0
  194. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/img/alert-icon-info.svg +0 -0
  195. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/img/alert-icon-success.svg +0 -0
  196. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/img/edit.svg +0 -0
  197. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/img/icon-bg.png +0 -0
  198. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/img/icon-delete.svg +0 -0
  199. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/img/icon-download.svg +0 -0
  200. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/img/icon-duplicate.svg +0 -0
  201. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/img/icon-edit.svg +0 -0
  202. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/img/icon-external-link.svg +0 -0
  203. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/img/icon-share.svg +0 -0
  204. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/img/icon-view.svg +0 -0
  205. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/img/importers/cadastrefr.svg +0 -0
  206. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/img/importers/communesfr.svg +0 -0
  207. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/img/importers/datasets.svg +0 -0
  208. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/img/importers/geodatamine.svg +0 -0
  209. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/img/importers/overpass.svg +0 -0
  210. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/img/importers/random.svg +0 -0
  211. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/img/importers/random1.svg +0 -0
  212. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/img/importers/random2.svg +0 -0
  213. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/img/logo.svg +0 -0
  214. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/img/logo_filigree.png +0 -0
  215. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/img/logo_small.svg +0 -0
  216. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/img/marker.png +0 -0
  217. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/img/marker.svg +0 -0
  218. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/img/opensource.svg +0 -0
  219. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/img/osm.svg +0 -0
  220. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/img/search.gif +0 -0
  221. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/img/source/16-white.svg +0 -0
  222. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/img/source/16.svg +0 -0
  223. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/img/source/24-white.svg +0 -0
  224. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/img/source/24.svg +0 -0
  225. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/components/alerts/alert.css +0 -0
  226. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/components/alerts/alert.js +0 -0
  227. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/components/base.js +0 -0
  228. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/components/fragment.js +0 -0
  229. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/autocomplete.js +0 -0
  230. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/browser.js +0 -0
  231. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/caption.js +0 -0
  232. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/data/features.js +0 -0
  233. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/data/layer.js +0 -0
  234. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/dompurify.js +0 -0
  235. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/facets.js +0 -0
  236. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/formatter.js +0 -0
  237. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/global.js +0 -0
  238. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/help.js +0 -0
  239. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/i18n.js +0 -0
  240. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/importer.js +0 -0
  241. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/importers/cadastrefr.js +0 -0
  242. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/importers/communesfr.js +0 -0
  243. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/importers/datasets.js +0 -0
  244. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/importers/geodatamine.js +0 -0
  245. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/importers/overpass.js +0 -0
  246. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/leaflet-configure.js +0 -0
  247. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/orderable.js +0 -0
  248. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/permissions.js +0 -0
  249. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/rendering/icon.js +0 -0
  250. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/rendering/layers/base.js +0 -0
  251. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/rendering/layers/classified.js +0 -0
  252. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/rendering/layers/cluster.js +0 -0
  253. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/rendering/layers/heat.js +0 -0
  254. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/rendering/map.js +0 -0
  255. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/rendering/popup.js +0 -0
  256. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/rendering/template.js +0 -0
  257. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/rendering/ui.js +0 -0
  258. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/request.js +0 -0
  259. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/rules.js +0 -0
  260. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/saving.js +0 -0
  261. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/schema.js +0 -0
  262. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/share.js +0 -0
  263. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/slideshow.js +0 -0
  264. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/sync/engine.js +0 -0
  265. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/sync/hlc.js +0 -0
  266. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/sync/updaters.js +0 -0
  267. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/sync/websocket.js +0 -0
  268. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/tableeditor.js +0 -0
  269. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/ui/bar.js +0 -0
  270. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/ui/base.js +0 -0
  271. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/ui/contextmenu.js +0 -0
  272. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/ui/dialog.js +0 -0
  273. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/ui/panel.js +0 -0
  274. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/ui/tooltip.js +0 -0
  275. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/umap.js +0 -0
  276. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/urls.js +0 -0
  277. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/modules/utils.js +0 -0
  278. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/umap.controls.js +0 -0
  279. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/umap.core.js +0 -0
  280. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/js/umap.forms.js +0 -0
  281. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/keycloak.png +0 -0
  282. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/am_ET.js +0 -0
  283. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/am_ET.json +0 -0
  284. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/ar.js +0 -0
  285. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/ar.json +0 -0
  286. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/ast.js +0 -0
  287. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/ast.json +0 -0
  288. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/bg.js +0 -0
  289. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/bg.json +0 -0
  290. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/br.js +0 -0
  291. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/br.json +0 -0
  292. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/ca.js +0 -0
  293. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/ca.json +0 -0
  294. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/cs_CZ.js +0 -0
  295. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/cs_CZ.json +0 -0
  296. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/da.js +0 -0
  297. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/da.json +0 -0
  298. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/de.js +0 -0
  299. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/de.json +0 -0
  300. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/el.js +0 -0
  301. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/el.json +0 -0
  302. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/en.js +0 -0
  303. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/en.json +0 -0
  304. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/en_US.json +0 -0
  305. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/es.js +0 -0
  306. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/es.json +0 -0
  307. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/et.js +0 -0
  308. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/et.json +0 -0
  309. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/eu.js +0 -0
  310. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/eu.json +0 -0
  311. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/fa_IR.js +0 -0
  312. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/fa_IR.json +0 -0
  313. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/fi.js +0 -0
  314. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/fi.json +0 -0
  315. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/fr.js +0 -0
  316. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/fr.json +0 -0
  317. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/gl.js +0 -0
  318. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/gl.json +0 -0
  319. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/he.js +0 -0
  320. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/he.json +0 -0
  321. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/hr.js +0 -0
  322. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/hr.json +0 -0
  323. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/hu.js +0 -0
  324. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/hu.json +0 -0
  325. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/id.js +0 -0
  326. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/id.json +0 -0
  327. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/is.js +0 -0
  328. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/is.json +0 -0
  329. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/it.js +0 -0
  330. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/it.json +0 -0
  331. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/ja.js +0 -0
  332. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/ja.json +0 -0
  333. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/ko.js +0 -0
  334. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/ko.json +0 -0
  335. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/lt.js +0 -0
  336. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/lt.json +0 -0
  337. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/ms.js +0 -0
  338. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/ms.json +0 -0
  339. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/nl.js +0 -0
  340. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/nl.json +0 -0
  341. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/no.js +0 -0
  342. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/no.json +0 -0
  343. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/pl.js +0 -0
  344. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/pl.json +0 -0
  345. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/pl_PL.json +0 -0
  346. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/pt.js +0 -0
  347. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/pt.json +0 -0
  348. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/pt_BR.js +0 -0
  349. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/pt_BR.json +0 -0
  350. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/pt_PT.js +0 -0
  351. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/pt_PT.json +0 -0
  352. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/ro.js +0 -0
  353. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/ro.json +0 -0
  354. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/ru.js +0 -0
  355. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/ru.json +0 -0
  356. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/si.js +0 -0
  357. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/si.json +0 -0
  358. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/sk_SK.js +0 -0
  359. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/sk_SK.json +0 -0
  360. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/sl.js +0 -0
  361. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/sl.json +0 -0
  362. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/sr.js +0 -0
  363. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/sr.json +0 -0
  364. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/sv.js +0 -0
  365. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/sv.json +0 -0
  366. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/th_TH.js +0 -0
  367. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/th_TH.json +0 -0
  368. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/tr.js +0 -0
  369. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/tr.json +0 -0
  370. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/uk_UA.js +0 -0
  371. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/uk_UA.json +0 -0
  372. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/vi.js +0 -0
  373. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/vi.json +0 -0
  374. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/vi_VN.json +0 -0
  375. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/zh.js +0 -0
  376. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/zh.json +0 -0
  377. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/zh_CN.json +0 -0
  378. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/zh_TW.Big5.json +0 -0
  379. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/zh_TW.js +0 -0
  380. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/locale/zh_TW.json +0 -0
  381. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/map.css +0 -0
  382. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/nav.css +0 -0
  383. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/openstreetmap.png +0 -0
  384. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/test/.eslintrc +0 -0
  385. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/test/DataLayer.js +0 -0
  386. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/test/Feature.js +0 -0
  387. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/test/Map.js +0 -0
  388. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/test/Marker.js +0 -0
  389. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/test/Polygon.js +0 -0
  390. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/test/Polyline.js +0 -0
  391. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/test/Util.js +0 -0
  392. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/test/_pre.js +0 -0
  393. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/test/index.html +0 -0
  394. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/theme.css +0 -0
  395. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/twitter.png +0 -0
  396. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/unittests/URLs.js +0 -0
  397. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/unittests/hlc.js +0 -0
  398. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/unittests/sync.js +0 -0
  399. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/unittests/utils.js +0 -0
  400. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vars.css +0 -0
  401. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/colorbrewer/colorbrewer.js +0 -0
  402. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/csv2geojson/csv2geojson.js +0 -0
  403. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/dompurify/purify.es.js +0 -0
  404. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/dompurify/purify.es.mjs.map +0 -0
  405. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/editable/Leaflet.Editable.js +0 -0
  406. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/editable/Path.Drag.js +0 -0
  407. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/editinosm/Leaflet.EditInOSM.css +0 -0
  408. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/editinosm/Leaflet.EditInOSM.js +0 -0
  409. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/editinosm/edit-in-osm.png +0 -0
  410. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/formbuilder/Leaflet.FormBuilder.js +0 -0
  411. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/fullscreen/Leaflet.fullscreen.js +0 -0
  412. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/fullscreen/Leaflet.fullscreen.min.js +0 -0
  413. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/fullscreen/fullscreen.png +0 -0
  414. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/fullscreen/fullscreen@2x.png +0 -0
  415. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/fullscreen/leaflet.fullscreen.css +0 -0
  416. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/geojson-to-gpx/index.js +0 -0
  417. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/georsstogeojson/GeoRSSToGeoJSON.js +0 -0
  418. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/hash/leaflet-hash.js +0 -0
  419. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/heat/leaflet-heat.js +0 -0
  420. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/i18n/Leaflet.i18n.js +0 -0
  421. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/iconlayers/check.png +0 -0
  422. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/iconlayers/iconLayers.css +0 -0
  423. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/iconlayers/iconLayers.js +0 -0
  424. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/iconlayers/transparent-pixel.png +0 -0
  425. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/leaflet/images/layers-2x.png +0 -0
  426. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/leaflet/images/layers.png +0 -0
  427. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/leaflet/images/marker-icon-2x.png +0 -0
  428. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/leaflet/images/marker-icon.png +0 -0
  429. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/leaflet/images/marker-shadow.png +0 -0
  430. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/leaflet/leaflet-src.esm.js +0 -0
  431. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/leaflet/leaflet-src.esm.js.map +0 -0
  432. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/leaflet/leaflet.css +0 -0
  433. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/loading/Control.Loading.css +0 -0
  434. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/loading/Control.Loading.js +0 -0
  435. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/locatecontrol/L.Control.Locate.min.css +0 -0
  436. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/locatecontrol/L.Control.Locate.min.css.map +0 -0
  437. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/locatecontrol/L.Control.Locate.min.js +0 -0
  438. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/locatecontrol/L.Control.Locate.min.js.map +0 -0
  439. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/markercluster/MarkerCluster.Default.css +0 -0
  440. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/markercluster/MarkerCluster.css +0 -0
  441. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/markercluster/leaflet.markercluster.js +0 -0
  442. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/markercluster/leaflet.markercluster.js.map +0 -0
  443. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/measurable/Leaflet.Measurable.css +0 -0
  444. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/measurable/Leaflet.Measurable.js +0 -0
  445. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/minimap/Control.MiniMap.min.css +0 -0
  446. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/minimap/Control.MiniMap.min.js +0 -0
  447. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/minimap/images/toggle.png +0 -0
  448. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/minimap/images/toggle.svg +0 -0
  449. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/osmtogeojson/osmtogeojson.js +0 -0
  450. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/photon/leaflet.photon.js +0 -0
  451. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/simple-statistics/simple-statistics.min.js +0 -0
  452. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/simple-statistics/simple-statistics.min.js.map +0 -0
  453. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/togeojson/togeojson.es.js +0 -0
  454. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/togeojson/togeojson.es.mjs.map +0 -0
  455. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/tokml/tokml.es.js +0 -0
  456. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/tokml/tokml.es.mjs.map +0 -0
  457. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/toolbar/leaflet.toolbar.css +0 -0
  458. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/static/umap/vendors/toolbar/leaflet.toolbar.js +0 -0
  459. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/templates/404.html +0 -0
  460. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/templates/500.html +0 -0
  461. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/templates/auth/user_detail.html +0 -0
  462. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/templates/auth/user_form.html +0 -0
  463. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/templates/auth/user_stars.html +0 -0
  464. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/templates/base.html +0 -0
  465. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/templates/registration/login.html +0 -0
  466. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/templates/umap/about.html +0 -0
  467. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/templates/umap/about_summary.html +0 -0
  468. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/templates/umap/branding.html +0 -0
  469. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/templates/umap/components/alerts/alert.html +0 -0
  470. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/templates/umap/content.html +0 -0
  471. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/templates/umap/content_footer.html +0 -0
  472. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/templates/umap/css.html +0 -0
  473. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/templates/umap/dashboard_menu.html +0 -0
  474. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/templates/umap/footer.html +0 -0
  475. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/templates/umap/header.html +0 -0
  476. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/templates/umap/home.html +0 -0
  477. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/templates/umap/js.html +0 -0
  478. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/templates/umap/locale.js +0 -0
  479. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/templates/umap/login_popup_end.html +0 -0
  480. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/templates/umap/map_detail.html +0 -0
  481. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/templates/umap/map_fragment.html +0 -0
  482. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/templates/umap/map_init.html +0 -0
  483. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/templates/umap/map_list.html +0 -0
  484. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/templates/umap/map_table.html +0 -0
  485. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/templates/umap/messages.html +0 -0
  486. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/templates/umap/navigation.html +0 -0
  487. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/templates/umap/password_change.html +0 -0
  488. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/templates/umap/password_change_done.html +0 -0
  489. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/templates/umap/search.html +0 -0
  490. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/templates/umap/search_bar.html +0 -0
  491. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/templates/umap/success.html +0 -0
  492. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/templates/umap/team_confirm_delete.html +0 -0
  493. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/templates/umap/team_detail.html +0 -0
  494. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/templates/umap/team_form.html +0 -0
  495. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/templates/umap/user_dashboard.html +0 -0
  496. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/templates/umap/user_teams.html +0 -0
  497. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/templatetags/__init__.py +0 -0
  498. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/templatetags/umap_tags.py +0 -0
  499. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/__init__.py +0 -0
  500. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/base.py +0 -0
  501. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/conftest.py +0 -0
  502. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/fixtures/categorized_highway.geojson +0 -0
  503. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/fixtures/choropleth_region_chomage.geojson +0 -0
  504. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/fixtures/circle.svg +0 -0
  505. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/fixtures/display_on_load.umap +0 -0
  506. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/fixtures/empty_tile.png +0 -0
  507. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/fixtures/star.svg +0 -0
  508. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/fixtures/test_circles_layer.geojson +0 -0
  509. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/fixtures/test_import_osm_relation.json +0 -0
  510. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/fixtures/test_upload_data.csv +0 -0
  511. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/fixtures/test_upload_data.gpx +0 -0
  512. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/fixtures/test_upload_data.json +0 -0
  513. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/fixtures/test_upload_data.kml +0 -0
  514. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/fixtures/test_upload_data.umap +0 -0
  515. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/fixtures/test_upload_data_osm.json +0 -0
  516. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/fixtures/test_upload_empty_coordinates.json +0 -0
  517. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/fixtures/test_upload_georss.xml +0 -0
  518. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/fixtures/test_upload_missing_name.json +0 -0
  519. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/fixtures/test_upload_non_linear_ring.json +0 -0
  520. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/integration/__init__.py +0 -0
  521. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/integration/conftest.py +0 -0
  522. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/integration/helpers.py +0 -0
  523. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/integration/test_anonymous_owned_map.py +0 -0
  524. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/integration/test_basics.py +0 -0
  525. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/integration/test_browser.py +0 -0
  526. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/integration/test_caption.py +0 -0
  527. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/integration/test_categorized_layer.py +0 -0
  528. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/integration/test_choropleth.py +0 -0
  529. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/integration/test_circles_layer.py +0 -0
  530. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/integration/test_cluster.py +0 -0
  531. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/integration/test_conditional_rules.py +0 -0
  532. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/integration/test_dashboard.py +0 -0
  533. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/integration/test_datalayer.py +0 -0
  534. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/integration/test_draw_polygon.py +0 -0
  535. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/integration/test_draw_polyline.py +0 -0
  536. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/integration/test_edit_datalayer.py +0 -0
  537. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/integration/test_edit_map.py +0 -0
  538. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/integration/test_edit_marker.py +0 -0
  539. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/integration/test_edit_polygon.py +0 -0
  540. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/integration/test_export_map.py +0 -0
  541. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/integration/test_facets_browser.py +0 -0
  542. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/integration/test_features_id_generation.py +0 -0
  543. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/integration/test_import.py +0 -0
  544. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/integration/test_map.py +0 -0
  545. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/integration/test_map_list.py +0 -0
  546. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/integration/test_map_preview.py +0 -0
  547. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/integration/test_optimistic_merge.py +0 -0
  548. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/integration/test_owned_map.py +0 -0
  549. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/integration/test_picto.py +0 -0
  550. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/integration/test_popup.py +0 -0
  551. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/integration/test_querystring.py +0 -0
  552. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/integration/test_save.py +0 -0
  553. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/integration/test_share.py +0 -0
  554. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/integration/test_slideshow.py +0 -0
  555. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/integration/test_star.py +0 -0
  556. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/integration/test_tableeditor.py +0 -0
  557. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/integration/test_team.py +0 -0
  558. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/integration/test_tilelayer.py +0 -0
  559. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/integration/test_view_marker.py +0 -0
  560. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/integration/test_view_polygon.py +0 -0
  561. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/integration/test_view_polyline.py +0 -0
  562. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/integration/test_websocket_sync.py +0 -0
  563. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/settings.py +0 -0
  564. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/test_clean_tilelayer.py +0 -0
  565. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/test_datalayer.py +0 -0
  566. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/test_datalayer_views.py +0 -0
  567. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/test_empty_trash.py +0 -0
  568. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/test_licence.py +0 -0
  569. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/test_map.py +0 -0
  570. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/test_map_views.py +0 -0
  571. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/test_merge_features.py +0 -0
  572. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/test_team_views.py +0 -0
  573. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/test_tilelayer.py +0 -0
  574. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/test_utils.py +0 -0
  575. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/test_views.py +0 -0
  576. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/tests/test_websocket_server.py +0 -0
  577. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/urls.py +0 -0
  578. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/utils.py +0 -0
  579. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/views.py +0 -0
  580. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/websocket_server.py +0 -0
  581. {umap_project-2.8.0a0 → umap_project-2.8.0a1}/umap/wsgi.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: umap-project
3
- Version: 2.8.0a0
3
+ Version: 2.8.0a1
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>
@@ -0,0 +1 @@
1
+ VERSION = "2.8.0a1"
@@ -2,7 +2,7 @@ from django.conf import settings
2
2
  from django.core.management.base import BaseCommand
3
3
 
4
4
  from umap.models import DataLayer
5
- from umap.storage import UmapFileSystem
5
+ from umap.storage.fs import FSDataStorage
6
6
 
7
7
 
8
8
  class Command(BaseCommand):
@@ -11,9 +11,9 @@ class Command(BaseCommand):
11
11
  def handle(self, *args, **options):
12
12
  assert settings.UMAP_READONLY, "You must run that script with a read-only uMap."
13
13
  assert (
14
- settings.STORAGES["data"]["BACKEND"] == "umap.storage.UmapS3"
14
+ settings.STORAGES["data"]["BACKEND"] == "umap.storage.s3.S3DataStorage"
15
15
  ), "You must configure your storages to point to S3"
16
- fs_storage = UmapFileSystem()
16
+ fs_storage = FSDataStorage()
17
17
  for datalayer in DataLayer.objects.all():
18
18
  geojson_fs_path = str(datalayer.geojson)
19
19
  try:
@@ -176,10 +176,10 @@ STORAGES = {
176
176
  "BACKEND": "django.core.files.storage.FileSystemStorage",
177
177
  },
178
178
  "data": {
179
- "BACKEND": "umap.storage.UmapFileSystem",
179
+ "BACKEND": "umap.storage.fs.FSDataStorage",
180
180
  },
181
181
  "staticfiles": {
182
- "BACKEND": "umap.storage.UmapManifestStaticFilesStorage",
182
+ "BACKEND": "umap.storage.staticfiles.UmapManifestStaticFilesStorage",
183
183
  },
184
184
  }
185
185
  # Add application/json and application/geo+json to default django-storages setting
@@ -0,0 +1,3 @@
1
+ # Retrocompat
2
+
3
+ from .staticfiles import UmapManifestStaticFilesStorage # noqa: F401
@@ -0,0 +1,101 @@
1
+ import operator
2
+ import os
3
+ import time
4
+ from pathlib import Path
5
+
6
+ from django.conf import settings
7
+ from django.core.files.storage import FileSystemStorage
8
+
9
+
10
+ class FSDataStorage(FileSystemStorage):
11
+ def get_reference_version(self, instance):
12
+ return self._extract_version_ref(instance.geojson.name)
13
+
14
+ def make_filename(self, instance):
15
+ root = self._base_path(instance)
16
+ name = "%s_%s.geojson" % (instance.pk, int(time.time() * 1000))
17
+ return root / name
18
+
19
+ def list_versions(self, instance):
20
+ root = self._base_path(instance)
21
+ names = self.listdir(root)[1]
22
+ names = [name for name in names if self._is_valid_version(name, instance)]
23
+ versions = [self._version_metadata(name, instance) for name in names]
24
+ versions.sort(reverse=True, key=operator.itemgetter("at"))
25
+ return versions
26
+
27
+ def get_version(self, ref, instance):
28
+ with self.open(self.get_version_path(ref, instance), "r") as f:
29
+ return f.read()
30
+
31
+ def get_version_path(self, ref, instance):
32
+ base_path = Path(settings.MEDIA_ROOT) / self._base_path(instance)
33
+ fullpath = base_path / f"{instance.pk}_{ref}.geojson"
34
+ if instance.old_id and not fullpath.exists():
35
+ fullpath = base_path / f"{instance.old_id}_{ref}.geojson"
36
+ if not fullpath.exists():
37
+ raise ValueError(f"Invalid version reference: {ref}")
38
+ return fullpath
39
+
40
+ def onDatalayerSave(self, instance):
41
+ self._purge_gzip(instance)
42
+ self._purge_old_versions(instance, keep=settings.UMAP_KEEP_VERSIONS)
43
+
44
+ def onDatalayerDelete(self, instance):
45
+ self._purge_gzip(instance)
46
+ self._purge_old_versions(instance, keep=None)
47
+
48
+ def _extract_version_ref(self, path):
49
+ version = path.split(".")[0]
50
+ if "_" in version:
51
+ return version.split("_")[-1]
52
+ return version
53
+
54
+ def _base_path(self, instance):
55
+ path = ["datalayer", str(instance.map.pk)[-1]]
56
+ if len(str(instance.map.pk)) > 1:
57
+ path.append(str(instance.map.pk)[-2])
58
+ path.append(str(instance.map.pk))
59
+ return Path(os.path.join(*path))
60
+
61
+ def _is_valid_version(self, name, instance):
62
+ valid_prefixes = [name.startswith("%s_" % instance.pk)]
63
+ if instance.old_id:
64
+ valid_prefixes.append(name.startswith("%s_" % instance.old_id))
65
+ return any(valid_prefixes) and name.endswith(".geojson")
66
+
67
+ def _version_metadata(self, name, instance):
68
+ ref = self._extract_version_ref(name)
69
+ return {
70
+ "name": name,
71
+ "ref": ref,
72
+ "at": ref,
73
+ "size": self.size(self._base_path(instance) / name),
74
+ }
75
+
76
+ def _purge_old_versions(self, instance, keep=None):
77
+ root = self._base_path(instance)
78
+ versions = self.list_versions(instance)
79
+ if keep is not None:
80
+ versions = versions[keep:]
81
+ for version in versions:
82
+ name = version["name"]
83
+ # Should not be in the list, but ensure to not delete the file
84
+ # currently used in database
85
+ if keep is not None and instance.geojson.name.endswith(name):
86
+ continue
87
+ try:
88
+ self.delete(root / name)
89
+ except FileNotFoundError:
90
+ pass
91
+
92
+ def _purge_gzip(self, instance):
93
+ root = self._base_path(instance)
94
+ names = self.listdir(root)[1]
95
+ prefixes = [f"{instance.pk}_"]
96
+ if instance.old_id:
97
+ prefixes.append(f"{instance.old_id}_")
98
+ prefixes = tuple(prefixes)
99
+ for name in names:
100
+ if name.startswith(prefixes) and name.endswith(".gz"):
101
+ self.delete(root / name)
@@ -0,0 +1,61 @@
1
+ from gzip import GzipFile
2
+
3
+ from django.core.exceptions import ImproperlyConfigured
4
+
5
+ try:
6
+ from botocore.exceptions import ClientError
7
+ from storages.backends.s3 import S3Storage
8
+ except ImportError:
9
+ raise ImproperlyConfigured(
10
+ "You need to install s3 dependencies: pip install umap-project[s3]"
11
+ )
12
+
13
+
14
+ class S3DataStorage(S3Storage):
15
+ gzip = True
16
+
17
+ def get_reference_version(self, instance):
18
+ metadata = self.connection.meta.client.head_object(
19
+ Bucket=self.bucket_name, Key=instance.geojson.name
20
+ )
21
+ # Do not fail if bucket does not handle versioning
22
+ return metadata.get("VersionId", metadata["ETag"])
23
+
24
+ def make_filename(self, instance):
25
+ return f"{str(instance.pk)}.geojson"
26
+
27
+ def list_versions(self, instance):
28
+ response = self.connection.meta.client.list_object_versions(
29
+ Bucket=self.bucket_name, Prefix=instance.geojson.name
30
+ )
31
+ return [
32
+ {
33
+ "ref": version["VersionId"],
34
+ "at": version["LastModified"].timestamp() * 1000,
35
+ "size": version["Size"],
36
+ }
37
+ for version in response["Versions"]
38
+ ]
39
+
40
+ def get_version(self, ref, instance):
41
+ try:
42
+ data = self.connection.meta.client.get_object(
43
+ Bucket=self.bucket_name,
44
+ Key=instance.geojson.name,
45
+ VersionId=ref,
46
+ )
47
+ except ClientError:
48
+ raise ValueError(f"Invalid version reference: {ref}")
49
+ return GzipFile(mode="r", fileobj=data["Body"]).read()
50
+
51
+ def get_version_path(self, ref, instance):
52
+ return self.url(instance.geojson.name, parameters={"VersionId": ref})
53
+
54
+ def onDatalayerSave(self, instance):
55
+ pass
56
+
57
+ def onDatalayerDelete(self, instance):
58
+ return self.connection.meta.client.delete_object(
59
+ Bucket=self.bucket_name,
60
+ Key=instance.geojson.name,
61
+ )
@@ -0,0 +1,64 @@
1
+ from pathlib import Path
2
+
3
+ from django.conf import settings
4
+ from django.contrib.staticfiles.storage import ManifestStaticFilesStorage
5
+ from rcssmin import cssmin
6
+ from rjsmin import jsmin
7
+
8
+
9
+ class UmapManifestStaticFilesStorage(ManifestStaticFilesStorage):
10
+ support_js_module_import_aggregation = True
11
+ max_post_process_passes = 15
12
+
13
+ # We remove `;` at the end of all regexps to match our biome config.
14
+ _js_module_import_aggregation_patterns = (
15
+ "*.js",
16
+ (
17
+ (
18
+ (
19
+ r"""(?P<matched>import(?s:(?P<import>[\s\{].*?))"""
20
+ r"""\s*from\s*['"](?P<url>[\.\/].*?)["']\s*)"""
21
+ ),
22
+ 'import%(import)s from "%(url)s"\n',
23
+ ),
24
+ (
25
+ (
26
+ r"""(?P<matched>export(?s:(?P<exports>[\s\{].*?))"""
27
+ r"""\s*from\s*["'](?P<url>[\.\/].*?)["']\s*)"""
28
+ ),
29
+ 'export%(exports)s from "%(url)s"\n',
30
+ ),
31
+ (
32
+ r"""(?P<matched>import\s*['"](?P<url>[\.\/].*?)["']\s*)""",
33
+ 'import"%(url)s"\n',
34
+ ),
35
+ (
36
+ r"""(?P<matched>import\(["'](?P<url>.*?)["']\)\.then)""",
37
+ """import("%(url)s").then""",
38
+ ),
39
+ (
40
+ r"""(?P<matched>await import\(["'](?P<url>.*?)["']\))""",
41
+ """await import("%(url)s")""",
42
+ ),
43
+ ),
44
+ )
45
+
46
+ def post_process(self, paths, **options):
47
+ collected = super().post_process(paths, **options)
48
+ for original_path, processed_path, processed in collected:
49
+ if isinstance(processed, Exception):
50
+ print("Error with file", original_path)
51
+ raise processed
52
+ if processed_path.endswith(".js"):
53
+ path = Path(settings.STATIC_ROOT) / processed_path
54
+ initial = path.read_text()
55
+ if "sourceMappingURL" not in initial: # Already minified.
56
+ minified = jsmin(initial)
57
+ path.write_text(minified)
58
+ if processed_path.endswith(".css"):
59
+ path = Path(settings.STATIC_ROOT) / processed_path
60
+ initial = path.read_text()
61
+ if "sourceMappingURL" not in initial: # Already minified.
62
+ minified = cssmin(initial)
63
+ path.write_text(minified)
64
+ yield original_path, processed_path, True
@@ -27,7 +27,7 @@ def patch_storage():
27
27
 
28
28
  DataLayer.geojson.field.storage = storages.create_storage(
29
29
  {
30
- "BACKEND": "umap.storage.UmapS3",
30
+ "BACKEND": "umap.storage.s3.S3DataStorage",
31
31
  "OPTIONS": {
32
32
  "access_key": "testing",
33
33
  "secret_key": "testing",
@@ -15,7 +15,7 @@ def staticfiles(settings):
15
15
  # Make sure settings are properly reset after the test
16
16
  settings.STORAGES = deepcopy(settings.STORAGES)
17
17
  settings.STORAGES["staticfiles"]["BACKEND"] = (
18
- "umap.storage.UmapManifestStaticFilesStorage"
18
+ "umap.storage.staticfiles.UmapManifestStaticFilesStorage"
19
19
  )
20
20
  try:
21
21
  call_command("collectstatic", "--noinput")
@@ -1 +0,0 @@
1
- VERSION = "2.8.0a0"
@@ -1,216 +0,0 @@
1
- import operator
2
- import os
3
- import shutil
4
- import time
5
- from gzip import GzipFile
6
- from pathlib import Path
7
-
8
- from botocore.exceptions import ClientError
9
- from django.conf import settings
10
- from django.contrib.staticfiles.storage import ManifestStaticFilesStorage
11
- from django.core.files.storage import FileSystemStorage
12
- from rcssmin import cssmin
13
- from rjsmin import jsmin
14
- from storages.backends.s3 import S3Storage
15
-
16
-
17
- class UmapManifestStaticFilesStorage(ManifestStaticFilesStorage):
18
- support_js_module_import_aggregation = True
19
- max_post_process_passes = 15
20
-
21
- # We remove `;` at the end of all regexps to match our biome config.
22
- _js_module_import_aggregation_patterns = (
23
- "*.js",
24
- (
25
- (
26
- (
27
- r"""(?P<matched>import(?s:(?P<import>[\s\{].*?))"""
28
- r"""\s*from\s*['"](?P<url>[\.\/].*?)["']\s*)"""
29
- ),
30
- 'import%(import)s from "%(url)s"\n',
31
- ),
32
- (
33
- (
34
- r"""(?P<matched>export(?s:(?P<exports>[\s\{].*?))"""
35
- r"""\s*from\s*["'](?P<url>[\.\/].*?)["']\s*)"""
36
- ),
37
- 'export%(exports)s from "%(url)s"\n',
38
- ),
39
- (
40
- r"""(?P<matched>import\s*['"](?P<url>[\.\/].*?)["']\s*)""",
41
- 'import"%(url)s"\n',
42
- ),
43
- (
44
- r"""(?P<matched>import\(["'](?P<url>.*?)["']\)\.then)""",
45
- """import("%(url)s").then""",
46
- ),
47
- (
48
- r"""(?P<matched>await import\(["'](?P<url>.*?)["']\))""",
49
- """await import("%(url)s")""",
50
- ),
51
- ),
52
- )
53
-
54
- def post_process(self, paths, **options):
55
- collected = super().post_process(paths, **options)
56
- for original_path, processed_path, processed in collected:
57
- if isinstance(processed, Exception):
58
- print("Error with file", original_path)
59
- raise processed
60
- if processed_path.endswith(".js"):
61
- path = Path(settings.STATIC_ROOT) / processed_path
62
- initial = path.read_text()
63
- if "sourceMappingURL" not in initial: # Already minified.
64
- minified = jsmin(initial)
65
- path.write_text(minified)
66
- if processed_path.endswith(".css"):
67
- path = Path(settings.STATIC_ROOT) / processed_path
68
- initial = path.read_text()
69
- if "sourceMappingURL" not in initial: # Already minified.
70
- minified = cssmin(initial)
71
- path.write_text(minified)
72
- yield original_path, processed_path, True
73
-
74
-
75
- class UmapS3(S3Storage):
76
- gzip = True
77
-
78
- def get_reference_version(self, instance):
79
- metadata = self.connection.meta.client.head_object(
80
- Bucket=self.bucket_name, Key=instance.geojson.name
81
- )
82
- # Do not fail if bucket does not handle versioning
83
- return metadata.get("VersionId", metadata["ETag"])
84
-
85
- def make_filename(self, instance):
86
- return f"{str(instance.pk)}.geojson"
87
-
88
- def list_versions(self, instance):
89
- response = self.connection.meta.client.list_object_versions(
90
- Bucket=self.bucket_name, Prefix=instance.geojson.name
91
- )
92
- return [
93
- {
94
- "ref": version["VersionId"],
95
- "at": version["LastModified"].timestamp() * 1000,
96
- "size": version["Size"],
97
- }
98
- for version in response["Versions"]
99
- ]
100
-
101
- def get_version(self, ref, instance):
102
- try:
103
- data = self.connection.meta.client.get_object(
104
- Bucket=self.bucket_name,
105
- Key=instance.geojson.name,
106
- VersionId=ref,
107
- )
108
- except ClientError:
109
- raise ValueError(f"Invalid version reference: {ref}")
110
- return GzipFile(mode="r", fileobj=data["Body"]).read()
111
-
112
- def get_version_path(self, ref, instance):
113
- return self.url(instance.geojson.name, parameters={"VersionId": ref})
114
-
115
- def onDatalayerSave(self, instance):
116
- pass
117
-
118
- def onDatalayerDelete(self, instance):
119
- return self.connection.meta.client.delete_object(
120
- Bucket=self.bucket_name,
121
- Key=instance.geojson.name,
122
- )
123
-
124
-
125
- class UmapFileSystem(FileSystemStorage):
126
- def get_reference_version(self, instance):
127
- return self._extract_version_ref(instance.geojson.name)
128
-
129
- def make_filename(self, instance):
130
- root = self._base_path(instance)
131
- name = "%s_%s.geojson" % (instance.pk, int(time.time() * 1000))
132
- return root / name
133
-
134
- def list_versions(self, instance):
135
- root = self._base_path(instance)
136
- names = self.listdir(root)[1]
137
- names = [name for name in names if self._is_valid_version(name, instance)]
138
- versions = [self._version_metadata(name, instance) for name in names]
139
- versions.sort(reverse=True, key=operator.itemgetter("at"))
140
- return versions
141
-
142
- def get_version(self, ref, instance):
143
- with self.open(self.get_version_path(ref, instance), "r") as f:
144
- return f.read()
145
-
146
- def get_version_path(self, ref, instance):
147
- base_path = Path(settings.MEDIA_ROOT) / self._base_path(instance)
148
- fullpath = base_path / f"{instance.pk}_{ref}.geojson"
149
- if instance.old_id and not fullpath.exists():
150
- fullpath = base_path / f"{instance.old_id}_{ref}.geojson"
151
- if not fullpath.exists():
152
- raise ValueError(f"Invalid version reference: {ref}")
153
- return fullpath
154
-
155
- def onDatalayerSave(self, instance):
156
- self._purge_gzip(instance)
157
- self._purge_old_versions(instance, keep=settings.UMAP_KEEP_VERSIONS)
158
-
159
- def onDatalayerDelete(self, instance):
160
- self._purge_gzip(instance)
161
- self._purge_old_versions(instance, keep=None)
162
-
163
- def _extract_version_ref(self, path):
164
- version = path.split(".")[0]
165
- if "_" in version:
166
- return version.split("_")[-1]
167
- return version
168
-
169
- def _base_path(self, instance):
170
- path = ["datalayer", str(instance.map.pk)[-1]]
171
- if len(str(instance.map.pk)) > 1:
172
- path.append(str(instance.map.pk)[-2])
173
- path.append(str(instance.map.pk))
174
- return Path(os.path.join(*path))
175
-
176
- def _is_valid_version(self, name, instance):
177
- valid_prefixes = [name.startswith("%s_" % instance.pk)]
178
- if instance.old_id:
179
- valid_prefixes.append(name.startswith("%s_" % instance.old_id))
180
- return any(valid_prefixes) and name.endswith(".geojson")
181
-
182
- def _version_metadata(self, name, instance):
183
- ref = self._extract_version_ref(name)
184
- return {
185
- "name": name,
186
- "ref": ref,
187
- "at": ref,
188
- "size": self.size(self._base_path(instance) / name),
189
- }
190
-
191
- def _purge_old_versions(self, instance, keep=None):
192
- root = self._base_path(instance)
193
- versions = self.list_versions(instance)
194
- if keep is not None:
195
- versions = versions[keep:]
196
- for version in versions:
197
- name = version["name"]
198
- # Should not be in the list, but ensure to not delete the file
199
- # currently used in database
200
- if keep is not None and instance.geojson.name.endswith(name):
201
- continue
202
- try:
203
- self.delete(root / name)
204
- except FileNotFoundError:
205
- pass
206
-
207
- def _purge_gzip(self, instance):
208
- root = self._base_path(instance)
209
- names = self.listdir(root)[1]
210
- prefixes = [f"{instance.pk}_"]
211
- if instance.old_id:
212
- prefixes.append(f"{instance.old_id}_")
213
- prefixes = tuple(prefixes)
214
- for name in names:
215
- if name.startswith(prefixes) and name.endswith(".gz"):
216
- self.delete(root / name)
File without changes
File without changes