igs-slm 0.1.5b0__py3-none-any.whl → 0.1.5b2__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.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: igs-slm
3
- Version: 0.1.5b0
3
+ Version: 0.1.5b2
4
4
  Summary: IGS Site Log Manager
5
5
  Project-URL: Homepage, https://igs-slm.readthedocs.io
6
6
  Project-URL: Documentation, https://igs-slm.readthedocs.io
@@ -64,6 +64,10 @@ Requires-Dist: python-dateutil<3.0.0,>=2.8.2
64
64
  Requires-Dist: requests<3.0.0,>=2.32.4
65
65
  Requires-Dist: rich<14.0.0,>=13.7.1
66
66
  Requires-Dist: tqdm<5.0.0,>=4.64.1
67
+ Provides-Extra: debug
68
+ Requires-Dist: django-debug-toolbar<5.0.0,>=4.1.0; extra == 'debug'
69
+ Requires-Dist: django-extensions<4.0.0,>=3.1.5; extra == 'debug'
70
+ Requires-Dist: ipdb<1.0.0,>=0.13.13; extra == 'debug'
67
71
  Provides-Extra: gunicorn
68
72
  Requires-Dist: gunicorn>=22.0.0; extra == 'gunicorn'
69
73
  Description-Content-Type: text/markdown
@@ -6,7 +6,7 @@ igs_tools/defines/__init__.py,sha256=iQyg6SLcDT1KMtK6XToUdCUqmSZnPKY1ztjdOcaKEB0
6
6
  igs_tools/defines/constellation.py,sha256=Di0QX83YqACChVrxReKeQcjsQxY5G5bdp1e5iDeefNM,560
7
7
  igs_tools/defines/data_center.py,sha256=gLoUebE90C4OeyvEqCx-1RY2C0Nq9N9rchPc7V--lqk,2895
8
8
  igs_tools/defines/rinex.py,sha256=hHJzuqO5VZbroK6wznTxX0CEGB-WZea4S4F-lpJXKYc,1824
9
- slm/__init__.py,sha256=AyTPFHPyo0k2ofx0tmO95O1DMt8HULaowrK-4vrhDa8,995
9
+ slm/__init__.py,sha256=m1hlL2z_gJe6hEpSExtmGMTzOZyDG0XLDLsvKfXLu28,995
10
10
  slm/admin.py,sha256=0sjfsluuf2dCAHodplLw9SlBHiVYEZFU64kBz1b8uM4,19537
11
11
  slm/apps.py,sha256=Tf3FBaYkjH57bqdh0r0KBFitsKl3aJe_uQE9iZNmOzc,11949
12
12
  slm/authentication.py,sha256=pdckO48ApGTwbaHLJsc2IswSs8qM9W3BLVU8XkSAa4E,7141
@@ -41,7 +41,7 @@ slm/bin/templates/{{ project_dir }}/src/sites/__init__.py,sha256=47DEQpj8HBSa-_T
41
41
  slm/bin/templates/{{ project_dir }}/src/sites/{{ site }}/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
42
42
  slm/bin/templates/{{ project_dir }}/src/sites/{{ site }}/base.py,sha256=GjrppWc8I26d4rOuGeLYHowCeSYKljlSnBZX_APsi8E,540
43
43
  slm/bin/templates/{{ project_dir }}/src/sites/{{ site }}/manage.py,sha256=cZx-1CTHY5uX0_cSPko6QDt9cGOp3cpuhC-t9B7DGcs,1355
44
- slm/bin/templates/{{ project_dir }}/src/sites/{{ site }}/urls.py,sha256=-URn03PHH9c0GxHs9aPRkgp7KeCrOuPSLVkh2iyPvac,231
44
+ slm/bin/templates/{{ project_dir }}/src/sites/{{ site }}/urls.py,sha256=5OTiN1r-hifnK4AmAwnHvF5nywg1ihY0ajezvShqwLE,328
45
45
  slm/bin/templates/{{ project_dir }}/src/sites/{{ site }}/validation.py,sha256=C7Sdtv0myfGvsNBqH-vZ4AoXp0u6MbVSfLs6Y2YmuPI,1017
46
46
  slm/bin/templates/{{ project_dir }}/src/sites/{{ site }}/develop/__init__.py,sha256=JFe_sAmEYhakXOH1ZGR7AMEkilLVdY55adlwd2EyBhI,718
47
47
  slm/bin/templates/{{ project_dir }}/src/sites/{{ site }}/develop/local.py,sha256=Yo2HleuDF4HD0bIGogZsggvIOKRvcfupB_cYftI5HbE,196
@@ -52,7 +52,7 @@ slm/bin/templates/{{ project_dir }}/src/{{ extension_app }}/__init__.py,sha256=4
52
52
  slm/bin/templates/{{ project_dir }}/src/{{ extension_app }}/admin.py,sha256=hg5cEfNnkeQBH_rvkvRvgEqZCF69OC2IV2ci0A7CLAw,117
53
53
  slm/bin/templates/{{ project_dir }}/src/{{ extension_app }}/apps.py,sha256=2gDPQcjlcCVS8IYFf9V9A2eOsAZVFuMTk7nqE5x7n7E,228
54
54
  slm/bin/templates/{{ project_dir }}/src/{{ extension_app }}/models.py,sha256=NryovIcH55BK73dKSKyRcgRAsOAtUhGCa21IfV34_hY,142
55
- slm/bin/templates/{{ project_dir }}/src/{{ extension_app }}/urls.py,sha256=ZB_sljlTrRk1Z31DqTjap7PDBV5lMa32yQ1ko9rleOs,150
55
+ slm/bin/templates/{{ project_dir }}/src/{{ extension_app }}/urls.py,sha256=bfY0LBZoD6a1qpeDb-l1vj5BJoUyzXojzj6EQwGVgAs,169
56
56
  slm/bin/templates/{{ project_dir }}/src/{{ extension_app }}/views.py,sha256=8phDtyzWV53lu1wFv9fRb9OhsKhmN6I-LP-KEj52JcY,133
57
57
  slm/bin/templates/{{ project_dir }}/src/{{ extension_app }}/management/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
58
58
  slm/bin/templates/{{ project_dir }}/src/{{ extension_app }}/management/commands/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
@@ -138,7 +138,7 @@ slm/map/migrations/0001_initial.py,sha256=1kefwOHrpX9JlNQHx_M8F9sT-dzof2YhJF07Df
138
138
  slm/map/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
139
139
  slm/map/static/slm/css/map.css,sha256=lE0woD1rm2lGaUlZqJ1g89ghQr2PLJu18luxRCjdFlk,1385
140
140
  slm/map/static/slm/js/map.js,sha256=-1FIECqU_41-UedLfERmy__KDVcIeDBI0K1kjSyecoQ,5641
141
- slm/map/templates/slm/map.html,sha256=cSA-QLSOwtRFpb2_TVjAWzUMg_2sJIPqLOdf21AUKsA,18591
141
+ slm/map/templates/slm/map.html,sha256=Qqg2bVa4Y9JCziseL060jj4ulKf-t0qLvJ_56mVDtd8,18666
142
142
  slm/map/templates/slm/top_nav.html,sha256=OTDnfCeCw8KagFosx4v5e0D0BXG1c9UZt63cd47PUbI,727
143
143
  slm/map/templates/slm/station/base.html,sha256=WV412EjtUtV1Ug9jdU0dfuL-Q8UbPu5KvtHV6AuymMU,402
144
144
  slm/map/templates/slm/station/edit.html,sha256=SZOPHdhKV_X3Vko336PgzJ3AIszGmZJIhIxwTtFAd4Y,269
@@ -259,15 +259,15 @@ slm/settings/emails.py,sha256=gSLlOEwOfYiDb_oTp7QiLYxiSQvWqTNhP_H1AtUSdPo,1447
259
259
  slm/settings/internationalization.py,sha256=OfySI8I21FUY29EfTNspwfZVQeYDtRzbo-RAK6Uipfw,549
260
260
  slm/settings/logging.py,sha256=hGe8K7gCUqxZFNuLnwUlNyfF0F3Sl3rFGg8DGlGp5-Y,4230
261
261
  slm/settings/rest.py,sha256=DFkT8d6yx7TfQteNnCjj7WrCD8XzVMNPm8nxj-Gb2Wo,787
262
- slm/settings/root.py,sha256=xFjQvGxIGvCP185GuL1sF-wlEZoWBcnhhc08wuy9J7o,6961
262
+ slm/settings/root.py,sha256=jx5S01BM3SGFzRuaV83nEBAY0zCjU2wp-SZCm7_DvZM,6973
263
263
  slm/settings/routines.py,sha256=5cNDxf_SGNb0h1MgiYRqdy6JbTUVyQMGdW6Mi4zR0FY,1670
264
264
  slm/settings/secrets.py,sha256=4X5RJyYD0iOuaZ_YMdSvWxwVSGgWoXpzX9lgHldPZ3M,830
265
265
  slm/settings/security.py,sha256=yO8pbNCAAvVdJfT4mbtdA8KVsmWG5FvP6REUhnSm2IE,249
266
- slm/settings/slm.py,sha256=KUAtDsP6g5S3XB7MLMqIm8DzYxtwUS2XH3QhFSAykIo,7002
266
+ slm/settings/slm.py,sha256=s6dCctDwJ1litTDZZPnLhytYf9LexOGJDA1SJOzpH3Y,6693
267
267
  slm/settings/static_templates.py,sha256=99xqZqyGxXT04r_nSoL5eVvt14vIQ7wZQxJzjZsmaZk,1403
268
268
  slm/settings/templates.py,sha256=_uIXxD7Z7p7_n_wafz_rnDiKOcp1ybvkaifE4FsEd5Y,1132
269
269
  slm/settings/uploads.py,sha256=ly-GMoY5_m4Vz9mzvLnGzbwVfk0AaU9l8f6X6xMY6AE,1031
270
- slm/settings/urls.py,sha256=0clxfnAkDiXIIY39uoyDh43flCgRX6Ui2xjWv-ZRjPY,4164
270
+ slm/settings/urls.py,sha256=LJcWON6W0rnJN5uPKLCLQMpePqDRqPNXKkjtI8QrRS4,4133
271
271
  slm/settings/validation.py,sha256=SzRcOriJbV82Rr1gRmy5QmZL43Lc5txQF3We6KiOaNE,7952
272
272
  slm/settings/platform/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
273
273
  slm/settings/platform/darwin.py,sha256=aJPOnZZC_kHAspePBegQJ64LrHtwvEqjRDhYsb6WBUU,786
@@ -303,7 +303,7 @@ slm/static/slm/img/favicon.ico,sha256=1AN69vIFib1oPYEsyjTbFHABdPEXVXVzrNShCAM_4O
303
303
  slm/static/slm/img/login-bg.jpg,sha256=2sOMYjc4ruCuMzJpP_Yy50yoAlpu4G0gATVjw3D9Glk,684715
304
304
  slm/static/slm/img/slm-logo.svg,sha256=voAYAJ5O6NKaRvwYdGzjsdkNDQOdRRyvZdXDrrmq2OM,1852
305
305
  slm/static/slm/js/autocomplete.js,sha256=PC0SkihqdOBZjp3SxFkZCrjMEnNMDU-w9SnbtobwCyQ,12117
306
- slm/static/slm/js/enums.js,sha256=8NDpVeQTdltUvye43HBJugVDvaD5SGtBu6Pk4pWoY2k,10436
306
+ slm/static/slm/js/enums.js,sha256=M6jFvquXd6uKqeQSBQXjlkYjK8QDzGzEOlywfcQGfKI,10531
307
307
  slm/static/slm/js/fileIcons.js,sha256=bWB1IZKQQdJNrcb5M2pd8ifp6IgNfVDu7_6i1_5bw4c,914
308
308
  slm/static/slm/js/file_modal.js,sha256=t8CDM7CHUm-RICJrYF6EnoCEyr6CMzCLrJsRb2ITKxQ,2398
309
309
  slm/static/slm/js/form.js,sha256=_vaVCh9W1mji9gwHYbPQO4vaj3_J3tHd_uwMTXD6-IU,13177
@@ -460,8 +460,8 @@ slm/templates/slm/widgets/stationlist.html,sha256=MzbGy2po3TQ6Cx12OEagwaU5dZ5IKY
460
460
  slm/templatetags/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
461
461
  slm/templatetags/jinja2.py,sha256=ye8Q5EVv1ATBCwkVi3UPrgRWj5a4VAI2s72pJnAftx4,222
462
462
  slm/templatetags/slm.py,sha256=NN05wg1gyhMVuMucNF67O3M_178BKJzg-ax3Ub16Enk,14232
463
- igs_slm-0.1.5b0.dist-info/METADATA,sha256=qbivZQvyfyUyf6WSuTdv8mUzrXg0SyAphWZUPtQ7QdM,7542
464
- igs_slm-0.1.5b0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
465
- igs_slm-0.1.5b0.dist-info/entry_points.txt,sha256=Oq_ZZdzACnQ8vhZJn8q6_8VuYJNLqkfCW5HvqMg6JTs,84
466
- igs_slm-0.1.5b0.dist-info/licenses/LICENSE,sha256=lrSWvh1Y0-xYCepGM5jimWArZ7iqaRvMV1UuPuq5mq8,1092
467
- igs_slm-0.1.5b0.dist-info/RECORD,,
463
+ igs_slm-0.1.5b2.dist-info/METADATA,sha256=MwRTli7HKH1wldoMlwNcftqpQa2YZOe1gOCmVFVS3LI,7751
464
+ igs_slm-0.1.5b2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
465
+ igs_slm-0.1.5b2.dist-info/entry_points.txt,sha256=Oq_ZZdzACnQ8vhZJn8q6_8VuYJNLqkfCW5HvqMg6JTs,84
466
+ igs_slm-0.1.5b2.dist-info/licenses/LICENSE,sha256=lrSWvh1Y0-xYCepGM5jimWArZ7iqaRvMV1UuPuq5mq8,1092
467
+ igs_slm-0.1.5b2.dist-info/RECORD,,
slm/__init__.py CHANGED
@@ -15,7 +15,7 @@ r"""
15
15
 
16
16
  """
17
17
 
18
- VERSION = (0, 1, "5b0")
18
+ VERSION = (0, 1, "5b2")
19
19
 
20
20
  __title__ = "IGS/Site Log Manager"
21
21
  __version__ = ".".join(str(i) for i in VERSION)
@@ -1,7 +1,15 @@
1
+ """
2
+ You can make direct modifications to the URLs built by the slm here if needed.
3
+
4
+ Your extension app will already be included at the root path because it sets:
5
+
6
+ SLM_INCLUDE = True.
7
+ """
8
+
1
9
  from slm.settings.urls import urlpatterns
2
10
  from django.urls import path, include
3
11
 
12
+
4
13
  urlpatterns.extend([
5
- {% if not include_map %}#{% endif %}path('', include('slm.map.urls')),
6
- path('', include('{{ extension_app }}.urls')),
14
+ # add other app URLs here
7
15
  ])
@@ -6,5 +6,6 @@ from django.urls import path
6
6
 
7
7
  app_name = "{{ extension_app }}"
8
8
 
9
+ SLM_INCLUDE = True
9
10
 
10
11
  urlpatterns = []
@@ -366,7 +366,7 @@
366
366
  //slm.addColumnFiltering( stationTable );
367
367
  </script>
368
368
  {% else %}
369
- {% trans "To enable maps, create a MapBox account and configure the api key in the admin:" %} <a href="https://mapbox.com">mapbox.com</a>
369
+ {% trans "To enable maps, create a MapBox account and " %}<a href="{% url 'admin:slm_map_mapsettings_change' 1 %}">{% trans "configure the api key in the admin:" %}</a> <a href="https://mapbox.com">mapbox.com</a>
370
370
  {% endif %}
371
371
  </div>
372
372
  {% endblock %}
slm/settings/root.py CHANGED
@@ -242,5 +242,5 @@ set_default(
242
242
  )
243
243
 
244
244
  WSGI_APPLICATION = env(
245
- "WSGI_APPLICATION", default=get_setting("WSGI_APPLICATION", "slm.wsgi")
245
+ "WSGI_APPLICATION", default=get_setting("WSGI_APPLICATION", "slm.wsgi.application")
246
246
  )
slm/settings/slm.py CHANGED
@@ -178,13 +178,6 @@ set_default(
178
178
  },
179
179
  )
180
180
 
181
- # slm provides an implementation of urls.py that will load this list into
182
- # url patterns. This should be a list of 2-tuples where the first tuple is the
183
- # path stem mount point for the included apps' URLs and the second element is
184
- # the string that will be passed to django.urls.include
185
- SLM_URL_MOUNTS = []
186
-
187
-
188
181
  # control the domain used to generate absolute links to the SLM log document
189
182
  # attachments including images and files. Any standalone artifacts produced by
190
183
  # the slm that include links to files served by the SLM will use this domain
slm/settings/urls.py CHANGED
@@ -38,16 +38,6 @@ APIS dictionary. For example the slm.map app extends the public API like so:
38
38
  }
39
39
  }
40
40
 
41
- Other third party apps may be included at customizable mount points by
42
- providing a settings.SLM_URL_MOUNTS list. For example to include your app at
43
- the myapp path you might do this:
44
-
45
- .. code-block: python
46
-
47
- SLM_URL_MOUNTS = [
48
- ('myapp/', 'myapp.urls')
49
- ]
50
-
51
41
  """
52
42
 
53
43
  from importlib import import_module
@@ -80,7 +70,11 @@ def bring_in_urls(urlpatterns):
80
70
 
81
71
  for app in reversed(settings.INSTALLED_APPS):
82
72
  try:
83
- url_module = import_module(f"{app}.urls")
73
+ url_module_str = f"{app}.urls"
74
+ url_module = import_module(url_module_str)
75
+ slm_include = getattr(url_module, "SLM_INCLUDE", False)
76
+ if not slm_include:
77
+ continue
84
78
  api = getattr(url_module, "APIS", None)
85
79
  if api:
86
80
  for api, endpoints in api.items():
@@ -95,6 +89,7 @@ def bring_in_urls(urlpatterns):
95
89
  endpoint[0] if len(endpoint) < 3 else endpoint[2]
96
90
  ),
97
91
  )
92
+ urlpatterns.insert(0, path("", include(url_module_str)))
98
93
 
99
94
  except ImportError:
100
95
  if app in {"slm", "slm.map", "network_map", "igs_ext"}:
@@ -201,12 +201,12 @@ class SiteFileUploadStatus {
201
201
  }
202
202
  class SiteLogFormat {
203
203
 
204
- static LEGACY = new SiteLogFormat(1, "LEGACY", "Legacy (ASCII)", "text/plain", "bi bi-file-text", "log", ["text", "txt", "legacy"]);
205
- static GEODESY_ML = new SiteLogFormat(2, "GEODESY_ML", "GeodesyML", "application/xml", "bi bi-filetype-xml", "xml", ["xml"]);
206
- static JSON = new SiteLogFormat(3, "JSON", "JSON", "application/json", "bi bi-filetype-json", "json", ["json", "js"]);
207
- static ASCII_9CHAR = new SiteLogFormat(4, "ASCII_9CHAR", "ASCII (9-Char)", "text/plain", "bi bi-file-text", "log", ["text", "txt", "9char"]);
204
+ static LEGACY = new SiteLogFormat(1, "LEGACY", "Legacy (ASCII)", "text/plain", "bi bi-file-text", "log", ["text", "txt", "legacy"], ["txt", "sitelog"]);
205
+ static GEODESY_ML = new SiteLogFormat(2, "GEODESY_ML", "GeodesyML", "application/xml", "bi bi-filetype-xml", "xml", ["xml"], ["gml"]);
206
+ static JSON = new SiteLogFormat(3, "JSON", "JSON", "application/json", "bi bi-filetype-json", "json", ["json", "js"], ["js"]);
207
+ static ASCII_9CHAR = new SiteLogFormat(4, "ASCII_9CHAR", "ASCII (9-Char)", "text/plain", "bi bi-file-text", "log", ["text", "txt", "9char"], ["txt", "sitelog"]);
208
208
 
209
- constructor (value, name, label, mimetype, icon, ext, alts) {
209
+ constructor (value, name, label, mimetype, icon, ext, alts, alt_exts) {
210
210
  this.value = value;
211
211
  this.name = name;
212
212
  this.label = label;
@@ -214,6 +214,7 @@ class SiteLogFormat {
214
214
  this.icon = icon;
215
215
  this.ext = ext;
216
216
  this.alts = alts;
217
+ this.alt_exts = alt_exts;
217
218
  }
218
219
 
219
220
  static ciCompare(a, b) {