|
8 | 8 | from django.conf import settings |
9 | 9 | from django.conf.urls import include |
10 | 10 | from django.contrib import admin |
11 | | -from django.urls import path |
| 11 | +from django.urls import register_converter, path |
| 12 | + |
12 | 13 | from instrument.views import runs |
13 | 14 | from reduction_viewer import views as reduction_viewer_views |
14 | 15 |
|
|
18 | 19 | handler404 = 'autoreduce_webapp.views.handler404' |
19 | 20 | handler500 = 'autoreduce_webapp.views.handler500' |
20 | 21 |
|
| 22 | + |
| 23 | +class NegativeIntConverter: |
| 24 | + regex = '-?\d+' |
| 25 | + |
| 26 | + def to_python(self, value): |
| 27 | + return int(value) |
| 28 | + |
| 29 | + def to_url(self, value): |
| 30 | + return '%d' % value |
| 31 | + |
| 32 | + |
| 33 | +register_converter(NegativeIntConverter, 'negint') |
| 34 | + |
21 | 35 | urlpatterns = [ |
22 | 36 | # ===========================MISC================================= # |
23 | 37 | path('', reduction_viewer_views.index, name='index'), |
|
34 | 48 | path('instrument/', include('instrument.urls')), |
35 | 49 |
|
36 | 50 | # ===========================EXPERIMENT========================== # |
37 | | - path('experiment/<int:reference_number>/', reduction_viewer_views.experiment_summary, name='experiment_summary'), |
| 51 | + path('experiment/<negint:reference_number>/', reduction_viewer_views.experiment_summary, name='experiment_summary'), |
38 | 52 |
|
39 | 53 | # ===========================SCRIPTS============================= # |
40 | 54 | path('graph/', reduction_viewer_views.graph_home, name="graph"), |
|
0 commit comments