psat-server-web 0.4.0__tar.gz → 0.4.2__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 psat-server-web might be problematic. Click here for more details.

Files changed (468) hide show
  1. {psat_server_web-0.4.0/psat_server_web.egg-info → psat_server_web-0.4.2}/PKG-INFO +1 -1
  2. psat_server_web-0.4.2/psat_server_web/__version__.py +1 -0
  3. psat_server_web-0.4.2/psat_server_web/atlas/accounts/admin.py +18 -0
  4. psat_server_web-0.4.2/psat_server_web/atlas/accounts/apps.py +8 -0
  5. psat_server_web-0.4.2/psat_server_web/atlas/accounts/migrations/0001_initial.py +32 -0
  6. psat_server_web-0.4.2/psat_server_web/atlas/accounts/models.py +37 -0
  7. psat_server_web-0.4.2/psat_server_web/atlas/accounts/signals.py +15 -0
  8. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/atlas/dbviews.py +52 -0
  9. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/atlas/models.py +4 -2
  10. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/atlas/settings.py +8 -2
  11. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/atlas/views.py +48 -49
  12. psat_server_web-0.4.2/psat_server_web/atlas/atlasapi/authentication.py +55 -0
  13. {psat_server_web-0.4.0/psat_server_web/ps1/psdbapi → psat_server_web-0.4.2/psat_server_web/atlas/atlasapi}/permissions.py +0 -1
  14. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/atlasapi/urls.py +1 -2
  15. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/atlasapi/views.py +70 -23
  16. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/generate_mod_wsgi_apachectl.sh +2 -0
  17. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/atlas/candidate_plotly.html +1 -1
  18. psat_server_web-0.4.2/psat_server_web/atlas/tests/test_permissions.py +28 -0
  19. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/common/psat_api_client.py +2 -2
  20. psat_server_web-0.4.2/psat_server_web/ps1/psdb/__init__.py +0 -0
  21. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/psdb/views.py +47 -50
  22. psat_server_web-0.4.2/psat_server_web/ps1/site_media/js/celestial/data/__init__.py +0 -0
  23. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/psdb/candidate_plotly.html +1 -1
  24. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_vra_scores.sql +1 -1
  25. {psat_server_web-0.4.0 → psat_server_web-0.4.2/psat_server_web.egg-info}/PKG-INFO +1 -1
  26. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web.egg-info/SOURCES.txt +9 -2
  27. psat_server_web-0.4.0/psat_server_web/__version__.py +0 -1
  28. psat_server_web-0.4.0/psat_server_web/ps1/psdbapi/query_auth.py +0 -17
  29. psat_server_web-0.4.0/psat_server_web/schema/tcs_vra_probabilities.sql +0 -14
  30. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/LICENSE +0 -0
  31. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/MANIFEST.in +0 -0
  32. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/README.md +0 -0
  33. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/.DS_Store +0 -0
  34. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/__init__.py +0 -0
  35. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/.DS_Store +0 -0
  36. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/__init__.py +0 -0
  37. {psat_server_web-0.4.0/psat_server_web/atlas/atlas → psat_server_web-0.4.2/psat_server_web/atlas/accounts/migrations}/__init__.py +0 -0
  38. {psat_server_web-0.4.0/psat_server_web/atlas/site_media/js/celestial/data → psat_server_web-0.4.2/psat_server_web/atlas/atlas}/__init__.py +0 -0
  39. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/atlas/apiutils.py +0 -0
  40. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/atlas/commonqueries.py +0 -0
  41. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/atlas/document.sh +0 -0
  42. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/atlas/formchoices.py +0 -0
  43. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/atlas/helpers.py +0 -0
  44. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/atlas/insert_gravity_event.sql +0 -0
  45. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/atlas/lightcurvequeries.py +0 -0
  46. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/atlas/sqlpaginator.py +0 -0
  47. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/atlas/urls.py +0 -0
  48. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/atlas/view_celestial.py +0 -0
  49. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/atlas/wsgi.atlas.conf +0 -0
  50. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/atlas/wsgi.py +0 -0
  51. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/atlas/wsgi_apache_example.conf +0 -0
  52. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/atlasapi/apps.py +0 -0
  53. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/atlasapi/serializers.py +0 -0
  54. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/cow_backup.txt +0 -0
  55. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/generate_mod_wsgi_apachectl_test.sh +0 -0
  56. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/manage.py +0 -0
  57. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/media/images/README.txt +0 -0
  58. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/css/aladin.css +0 -0
  59. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/css/celestial.css +0 -0
  60. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/css/fontawesome.css +0 -0
  61. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/css/main.css +0 -0
  62. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/css/main_bootstrap.css +0 -0
  63. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/images/atlas_logo.png +0 -0
  64. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/images/image_not_available.jpeg +0 -0
  65. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/js/aladin.js +0 -0
  66. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/js/bootstrap_utils.js +0 -0
  67. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/js/celestial/celestial.js +0 -0
  68. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/js/celestial/d3.geo.projection.js +0 -0
  69. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/js/celestial/d3.geo.projection.min.js +0 -0
  70. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/js/celestial/d3.geo.zoom.js +0 -0
  71. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/js/celestial/d3.min.js +0 -0
  72. {psat_server_web-0.4.0/psat_server_web/common → psat_server_web-0.4.2/psat_server_web/atlas/site_media/js/celestial/data}/__init__.py +0 -0
  73. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/js/celestial/data/constellations.bounds.json +0 -0
  74. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/js/celestial/data/constellations.json +0 -0
  75. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/js/celestial/data/constellations.lines.json +0 -0
  76. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/js/celestial/data/dsos.bright.json +0 -0
  77. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/js/celestial/data/lg.json +0 -0
  78. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/js/celestial/data/mw.json +0 -0
  79. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/js/celestial/data/planets.json +0 -0
  80. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/js/celestial/data/stars.6.json +0 -0
  81. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/js/colourplot.js +0 -0
  82. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/js/flot/excanvas.js +0 -0
  83. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/js/flot/jquery-1.7.2.js +0 -0
  84. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/js/flot/jquery.flot.axislabels.js +0 -0
  85. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/js/flot/jquery.flot.crosshair.js +0 -0
  86. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/js/flot/jquery.flot.errorbars.js +0 -0
  87. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/js/flot/jquery.flot.fillbetween.js +0 -0
  88. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/js/flot/jquery.flot.image.js +0 -0
  89. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/js/flot/jquery.flot.js +0 -0
  90. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/js/flot/jquery.flot.navigate.js +0 -0
  91. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/js/flot/jquery.flot.pie.js +0 -0
  92. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/js/flot/jquery.flot.resize.js +0 -0
  93. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/js/flot/jquery.flot.selection.js +0 -0
  94. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/js/flot/jquery.flot.stack.js +0 -0
  95. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/js/flot/jquery.flot.symbol.js +0 -0
  96. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/js/flot/jquery.flot.threshold.js +0 -0
  97. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/js/followup_selectall.js +0 -0
  98. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/js/heatmap.js +0 -0
  99. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/js/lightcurve.js +0 -0
  100. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/js/lightcurveplotly.js +0 -0
  101. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/js/mjdcalc.js +0 -0
  102. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/js/plotly/plotly-latest.kws.js +0 -0
  103. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/js/recurrenceplot.js +0 -0
  104. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/js/recurrenceplotplotly.js +0 -0
  105. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/webfonts/fa-brands-400.eot +0 -0
  106. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/webfonts/fa-brands-400.svg +0 -0
  107. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/webfonts/fa-brands-400.ttf +0 -0
  108. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/webfonts/fa-brands-400.woff +0 -0
  109. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/webfonts/fa-brands-400.woff2 +0 -0
  110. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/webfonts/fa-regular-400.eot +0 -0
  111. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/webfonts/fa-regular-400.svg +0 -0
  112. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/webfonts/fa-regular-400.ttf +0 -0
  113. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/webfonts/fa-regular-400.woff +0 -0
  114. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/webfonts/fa-regular-400.woff2 +0 -0
  115. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/webfonts/fa-solid-900.eot +0 -0
  116. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/webfonts/fa-solid-900.svg +0 -0
  117. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/webfonts/fa-solid-900.ttf +0 -0
  118. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/webfonts/fa-solid-900.woff +0 -0
  119. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/site_media/webfonts/fa-solid-900.woff2 +0 -0
  120. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/sql/create_web_views.sql +0 -0
  121. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/.DS_Store +0 -0
  122. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/400.html +0 -0
  123. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/403.html +0 -0
  124. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/404.html +0 -0
  125. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/500.html +0 -0
  126. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/atlas/atelfasttrackobject.txt +0 -0
  127. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/atlas/atelsdiscovery.txt +0 -0
  128. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/atlas/atelsfast.txt +0 -0
  129. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/atlas/candidate.html +0 -0
  130. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/atlas/candidate_plotly_test.html +0 -0
  131. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/atlas/crossmatch_external.html +0 -0
  132. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/atlas/error.html +0 -0
  133. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/atlas/followup.html +0 -0
  134. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/atlas/followup.txt +0 -0
  135. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/atlas/followup2.html +0 -0
  136. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/atlas/followup_bs.html +0 -0
  137. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/atlas/followup_bypass_django_tables.html +0 -0
  138. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/atlas/followup_quickview.html +0 -0
  139. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/atlas/followup_quickview_bs.html +0 -0
  140. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/atlas/followup_subset.txt +0 -0
  141. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/atlas/gcn.txt +0 -0
  142. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/atlas/gcn_latex.txt +0 -0
  143. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/atlas/heatmap.html +0 -0
  144. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/atlas/heatmap_test.html +0 -0
  145. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/atlas/index.html +0 -0
  146. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/atlas/index_bs.html +0 -0
  147. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/atlas/index_bs_celestial.html +0 -0
  148. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/atlas/index_bs_celestial_experiment.html +0 -0
  149. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/atlas/iobserve.txt +0 -0
  150. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/atlas/lightcurve.txt +0 -0
  151. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/atlas/lightcurveddc.txt +0 -0
  152. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/atlas/lightcurveforced.txt +0 -0
  153. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/atlas/lightcurvestackedforced.txt +0 -0
  154. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/atlas/pesstorecurrences.txt +0 -0
  155. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/atlas/pesstorecurrencesddc.txt +0 -0
  156. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/atlas/pesstosummary.txt +0 -0
  157. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/atlas/search_results.html +0 -0
  158. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/atlas/search_results_plotly.html +0 -0
  159. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/atlas/sne.json +0 -0
  160. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/atlas/summary.csv +0 -0
  161. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/atlas/userdefinedlists.html +0 -0
  162. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/atlas/userdefinedlists_bs.html +0 -0
  163. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/atlas/visibility.txt +0 -0
  164. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/base.html +0 -0
  165. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/base_bootstrap.html +0 -0
  166. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/base_bootstrap_login.html +0 -0
  167. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/bootstrap4_django_tables2_atlas.html +0 -0
  168. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/invalid_login.html +0 -0
  169. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/loggedin.html +0 -0
  170. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/login.html +0 -0
  171. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/templates/logout.html +0 -0
  172. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/atlas/test.py +0 -0
  173. {psat_server_web-0.4.0/psat_server_web/ps1 → psat_server_web-0.4.2/psat_server_web/atlas/tests}/__init__.py +0 -0
  174. {psat_server_web-0.4.0/psat_server_web/ps1/psdb → psat_server_web-0.4.2/psat_server_web/common}/__init__.py +0 -0
  175. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/config/wsgi.conf.template +0 -0
  176. {psat_server_web-0.4.0/psat_server_web/ps1/site_media/js/celestial/data → psat_server_web-0.4.2/psat_server_web/ps1}/__init__.py +0 -0
  177. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/createUsers.py +0 -0
  178. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/generate_mod_wsgi_apachectl.sh +0 -0
  179. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/manage.py +0 -0
  180. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/media/images/README.txt +0 -0
  181. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/psdb/admin.py.old +0 -0
  182. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/psdb/catalogueviews.py +0 -0
  183. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/psdb/commonqueries.py +0 -0
  184. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/psdb/dbviews.py +0 -0
  185. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/psdb/formchoices.py +0 -0
  186. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/psdb/helpers.py +0 -0
  187. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/psdb/img_scale.py +0 -0
  188. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/psdb/lightcurvequeries.py +0 -0
  189. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/psdb/models.py +0 -0
  190. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/psdb/settings.py +0 -0
  191. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/psdb/urls.py +0 -0
  192. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/psdb/wsgi.py +0 -0
  193. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/psdb/wsgi_apache_example.conf +0 -0
  194. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/psdbapi/apps.py +0 -0
  195. {psat_server_web-0.4.0/psat_server_web/atlas/atlasapi → psat_server_web-0.4.2/psat_server_web/ps1/psdbapi}/permissions.py +0 -0
  196. {psat_server_web-0.4.0/psat_server_web/atlas/atlasapi → psat_server_web-0.4.2/psat_server_web/ps1/psdbapi}/query_auth.py +0 -0
  197. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/psdbapi/serializers.py +0 -0
  198. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/psdbapi/urls.py +0 -0
  199. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/psdbapi/views.py +0 -0
  200. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/css/aladin.css +0 -0
  201. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/css/celestial.css +0 -0
  202. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/css/fontawesome.css +0 -0
  203. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/css/main.css +0 -0
  204. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/css/main_bootstrap.css +0 -0
  205. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/1-star-hover.jpg +0 -0
  206. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/1-star.jpg +0 -0
  207. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/2-star-hover.jpg +0 -0
  208. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/2-star.jpg +0 -0
  209. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/3-star-hover.jpg +0 -0
  210. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/3-star.jpg +0 -0
  211. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/aladin.gif +0 -0
  212. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/cfaIcon.jpg +0 -0
  213. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/cfaIconHover.jpg +0 -0
  214. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/confirmed-sne-hover.jpg +0 -0
  215. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/confirmed-sne.jpg +0 -0
  216. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/detection_example.jpg +0 -0
  217. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/down.jpeg +0 -0
  218. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/down.jpg +0 -0
  219. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/image_not_available.jpeg +0 -0
  220. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/jhuIcon.jpg +0 -0
  221. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/jhuIconHover.jpg +0 -0
  222. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/minus.jpg +0 -0
  223. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/ncuIcon.jpg +0 -0
  224. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/ncuIconHover.jpg +0 -0
  225. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/non_detection_example.jpg +0 -0
  226. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/others-hover.jpg +0 -0
  227. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/others.jpg +0 -0
  228. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/panstarrs-logo-hover.jpg +0 -0
  229. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/panstarrs-logo.jpg +0 -0
  230. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/panstarrs1_logo.jpg +0 -0
  231. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/panstarrs1_o3_logo.jpg +0 -0
  232. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/panstarrs2_logo.jpg +0 -0
  233. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/panstarrs2_o3_logo.jpg +0 -0
  234. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/panstarrs_logo.jpg +0 -0
  235. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/panstarrs_logo_o4.jpg +0 -0
  236. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/panstarrs_logo_original.jpg +0 -0
  237. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/panstarrs_logo_yse.jpg +0 -0
  238. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/panstarrs_logo_yse_stack.jpg +0 -0
  239. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/pittsIcon.jpg +0 -0
  240. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/pittsIconHover.jpg +0 -0
  241. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/plus.jpg +0 -0
  242. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/ps1Icon.jpg +0 -0
  243. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/ps1IconHover.jpg +0 -0
  244. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/ps1sc.gif +0 -0
  245. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/qub-logo-hover.jpg +0 -0
  246. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/qub-logo.jpg +0 -0
  247. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/qubIcon.jpg +0 -0
  248. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/qubIconHover.jpg +0 -0
  249. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/sdss.gif +0 -0
  250. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/table-background.jpg +0 -0
  251. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/table-bottom-left.jpg +0 -0
  252. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/table-bottom-right.jpg +0 -0
  253. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/table-row.jpg +0 -0
  254. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/table-top-left.jpg +0 -0
  255. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/table-top-right.jpg +0 -0
  256. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/uhifaIcon.jpg +0 -0
  257. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/uhifaIconHover.jpg +0 -0
  258. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/up.jpeg +0 -0
  259. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/up.jpg +0 -0
  260. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/variable-stars-hover.jpg +0 -0
  261. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/images/variable-stars.jpg +0 -0
  262. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/js/aladin.js +0 -0
  263. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/js/celestial/celestial.js +0 -0
  264. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/js/celestial/d3.geo.projection.js +0 -0
  265. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/js/celestial/d3.geo.projection.min.js +0 -0
  266. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/js/celestial/d3.geo.zoom.js +0 -0
  267. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/js/celestial/d3.min.js +0 -0
  268. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/js/celestial/data/constellations.bounds.json +0 -0
  269. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/js/celestial/data/constellations.json +0 -0
  270. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/js/celestial/data/constellations.lines.json +0 -0
  271. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/js/celestial/data/dsos.bright.json +0 -0
  272. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/js/celestial/data/lg.json +0 -0
  273. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/js/celestial/data/mw.json +0 -0
  274. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/js/celestial/data/planets.json +0 -0
  275. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/js/celestial/data/stars.6.json +0 -0
  276. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/js/colourplot.js +0 -0
  277. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/js/flot/excanvas.js +0 -0
  278. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/js/flot/jquery-1.7.2.js +0 -0
  279. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/js/flot/jquery.flot.axislabels.js +0 -0
  280. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/js/flot/jquery.flot.crosshair.js +0 -0
  281. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/js/flot/jquery.flot.errorbars.js +0 -0
  282. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/js/flot/jquery.flot.fillbetween.js +0 -0
  283. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/js/flot/jquery.flot.image.js +0 -0
  284. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/js/flot/jquery.flot.js +0 -0
  285. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/js/flot/jquery.flot.navigate.js +0 -0
  286. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/js/flot/jquery.flot.pie.js +0 -0
  287. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/js/flot/jquery.flot.resize.js +0 -0
  288. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/js/flot/jquery.flot.selection.js +0 -0
  289. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/js/flot/jquery.flot.stack.js +0 -0
  290. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/js/flot/jquery.flot.symbol.js +0 -0
  291. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/js/flot/jquery.flot.threshold.js +0 -0
  292. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/js/followup_selectall.js +0 -0
  293. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/js/lightcurve.js +0 -0
  294. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/js/lightcurveplotly.js +0 -0
  295. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/js/mjdcalc.js +0 -0
  296. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/js/plotly/plotly-latest.kws.js +0 -0
  297. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/js/recurrenceplot.js +0 -0
  298. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/js/recurrenceplotplotly.js +0 -0
  299. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/webfonts/fa-brands-400.eot +0 -0
  300. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/webfonts/fa-brands-400.svg +0 -0
  301. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/webfonts/fa-brands-400.ttf +0 -0
  302. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/webfonts/fa-brands-400.woff +0 -0
  303. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/webfonts/fa-brands-400.woff2 +0 -0
  304. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/webfonts/fa-regular-400.eot +0 -0
  305. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/webfonts/fa-regular-400.svg +0 -0
  306. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/webfonts/fa-regular-400.ttf +0 -0
  307. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/webfonts/fa-regular-400.woff +0 -0
  308. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/webfonts/fa-regular-400.woff2 +0 -0
  309. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/webfonts/fa-solid-900.eot +0 -0
  310. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/webfonts/fa-solid-900.svg +0 -0
  311. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/webfonts/fa-solid-900.ttf +0 -0
  312. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/webfonts/fa-solid-900.woff +0 -0
  313. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/site_media/webfonts/fa-solid-900.woff2 +0 -0
  314. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/sql/create_web_cat_views.sql +0 -0
  315. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/sql/create_web_user_grants.sql +0 -0
  316. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/sql/create_web_views.sql +0 -0
  317. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/sql/create_web_views_fgss.sql +0 -0
  318. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/400.html +0 -0
  319. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/403.html +0 -0
  320. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/404.html +0 -0
  321. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/500.html +0 -0
  322. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/admin/base_site.html +0 -0
  323. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/base.html +0 -0
  324. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/base_bootstrap.html +0 -0
  325. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/base_bootstrap_login.html +0 -0
  326. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/base_new.html +0 -0
  327. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/bootstrap4_django_tables2_atlas.html +0 -0
  328. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/invalid_login.html +0 -0
  329. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/loggedin.html +0 -0
  330. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/login.html +0 -0
  331. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/logout.html +0 -0
  332. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/psdb/atelsdiscovery.txt +0 -0
  333. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/psdb/candidate.html +0 -0
  334. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/psdb/candidate_quickview.html +0 -0
  335. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/psdb/candidateflot.html +0 -0
  336. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/psdb/candidates.html +0 -0
  337. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/psdb/colourdata.txt +0 -0
  338. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/psdb/crossmatch_cfa_with_ipp.html +0 -0
  339. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/psdb/crossmatch_external.html +0 -0
  340. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/psdb/dss2.html +0 -0
  341. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/psdb/error.html +0 -0
  342. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/psdb/fasttrackastronote.txt +0 -0
  343. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/psdb/filter.html +0 -0
  344. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/psdb/followup.html +0 -0
  345. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/psdb/followup.txt +0 -0
  346. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/psdb/followup_bs.html +0 -0
  347. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/psdb/followup_bs_old.html +0 -0
  348. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/psdb/followup_quickview.html +0 -0
  349. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/psdb/followup_quickview_bs.html +0 -0
  350. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/psdb/followup_quickview_bs_old.html +0 -0
  351. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/psdb/gcn.txt +0 -0
  352. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/psdb/gcn_latex.txt +0 -0
  353. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/psdb/index.html +0 -0
  354. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/psdb/index_bs_celestial.html +0 -0
  355. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/psdb/index_public.html +0 -0
  356. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/psdb/lightcurve.txt +0 -0
  357. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/psdb/lightcurveforced.txt +0 -0
  358. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/psdb/lightcurves.html +0 -0
  359. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/psdb/obscat.txt +0 -0
  360. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/psdb/obsmediawiki.txt +0 -0
  361. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/psdb/public.html +0 -0
  362. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/psdb/public_textonly.txt +0 -0
  363. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/psdb/reports.html +0 -0
  364. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/psdb/search_results.html +0 -0
  365. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/psdb/search_results_plotly.html +0 -0
  366. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/psdb/sne.json +0 -0
  367. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/psdb/userdefinedlists.html +0 -0
  368. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/ps1/templates/psdb/userdefinedlists_bs.html +0 -0
  369. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/atlas_detections.sql +0 -0
  370. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/atlas_detectionsddc.sql +0 -0
  371. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/atlas_detectionsnnc.sql +0 -0
  372. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/atlas_diff_detections.sql +0 -0
  373. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/atlas_diff_logs.sql +0 -0
  374. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/atlas_diff_moments.sql +0 -0
  375. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/atlas_diff_objects.sql +0 -0
  376. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/atlas_diff_subcell_logs.sql +0 -0
  377. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/atlas_diff_subcells.sql +0 -0
  378. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/atlas_forced_photometry.sql +0 -0
  379. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/atlas_heatmaps.sql +0 -0
  380. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/atlas_metadata.sql +0 -0
  381. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/atlas_metadataddc.sql +0 -0
  382. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/atlas_objects.sql +0 -0
  383. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/atlas_stacked_forced_photometry.sql +0 -0
  384. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/convert_backend_storage_to_innodb.sql +0 -0
  385. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/create_atlas_flattened_view.sql +0 -0
  386. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/create_photpipe_views.sql +0 -0
  387. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/create_schema.sql +0 -0
  388. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/create_user_grants.sql +0 -0
  389. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/create_user_grants_generic.sql +0 -0
  390. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/create_user_grants_root.sql +0 -0
  391. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/delete_transients.sql +0 -0
  392. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/generateATLASSchemaAndCPPClasses.py +0 -0
  393. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/get_table_columns_for_avro.py +0 -0
  394. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/get_table_columns_for_avro.sql +0 -0
  395. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/mjdnow.sql +0 -0
  396. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/refresh_django_views.py +0 -0
  397. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/setup_database.py +0 -0
  398. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/setup_database_utils.py +0 -0
  399. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/sherlock_classifications.sql +0 -0
  400. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/sherlock_crossmatches.sql +0 -0
  401. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/sherlock_triggers_atlas.sql +0 -0
  402. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/sherlock_triggers_ps1.sql +0 -0
  403. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_cat_gaia_dr1.sql +0 -0
  404. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_cat_gaia_dr2.sql +0 -0
  405. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_cat_gaia_dr2_cassandra.cql +0 -0
  406. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_cat_kepler_k2.sql +0 -0
  407. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_cat_kepler_k2_pixels.sql +0 -0
  408. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_cat_ps1_medium_deep_ref.sql +0 -0
  409. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_cat_ps1_ubercal_stars.sql +0 -0
  410. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_cat_satellites.sql +0 -0
  411. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_catalogue_tables.sql +0 -0
  412. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_cfa_detections.sql +0 -0
  413. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_cfa_to_ipp_lookup.sql +0 -0
  414. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_classification_flags.sql +0 -0
  415. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_classification_history.sql +0 -0
  416. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_cmf_metadata.sql +0 -0
  417. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_cross_matches.sql +0 -0
  418. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_cross_matches_external.sql +0 -0
  419. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_detection_lists.sql +0 -0
  420. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_detection_lists_atlas.sql +0 -0
  421. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_followup_photometry.sql +0 -0
  422. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_followup_telescope_instruments.sql +0 -0
  423. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_followup_telescopes.sql +0 -0
  424. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_forced_photometry.sql +0 -0
  425. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_function_lunation.sql +0 -0
  426. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_function_mjdlunation.sql +0 -0
  427. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_gravity_alerts.sql +0 -0
  428. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_gravity_event_annotations.sql +0 -0
  429. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_gravity_events.sql +0 -0
  430. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_guide_star_cat.sql +0 -0
  431. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_image_groups.sql +0 -0
  432. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_images.sql +0 -0
  433. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_ipp_to_cfa_lookup.sql +0 -0
  434. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_latest_object_stats.sql +0 -0
  435. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_object_comments.sql +0 -0
  436. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_object_group_definitions.sql +0 -0
  437. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_object_group_definitions_atlas.sql +0 -0
  438. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_object_groups.sql +0 -0
  439. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_parameter_definitions.sql +0 -0
  440. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_photpipe_detections.sql +0 -0
  441. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_postage_stamp_images.sql +0 -0
  442. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_postage_stamp_requests.sql +0 -0
  443. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_postage_stamp_status_codes.sql +0 -0
  444. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_processing_status.sql +0 -0
  445. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_search_parameters.sql +0 -0
  446. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_tns_requests.sql +0 -0
  447. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_tphot_detections.sql +0 -0
  448. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_transient_objects.sql +0 -0
  449. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_transient_reobservations.sql +0 -0
  450. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_vra_rank.sql +0 -0
  451. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_vra_todo.sql +0 -0
  452. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_zoo_requests.sql +0 -0
  453. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/tcs_zooniverse_scores.sql +0 -0
  454. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/types_gaia_dr2_cassandra.txt +0 -0
  455. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/update_database_types_to_tns_types_atlas.sql +0 -0
  456. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/update_database_types_to_tns_types_panstarrs.sql +0 -0
  457. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/update_tcs_gravity_alerts_001.sql +0 -0
  458. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/update_tcs_gravity_event_annotations_001.sql +0 -0
  459. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/update_tcs_latest_object_stats_001.sql +0 -0
  460. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/update_tcs_vra_rank_20240814.sql +0 -0
  461. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/update_tcs_vra_scores_20240814.sql +0 -0
  462. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web/schema/vra_triggers_atlas.sql +0 -0
  463. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web.egg-info/dependency_links.txt +0 -0
  464. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web.egg-info/not-zip-safe +0 -0
  465. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web.egg-info/requires.txt +0 -0
  466. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/psat_server_web.egg-info/top_level.txt +0 -0
  467. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/setup.cfg +0 -0
  468. {psat_server_web-0.4.0 → psat_server_web-0.4.2}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: psat-server-web
3
- Version: 0.4.0
3
+ Version: 0.4.2
4
4
  Summary: Pan-STARRS and ATLAS web interface.
5
5
  Home-page: https://github.com/genghisken/psat-server-web
6
6
  Author: genghisken
@@ -0,0 +1 @@
1
+ __version__ = '0.4.2'
@@ -0,0 +1,18 @@
1
+ """
2
+ Customise admin interface for Group model to include GroupProfile, so default
3
+ expiry time for tokens can be set.
4
+ """
5
+
6
+ from django.contrib import admin
7
+ from django.contrib.auth.models import Group
8
+ from .models import GroupProfile
9
+
10
+ class GroupProfileInline(admin.StackedInline):
11
+ model = GroupProfile
12
+ can_delete = False
13
+
14
+ class GroupAdmin(admin.ModelAdmin):
15
+ inlines = (GroupProfileInline,)
16
+
17
+ admin.site.unregister(Group)
18
+ admin.site.register(Group, GroupAdmin)
@@ -0,0 +1,8 @@
1
+ from django.apps import AppConfig
2
+
3
+
4
+ class ATLASAccountsConfig(AppConfig):
5
+ name = 'accounts'
6
+
7
+ def ready(self):
8
+ import accounts.signals
@@ -0,0 +1,32 @@
1
+ # Generated by Django 5.1 on 2024-10-30 15:28
2
+
3
+ import datetime
4
+ import django.db.models.deletion
5
+ from django.db import migrations, models
6
+
7
+
8
+ class Migration(migrations.Migration):
9
+
10
+ initial = True
11
+
12
+ dependencies = [
13
+ ('auth', '0012_alter_user_first_name_max_length'),
14
+ ]
15
+
16
+ operations = [
17
+ migrations.CreateModel(
18
+ name='GroupProfile',
19
+ fields=[
20
+ ('id', models.AutoField(primary_key=True, serialize=False)),
21
+ ('token_expiration_time', models.DurationField(default=datetime.timedelta(days=1), help_text='in days, default 1 day (24*60*60 seconds)')),
22
+ ('description', models.TextField(blank=True, help_text='What is the group for?')),
23
+ ('group', models.OneToOneField(on_delete=django.db.models.deletion.CASCADE, related_name='profile', to='auth.group')),
24
+ ],
25
+ options={
26
+ 'verbose_name': 'Group Profile',
27
+ 'verbose_name_plural': 'Group Profiles',
28
+ 'db_table': 'auth_group_profile',
29
+ 'managed': True,
30
+ },
31
+ ),
32
+ ]
@@ -0,0 +1,37 @@
1
+
2
+ from django.utils.timezone import timedelta
3
+ from django.contrib.auth.models import Group
4
+ from django.db import models
5
+
6
+
7
+
8
+ class GroupProfile(models.Model):
9
+ """GroupProfile.
10
+
11
+ Extension of the Group model to store additional information, such as token
12
+ expiration time.
13
+ """
14
+ id = models.AutoField(primary_key=True)
15
+ group = models.OneToOneField(
16
+ Group,
17
+ on_delete=models.CASCADE,
18
+ related_name='profile'
19
+ )
20
+ token_expiration_time = models.DurationField(
21
+ help_text='in days, default 1 day (24*60*60 seconds)',
22
+ default=timedelta(days=1)
23
+ )
24
+ description = models.TextField(
25
+ blank=True,
26
+ help_text='What is the group for?'
27
+ )
28
+
29
+ class Meta:
30
+ """Meta.
31
+ """
32
+ app_label = 'accounts'
33
+ managed = True
34
+ verbose_name = 'Group Profile'
35
+ verbose_name_plural = 'Group Profiles'
36
+ db_table = 'auth_group_profile'
37
+
@@ -0,0 +1,15 @@
1
+ from django.db.models.signals import post_save
2
+ from django.dispatch import receiver
3
+ from django.contrib.auth.models import Group
4
+ from .models import GroupProfile
5
+
6
+ @receiver(post_save, sender=Group)
7
+ def create_group_profile(sender, instance, created, **kwargs):
8
+ if created:
9
+ new_profile, profile_created = GroupProfile.objects.get_or_create(
10
+ group=instance
11
+ )
12
+ if profile_created:
13
+ # If we created a new profile then set the group's profile to it
14
+ instance.profile = new_profile
15
+ instance.save()
@@ -21,6 +21,12 @@ class CustomLCPoints(models.Model):
21
21
  dec = models.FloatField(db_column='dec')
22
22
  atlas_metadata_id = models.IntegerField(db_column='atlas_metadata_id')
23
23
 
24
+ class Meta:
25
+ """Meta.
26
+ """
27
+
28
+ managed = False
29
+
24
30
  # 2023-12-19 KWS Added ALL the detection columns - not just the ones for plotting.
25
31
  # 2024-03-07 KWS Added date_inserted column.
26
32
  class CustomLCPoints2(models.Model):
@@ -61,6 +67,12 @@ class CustomLCPoints2(models.Model):
61
67
  dflx = models.FloatField(db_column='dflx')
62
68
  date_inserted = models.DateTimeField(db_column='date_inserted')
63
69
 
70
+ class Meta:
71
+ """Meta.
72
+ """
73
+
74
+ managed = False
75
+
64
76
 
65
77
  class CustomLCBlanks(models.Model):
66
78
  """CustomLCBlanks.
@@ -77,6 +89,12 @@ class CustomLCBlanks(models.Model):
77
89
  reference = models.CharField(max_length=765, db_column='reference')
78
90
  pointing = models.CharField(max_length=765, db_column='pointing')
79
91
 
92
+ class Meta:
93
+ """Meta.
94
+ """
95
+
96
+ managed = False
97
+
80
98
  # 2024-03-07 KWS Added date_inserted column.
81
99
  class CustomLCBlanks2(models.Model):
82
100
  """CustomLCBlanks2.
@@ -95,6 +113,12 @@ class CustomLCBlanks2(models.Model):
95
113
  mag5sig = models.FloatField(db_column='mag5sig')
96
114
  date_inserted = models.DateTimeField(db_column='date_inserted')
97
115
 
116
+ class Meta:
117
+ """Meta.
118
+ """
119
+
120
+ managed = False
121
+
98
122
  class CustomFollowupLCData(models.Model):
99
123
  """CustomFollowupLCData.
100
124
  """
@@ -110,6 +134,12 @@ class CustomFollowupLCData(models.Model):
110
134
  instrument_name = models.CharField(max_length=90, db_column='instrument_name')
111
135
  instrument_description = models.CharField(max_length=180, db_column='instrument_description')
112
136
 
137
+ class Meta:
138
+ """Meta.
139
+ """
140
+
141
+ managed = False
142
+
113
143
  class FollowupRaw(models.Model):
114
144
  """FollowupRaw.
115
145
  """
@@ -172,6 +202,12 @@ class FollowupRaw(models.Model):
172
202
  return xms
173
203
 
174
204
 
205
+ class Meta:
206
+ """Meta.
207
+ """
208
+
209
+ managed = False
210
+
175
211
 
176
212
  class WebViewAbstractFollowup(models.Model):
177
213
  """WebViewAbstractFollowup.
@@ -273,6 +309,7 @@ class WebViewFollowupTransients(WebViewAbstractFollowup):
273
309
  """Meta.
274
310
  """
275
311
 
312
+ managed = False
276
313
  db_table = 'atlas_v_followupall'
277
314
 
278
315
  class WebViewFollowupTransients0(WebViewAbstractFollowup):
@@ -284,6 +321,7 @@ class WebViewFollowupTransients0(WebViewAbstractFollowup):
284
321
  """Meta.
285
322
  """
286
323
 
324
+ managed = False
287
325
  db_table = 'atlas_v_followup0'
288
326
 
289
327
  class WebViewFollowupTransients1(WebViewAbstractFollowup):
@@ -295,6 +333,7 @@ class WebViewFollowupTransients1(WebViewAbstractFollowup):
295
333
  """Meta.
296
334
  """
297
335
 
336
+ managed = False
298
337
  db_table = 'atlas_v_followup1'
299
338
 
300
339
  class WebViewFollowupTransients2(WebViewAbstractFollowup):
@@ -306,6 +345,7 @@ class WebViewFollowupTransients2(WebViewAbstractFollowup):
306
345
  """Meta.
307
346
  """
308
347
 
348
+ managed = False
309
349
  db_table = 'atlas_v_followup2'
310
350
 
311
351
  class WebViewFollowupTransients3(WebViewAbstractFollowup):
@@ -317,6 +357,7 @@ class WebViewFollowupTransients3(WebViewAbstractFollowup):
317
357
  """Meta.
318
358
  """
319
359
 
360
+ managed = False
320
361
  db_table = 'atlas_v_followup3'
321
362
 
322
363
  class WebViewFollowupTransients4(WebViewAbstractFollowup):
@@ -328,6 +369,7 @@ class WebViewFollowupTransients4(WebViewAbstractFollowup):
328
369
  """Meta.
329
370
  """
330
371
 
372
+ managed = False
331
373
  db_table = 'atlas_v_followup4'
332
374
 
333
375
  class WebViewFollowupTransients5(WebViewAbstractFollowup):
@@ -339,6 +381,7 @@ class WebViewFollowupTransients5(WebViewAbstractFollowup):
339
381
  """Meta.
340
382
  """
341
383
 
384
+ managed = False
342
385
  db_table = 'atlas_v_followup5'
343
386
 
344
387
  class WebViewFollowupTransients6(WebViewAbstractFollowup):
@@ -350,6 +393,7 @@ class WebViewFollowupTransients6(WebViewAbstractFollowup):
350
393
  """Meta.
351
394
  """
352
395
 
396
+ managed = False
353
397
  db_table = 'atlas_v_followup6'
354
398
 
355
399
  class WebViewFollowupTransients7(WebViewAbstractFollowup):
@@ -361,6 +405,7 @@ class WebViewFollowupTransients7(WebViewAbstractFollowup):
361
405
  """Meta.
362
406
  """
363
407
 
408
+ managed = False
364
409
  db_table = 'atlas_v_followup7'
365
410
 
366
411
  class WebViewFollowupTransients8(WebViewAbstractFollowup):
@@ -372,6 +417,7 @@ class WebViewFollowupTransients8(WebViewAbstractFollowup):
372
417
  """Meta.
373
418
  """
374
419
 
420
+ managed = False
375
421
  db_table = 'atlas_v_followup8'
376
422
 
377
423
  class WebViewFollowupTransients9(WebViewAbstractFollowup):
@@ -383,6 +429,7 @@ class WebViewFollowupTransients9(WebViewAbstractFollowup):
383
429
  """Meta.
384
430
  """
385
431
 
432
+ managed = False
386
433
  db_table = 'atlas_v_followup9'
387
434
 
388
435
  class WebViewFollowupTransients10(WebViewAbstractFollowup):
@@ -394,6 +441,7 @@ class WebViewFollowupTransients10(WebViewAbstractFollowup):
394
441
  """Meta.
395
442
  """
396
443
 
444
+ managed = False
397
445
  db_table = 'atlas_v_followup10'
398
446
 
399
447
  class WebViewFollowupTransients11(WebViewAbstractFollowup):
@@ -405,6 +453,7 @@ class WebViewFollowupTransients11(WebViewAbstractFollowup):
405
453
  """Meta.
406
454
  """
407
455
 
456
+ managed = False
408
457
  db_table = 'atlas_v_followup11'
409
458
 
410
459
  class WebViewFollowupTransientsGeneric(WebViewAbstractFollowup):
@@ -416,6 +465,7 @@ class WebViewFollowupTransientsGeneric(WebViewAbstractFollowup):
416
465
  """Meta.
417
466
  """
418
467
 
468
+ managed = False
419
469
  db_table = 'atlas_v_followup'
420
470
 
421
471
  class WebViewFollowupTransientsGenericGW(WebViewAbstractFollowup):
@@ -427,6 +477,7 @@ class WebViewFollowupTransientsGenericGW(WebViewAbstractFollowup):
427
477
  """Meta.
428
478
  """
429
479
 
480
+ managed = False
430
481
  db_table = 'atlas_v_followup_gw'
431
482
 
432
483
 
@@ -550,6 +601,7 @@ class WebViewUserDefined(WebViewAbstractUserDefined):
550
601
  """Meta.
551
602
  """
552
603
 
604
+ managed = False
553
605
  db_table = 'atlas_v_followup_userdefined'
554
606
 
555
607
 
@@ -10,7 +10,6 @@
10
10
  import sys
11
11
 
12
12
  from django.db import models
13
-
14
13
  from gkutils.commonutils import FLAGS, PROCESSING_FLAGS, getFlagDefs, ra_to_sex, dec_to_sex, getDateFractionMJD, getMJDFromSqlDate
15
14
 
16
15
 
@@ -1021,6 +1020,7 @@ class TcsGravityEvents(models.Model):
1021
1020
  """Meta.
1022
1021
  """
1023
1022
 
1023
+ managed = False
1024
1024
  db_table = 'tcs_gravity_events'
1025
1025
 
1026
1026
 
@@ -1048,7 +1048,8 @@ class TcsGravityAlerts(models.Model):
1048
1048
  creator = models.CharField(max_length=30, blank=True, null=True)
1049
1049
  group = models.CharField(max_length=100, blank=True, null=True)
1050
1050
  pipeline = models.CharField(max_length=100, blank=True, null=True)
1051
- map_iteration = models.CharField(max_length=100, blank=True, null=True)
1051
+ #map_iteration = models.CharField(max_length=100, blank=True, null=True)
1052
+ map_iteration = models.CharField(max_length=100, blank=True, null=True, unique=True)
1052
1053
  alert_map = models.CharField(db_column='map', max_length=400, blank=True, null=True)
1053
1054
  interesting = models.IntegerField(blank=True, null=True)
1054
1055
  dateadded = models.DateTimeField(db_column='dateAdded', blank=True, null=True) # Field name made lowercase.
@@ -1167,6 +1168,7 @@ class TcsObjectComments(models.Model):
1167
1168
  """Meta.
1168
1169
  """
1169
1170
 
1171
+ managed = False
1170
1172
  db_table = 'tcs_object_comments'
1171
1173
 
1172
1174
 
@@ -25,9 +25,9 @@ SITE_ID = 1
25
25
  SECRET_KEY = os.environ.get('DJANGO_SECRET_KEY')
26
26
 
27
27
  # SECURITY WARNING: don't run with debug turned on in production!
28
- DEBUG = False
28
+ DEBUG = True
29
29
 
30
- TEMPLATE_DEBUG = False
30
+ TEMPLATE_DEBUG = True
31
31
 
32
32
  # 2021-08-21 KWS Need to set this to None, otherwise default is 1000.
33
33
  DATA_UPLOAD_MAX_NUMBER_FIELDS = None
@@ -63,6 +63,9 @@ DATABASES = {
63
63
  'PASSWORD': os.environ.get('DJANGO_MYSQL_DBPASS'),
64
64
  'HOST': os.environ.get('DJANGO_MYSQL_DBHOST'),
65
65
  'PORT': int(os.environ.get('DJANGO_MYSQL_DBPORT')),
66
+ 'TEST': {
67
+ 'NAME': os.environ.get('DJANGO_MYSQL_TESTDBNAME'),
68
+ }
66
69
  }
67
70
  }
68
71
 
@@ -177,8 +180,11 @@ INSTALLED_APPS = [
177
180
  'django.contrib.sites',
178
181
  'django.contrib.staticfiles',
179
182
  'atlas',
183
+ 'accounts',
180
184
  'django_tables2',
181
185
  'rest_framework',
182
186
  'rest_framework.authtoken',
183
187
  ]
184
188
 
189
+ # Token expiry time in days, default 1 day (24*60*60 seconds)
190
+ TOKEN_EXPIRY = int(os.environ.get("API_TOKEN_EXPIRY") or 86400) # seconds
@@ -1148,57 +1148,8 @@ def candidateddc(request, atlas_diff_objects_id, template_name):
1148
1148
  from django.db import connection
1149
1149
  import sys
1150
1150
 
1151
- # 2021-10-21 KWS Use the Lasair API to do a cone search so we can check for nearby ZTF objects
1152
- from lasair import LasairError, lasair_client as lasair
1153
-
1154
1151
  transient = get_object_or_404(AtlasDiffObjects, pk=atlas_diff_objects_id)
1155
1152
 
1156
- token = settings.LASAIR_TOKEN
1157
- # 2022-11-16 KWS Added a new timeout parameter, now available from Lasair client
1158
- # version v0.0.5+. This should help if Lasair goes offline for any
1159
- # reason. But extra (Requests)ConnectionError catch needed.
1160
- L = lasair(token, endpoint = 'https://lasair-ztf.lsst.ac.uk/api', timeout = 2.0)
1161
-
1162
- lasairZTFCrossmatches = None
1163
-
1164
- # If Lasair connectivity problems arise, comment out the following 4 lines.
1165
- try:
1166
- lasairZTFCrossmatches = L.cone(transient.ra, transient.dec, 2.0, requestType='all')
1167
- except RequestsConnectionError as e:
1168
- # If the API URL is incorrect or times out we will get a connection error.
1169
- sys.stderr.write('Lasair API Connection Error\n')
1170
- sys.stderr.write('%s\n' % str(e))
1171
- except RequestsConnectionTimeoutError as e:
1172
- # If the API times out, we will get a timeout error.
1173
- sys.stderr.write('Lasair API Timeout Error\n')
1174
- sys.stderr.write('%s\n' % str(e))
1175
- except LasairError as e:
1176
- sys.stderr.write('Lasair Error\n')
1177
- sys.stderr.write('%s\n' % str(e))
1178
-
1179
- # 2024-10-15 KWS Talk to the ATLAS API. Are there any ATLAS objects nearby?
1180
- sys.path.append('../../common')
1181
- from psat_api_client import PSATAPIError, psat_client as psat
1182
-
1183
- # 2022-11-16 KWS Added a new timeout parameter, now available from Lasair client
1184
- # version v0.0.5+. This should help if Lasair goes offline for any
1185
- # reason. But extra (Requests)ConnectionError catch needed.
1186
- P = psat(settings.PANSTARRS_TOKEN, endpoint = settings.PANSTARRS_BASE_URL + '/api/', timeout = 2.0)
1187
-
1188
- panstarrsCrossmatches = None
1189
- try:
1190
- panstarrsCrossmatches = P.cone(transient.ra, transient.dec, 2.0, requestType='all')
1191
- except RequestsConnectionError as e:
1192
- # If the API URL is incorrect or times out we will get a connection error.
1193
- sys.stderr.write('Pan-STARRS API Connection Error\n')
1194
- sys.stderr.write('%s\n' % str(e))
1195
- except RequestsConnectionTimeoutError as e:
1196
- # If the API times out, we will get a timeout error.
1197
- sys.stderr.write('Pan-STARRS API Timeout Error\n')
1198
- sys.stderr.write('%s\n' % str(e))
1199
- except PSATAPIError as e:
1200
- sys.stderr.write('Pan-STARRS Error\n')
1201
- sys.stderr.write('%s\n' % str(e))
1202
1153
 
1203
1154
  # 2015-11-17 KWS Get the processing status. If it's not 2, what is it?
1204
1155
  processingStatusData = TcsProcessingStatus.objects.all().exclude(status = 2)
@@ -1341,6 +1292,54 @@ def candidateddc(request, atlas_diff_objects_id, template_name):
1341
1292
  if detectionList:
1342
1293
  listId = detectionList.id
1343
1294
 
1295
+ # 2024-10-18 KWS Moved to down below where the average coordinates are calculated so we can use them.
1296
+ # 2021-10-21 KWS Use the Lasair API to do a cone search so we can check for nearby ZTF objects
1297
+ from lasair import LasairError, lasair_client as lasair
1298
+
1299
+ token = settings.LASAIR_TOKEN
1300
+ # 2022-11-16 KWS Added a new timeout parameter, now available from Lasair client
1301
+ # version v0.0.5+. This should help if Lasair goes offline for any
1302
+ # reason. But extra (Requests)ConnectionError catch needed.
1303
+ L = lasair(token, endpoint = 'https://lasair-ztf.lsst.ac.uk/api', timeout = 2.0)
1304
+
1305
+ lasairZTFCrossmatches = None
1306
+
1307
+ # If Lasair connectivity problems arise, comment out the following 4 lines.
1308
+ try:
1309
+ lasairZTFCrossmatches = L.cone(avgCoords['ra'], avgCoords['dec'], 2.0, requestType='all')
1310
+ except RequestsConnectionError as e:
1311
+ # If the API URL is incorrect or times out we will get a connection error.
1312
+ sys.stderr.write('Lasair API Connection Error\n')
1313
+ sys.stderr.write('%s\n' % str(e))
1314
+ except RequestsConnectionTimeoutError as e:
1315
+ # If the API times out, we will get a timeout error.
1316
+ sys.stderr.write('Lasair API Timeout Error\n')
1317
+ sys.stderr.write('%s\n' % str(e))
1318
+ except LasairError as e:
1319
+ sys.stderr.write('Lasair Error\n')
1320
+ sys.stderr.write('%s\n' % str(e))
1321
+
1322
+ # 2024-10-15 KWS Talk to the ATLAS API. Are there any ATLAS objects nearby?
1323
+ sys.path.append('../../common')
1324
+ from psat_api_client import PSATAPIError, psat_client as psat
1325
+
1326
+ P = psat(settings.PANSTARRS_TOKEN, endpoint = settings.PANSTARRS_BASE_URL + '/api/', timeout = 2.0)
1327
+
1328
+ panstarrsCrossmatches = None
1329
+ try:
1330
+ panstarrsCrossmatches = P.cone(avgCoords['ra'], avgCoords['dec'], 1.0, requestType='all')
1331
+ except RequestsConnectionError as e:
1332
+ # If the API URL is incorrect or times out we will get a connection error.
1333
+ sys.stderr.write('Pan-STARRS API Connection Error\n')
1334
+ sys.stderr.write('%s\n' % str(e))
1335
+ except RequestsConnectionTimeoutError as e:
1336
+ # If the API times out, we will get a timeout error.
1337
+ sys.stderr.write('Pan-STARRS API Timeout Error\n')
1338
+ sys.stderr.write('%s\n' % str(e))
1339
+ except PSATAPIError as e:
1340
+ sys.stderr.write('Pan-STARRS Error\n')
1341
+ sys.stderr.write('%s\n' % str(e))
1342
+
1344
1343
  # Dummy form initialisation
1345
1344
  formSearchObject = SearchForObjectForm()
1346
1345
  form = PromoteAndCommentsForm()
@@ -0,0 +1,55 @@
1
+ from re import match
2
+
3
+ from django.conf import settings
4
+ from django.utils.timezone import now
5
+ from rest_framework.authtoken.models import Token
6
+ from rest_framework.authentication import TokenAuthentication
7
+ from rest_framework.exceptions import AuthenticationFailed
8
+
9
+ class ExpiringTokenAuthentication(TokenAuthentication):
10
+ """
11
+ Token authentication using the ExpiringToken model, which has an expiry
12
+ date and must be refreshed manually or automatically.
13
+
14
+ The token is passed in the Authorization header as 'Token <key>'.
15
+ """
16
+ model = Token
17
+
18
+ def authenticate_credentials(self, key):
19
+ user, token = super().authenticate_credentials(key)
20
+
21
+ # Retrieve the user's group and get the token expiration time from the group profile
22
+ if user.groups.exists():
23
+ try:
24
+ group_profile = user.groups.first().profile
25
+ except AttributeError:
26
+ # TODO: Log this error?
27
+ raise AuthenticationFailed('Could not authenticate: Group has no profile. Please contact administrator.')
28
+ token_expiration_time = group_profile.token_expiration_time.total_seconds()
29
+ else:
30
+ # Otherwise use the default expiration time
31
+ token_expiration_time = settings.TOKEN_EXPIRY
32
+
33
+ # Calculate the token's age and compare it to the expiration setting
34
+ token_age = (now() - token.created).total_seconds()
35
+ if token_age > token_expiration_time:
36
+ raise AuthenticationFailed('Token has expired.')
37
+
38
+ return user, token
39
+
40
+
41
+ class QueryAuthentication(ExpiringTokenAuthentication):
42
+ """
43
+ Token authentication using query parameters.
44
+ """
45
+ def authenticate(self, request):
46
+ token = request.query_params.get('token')
47
+
48
+ if not token:
49
+ return None
50
+
51
+ if not match("^\w+$", token):
52
+ msg = 'Invalid token format.'
53
+ raise AuthenticationFailed(msg)
54
+
55
+ return self.authenticate_credentials(token)
@@ -9,5 +9,4 @@ class IsApprovedUser(BasePermission):
9
9
  # Only allow POST if the user is authenticated, active, and staff
10
10
  return (request.user
11
11
  and request.user.is_authenticated
12
- and request.user.is_active
13
12
  and request.user.is_staff)
@@ -1,6 +1,5 @@
1
1
  from django.urls import include, path
2
2
  from rest_framework import routers
3
- from rest_framework.authtoken.views import obtain_auth_token
4
3
  from . import views
5
4
 
6
5
  urlpatterns = [
@@ -17,6 +16,6 @@ urlpatterns = [
17
16
  path('api/vrarank/', views.VRARankView.as_view()),
18
17
  path('api/vraranklist/', views.VRARankListView.as_view()),
19
18
  path('api/externalxmlist/', views.ExternalCrossmatchesListView.as_view()),
19
+ path('api/auth-token/', views.ObtainExpiringAuthToken.as_view(), name='auth_token'),
20
20
  path('api/objectdetectionlist/', views.ObjectDetectionListView.as_view()),
21
- path('api/auth-token/', obtain_auth_token, name='auth_token'),
22
21
  ]