psat-server-web 0.3.22__tar.gz → 0.4.1__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 (461) hide show
  1. {psat_server_web-0.3.22/psat_server_web.egg-info → psat_server_web-0.4.1}/PKG-INFO +1 -1
  2. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/__init__.py +1 -0
  3. psat_server_web-0.4.1/psat_server_web/__version__.py +1 -0
  4. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/atlas/settings.py +3 -0
  5. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/atlas/views.py +49 -26
  6. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/atlasapi/serializers.py +11 -10
  7. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/generate_mod_wsgi_apachectl.sh +3 -0
  8. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/atlas/candidate_plotly.html +20 -0
  9. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/atlas/index_bs_celestial.html +1 -0
  10. psat_server_web-0.4.1/psat_server_web/common/psat_api_client.py +110 -0
  11. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/generate_mod_wsgi_apachectl.sh +3 -0
  12. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/psdb/models.py +2 -1
  13. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/psdb/settings.py +3 -0
  14. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/psdb/views.py +48 -26
  15. psat_server_web-0.4.1/psat_server_web/ps1/psdbapi/permissions.py +13 -0
  16. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/psdbapi/serializers.py +11 -10
  17. psat_server_web-0.4.1/psat_server_web/ps1/psdbapi/urls.py +9 -0
  18. psat_server_web-0.4.1/psat_server_web/ps1/psdbapi/views.py +36 -0
  19. psat_server_web-0.4.1/psat_server_web/ps1/site_media/js/celestial/data/__init__.py +0 -0
  20. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/psdb/candidate_plotly.html +19 -0
  21. {psat_server_web-0.3.22 → psat_server_web-0.4.1/psat_server_web.egg-info}/PKG-INFO +1 -1
  22. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web.egg-info/SOURCES.txt +3 -0
  23. psat_server_web-0.3.22/psat_server_web/__version__.py +0 -1
  24. psat_server_web-0.3.22/psat_server_web/ps1/psdbapi/urls.py +0 -20
  25. psat_server_web-0.3.22/psat_server_web/ps1/psdbapi/views.py +0 -241
  26. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/LICENSE +0 -0
  27. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/MANIFEST.in +0 -0
  28. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/README.md +0 -0
  29. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/.DS_Store +0 -0
  30. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/.DS_Store +0 -0
  31. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/__init__.py +0 -0
  32. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/atlas/__init__.py +0 -0
  33. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/atlas/apiutils.py +0 -0
  34. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/atlas/commonqueries.py +0 -0
  35. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/atlas/dbviews.py +0 -0
  36. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/atlas/document.sh +0 -0
  37. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/atlas/formchoices.py +0 -0
  38. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/atlas/helpers.py +0 -0
  39. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/atlas/insert_gravity_event.sql +0 -0
  40. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/atlas/lightcurvequeries.py +0 -0
  41. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/atlas/models.py +0 -0
  42. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/atlas/sqlpaginator.py +0 -0
  43. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/atlas/urls.py +0 -0
  44. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/atlas/view_celestial.py +0 -0
  45. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/atlas/wsgi.atlas.conf +0 -0
  46. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/atlas/wsgi.py +0 -0
  47. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/atlas/wsgi_apache_example.conf +0 -0
  48. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/atlasapi/apps.py +0 -0
  49. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/atlasapi/permissions.py +0 -0
  50. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/atlasapi/query_auth.py +0 -0
  51. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/atlasapi/urls.py +0 -0
  52. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/atlasapi/views.py +0 -0
  53. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/cow_backup.txt +0 -0
  54. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/generate_mod_wsgi_apachectl_test.sh +0 -0
  55. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/manage.py +0 -0
  56. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/media/images/README.txt +0 -0
  57. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/css/aladin.css +0 -0
  58. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/css/celestial.css +0 -0
  59. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/css/fontawesome.css +0 -0
  60. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/css/main.css +0 -0
  61. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/css/main_bootstrap.css +0 -0
  62. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/images/atlas_logo.png +0 -0
  63. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/images/image_not_available.jpeg +0 -0
  64. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/js/aladin.js +0 -0
  65. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/js/bootstrap_utils.js +0 -0
  66. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/js/celestial/celestial.js +0 -0
  67. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/js/celestial/d3.geo.projection.js +0 -0
  68. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/js/celestial/d3.geo.projection.min.js +0 -0
  69. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/js/celestial/d3.geo.zoom.js +0 -0
  70. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/js/celestial/d3.min.js +0 -0
  71. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/js/celestial/data/__init__.py +0 -0
  72. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/js/celestial/data/constellations.bounds.json +0 -0
  73. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/js/celestial/data/constellations.json +0 -0
  74. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/js/celestial/data/constellations.lines.json +0 -0
  75. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/js/celestial/data/dsos.bright.json +0 -0
  76. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/js/celestial/data/lg.json +0 -0
  77. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/js/celestial/data/mw.json +0 -0
  78. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/js/celestial/data/planets.json +0 -0
  79. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/js/celestial/data/stars.6.json +0 -0
  80. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/js/colourplot.js +0 -0
  81. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/js/flot/excanvas.js +0 -0
  82. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/js/flot/jquery-1.7.2.js +0 -0
  83. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/js/flot/jquery.flot.axislabels.js +0 -0
  84. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/js/flot/jquery.flot.crosshair.js +0 -0
  85. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/js/flot/jquery.flot.errorbars.js +0 -0
  86. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/js/flot/jquery.flot.fillbetween.js +0 -0
  87. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/js/flot/jquery.flot.image.js +0 -0
  88. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/js/flot/jquery.flot.js +0 -0
  89. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/js/flot/jquery.flot.navigate.js +0 -0
  90. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/js/flot/jquery.flot.pie.js +0 -0
  91. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/js/flot/jquery.flot.resize.js +0 -0
  92. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/js/flot/jquery.flot.selection.js +0 -0
  93. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/js/flot/jquery.flot.stack.js +0 -0
  94. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/js/flot/jquery.flot.symbol.js +0 -0
  95. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/js/flot/jquery.flot.threshold.js +0 -0
  96. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/js/followup_selectall.js +0 -0
  97. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/js/heatmap.js +0 -0
  98. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/js/lightcurve.js +0 -0
  99. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/js/lightcurveplotly.js +0 -0
  100. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/js/mjdcalc.js +0 -0
  101. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/js/plotly/plotly-latest.kws.js +0 -0
  102. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/js/recurrenceplot.js +0 -0
  103. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/js/recurrenceplotplotly.js +0 -0
  104. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/webfonts/fa-brands-400.eot +0 -0
  105. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/webfonts/fa-brands-400.svg +0 -0
  106. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/webfonts/fa-brands-400.ttf +0 -0
  107. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/webfonts/fa-brands-400.woff +0 -0
  108. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/webfonts/fa-brands-400.woff2 +0 -0
  109. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/webfonts/fa-regular-400.eot +0 -0
  110. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/webfonts/fa-regular-400.svg +0 -0
  111. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/webfonts/fa-regular-400.ttf +0 -0
  112. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/webfonts/fa-regular-400.woff +0 -0
  113. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/webfonts/fa-regular-400.woff2 +0 -0
  114. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/webfonts/fa-solid-900.eot +0 -0
  115. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/webfonts/fa-solid-900.svg +0 -0
  116. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/webfonts/fa-solid-900.ttf +0 -0
  117. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/webfonts/fa-solid-900.woff +0 -0
  118. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/site_media/webfonts/fa-solid-900.woff2 +0 -0
  119. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/sql/create_web_views.sql +0 -0
  120. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/.DS_Store +0 -0
  121. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/400.html +0 -0
  122. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/403.html +0 -0
  123. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/404.html +0 -0
  124. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/500.html +0 -0
  125. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/atlas/atelfasttrackobject.txt +0 -0
  126. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/atlas/atelsdiscovery.txt +0 -0
  127. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/atlas/atelsfast.txt +0 -0
  128. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/atlas/candidate.html +0 -0
  129. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/atlas/candidate_plotly_test.html +0 -0
  130. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/atlas/crossmatch_external.html +0 -0
  131. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/atlas/error.html +0 -0
  132. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/atlas/followup.html +0 -0
  133. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/atlas/followup.txt +0 -0
  134. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/atlas/followup2.html +0 -0
  135. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/atlas/followup_bs.html +0 -0
  136. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/atlas/followup_bypass_django_tables.html +0 -0
  137. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/atlas/followup_quickview.html +0 -0
  138. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/atlas/followup_quickview_bs.html +0 -0
  139. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/atlas/followup_subset.txt +0 -0
  140. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/atlas/gcn.txt +0 -0
  141. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/atlas/gcn_latex.txt +0 -0
  142. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/atlas/heatmap.html +0 -0
  143. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/atlas/heatmap_test.html +0 -0
  144. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/atlas/index.html +0 -0
  145. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/atlas/index_bs.html +0 -0
  146. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/atlas/index_bs_celestial_experiment.html +0 -0
  147. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/atlas/iobserve.txt +0 -0
  148. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/atlas/lightcurve.txt +0 -0
  149. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/atlas/lightcurveddc.txt +0 -0
  150. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/atlas/lightcurveforced.txt +0 -0
  151. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/atlas/lightcurvestackedforced.txt +0 -0
  152. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/atlas/pesstorecurrences.txt +0 -0
  153. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/atlas/pesstorecurrencesddc.txt +0 -0
  154. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/atlas/pesstosummary.txt +0 -0
  155. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/atlas/search_results.html +0 -0
  156. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/atlas/search_results_plotly.html +0 -0
  157. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/atlas/sne.json +0 -0
  158. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/atlas/summary.csv +0 -0
  159. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/atlas/userdefinedlists.html +0 -0
  160. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/atlas/userdefinedlists_bs.html +0 -0
  161. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/atlas/visibility.txt +0 -0
  162. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/base.html +0 -0
  163. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/base_bootstrap.html +0 -0
  164. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/base_bootstrap_login.html +0 -0
  165. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/bootstrap4_django_tables2_atlas.html +0 -0
  166. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/invalid_login.html +0 -0
  167. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/loggedin.html +0 -0
  168. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/login.html +0 -0
  169. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/templates/logout.html +0 -0
  170. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/atlas/test.py +0 -0
  171. {psat_server_web-0.3.22/psat_server_web/ps1 → psat_server_web-0.4.1/psat_server_web/common}/__init__.py +0 -0
  172. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/config/wsgi.conf.template +0 -0
  173. {psat_server_web-0.3.22/psat_server_web/ps1/psdb → psat_server_web-0.4.1/psat_server_web/ps1}/__init__.py +0 -0
  174. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/createUsers.py +0 -0
  175. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/manage.py +0 -0
  176. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/media/images/README.txt +0 -0
  177. {psat_server_web-0.3.22/psat_server_web/ps1/site_media/js/celestial/data → psat_server_web-0.4.1/psat_server_web/ps1/psdb}/__init__.py +0 -0
  178. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/psdb/admin.py.old +0 -0
  179. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/psdb/catalogueviews.py +0 -0
  180. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/psdb/commonqueries.py +0 -0
  181. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/psdb/dbviews.py +0 -0
  182. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/psdb/formchoices.py +0 -0
  183. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/psdb/helpers.py +0 -0
  184. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/psdb/img_scale.py +0 -0
  185. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/psdb/lightcurvequeries.py +0 -0
  186. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/psdb/urls.py +0 -0
  187. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/psdb/wsgi.py +0 -0
  188. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/psdb/wsgi_apache_example.conf +0 -0
  189. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/psdbapi/apps.py +0 -0
  190. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/psdbapi/query_auth.py +0 -0
  191. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/css/aladin.css +0 -0
  192. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/css/celestial.css +0 -0
  193. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/css/fontawesome.css +0 -0
  194. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/css/main.css +0 -0
  195. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/css/main_bootstrap.css +0 -0
  196. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/1-star-hover.jpg +0 -0
  197. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/1-star.jpg +0 -0
  198. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/2-star-hover.jpg +0 -0
  199. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/2-star.jpg +0 -0
  200. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/3-star-hover.jpg +0 -0
  201. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/3-star.jpg +0 -0
  202. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/aladin.gif +0 -0
  203. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/cfaIcon.jpg +0 -0
  204. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/cfaIconHover.jpg +0 -0
  205. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/confirmed-sne-hover.jpg +0 -0
  206. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/confirmed-sne.jpg +0 -0
  207. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/detection_example.jpg +0 -0
  208. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/down.jpeg +0 -0
  209. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/down.jpg +0 -0
  210. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/image_not_available.jpeg +0 -0
  211. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/jhuIcon.jpg +0 -0
  212. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/jhuIconHover.jpg +0 -0
  213. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/minus.jpg +0 -0
  214. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/ncuIcon.jpg +0 -0
  215. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/ncuIconHover.jpg +0 -0
  216. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/non_detection_example.jpg +0 -0
  217. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/others-hover.jpg +0 -0
  218. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/others.jpg +0 -0
  219. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/panstarrs-logo-hover.jpg +0 -0
  220. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/panstarrs-logo.jpg +0 -0
  221. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/panstarrs1_logo.jpg +0 -0
  222. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/panstarrs1_o3_logo.jpg +0 -0
  223. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/panstarrs2_logo.jpg +0 -0
  224. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/panstarrs2_o3_logo.jpg +0 -0
  225. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/panstarrs_logo.jpg +0 -0
  226. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/panstarrs_logo_o4.jpg +0 -0
  227. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/panstarrs_logo_original.jpg +0 -0
  228. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/panstarrs_logo_yse.jpg +0 -0
  229. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/panstarrs_logo_yse_stack.jpg +0 -0
  230. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/pittsIcon.jpg +0 -0
  231. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/pittsIconHover.jpg +0 -0
  232. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/plus.jpg +0 -0
  233. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/ps1Icon.jpg +0 -0
  234. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/ps1IconHover.jpg +0 -0
  235. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/ps1sc.gif +0 -0
  236. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/qub-logo-hover.jpg +0 -0
  237. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/qub-logo.jpg +0 -0
  238. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/qubIcon.jpg +0 -0
  239. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/qubIconHover.jpg +0 -0
  240. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/sdss.gif +0 -0
  241. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/table-background.jpg +0 -0
  242. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/table-bottom-left.jpg +0 -0
  243. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/table-bottom-right.jpg +0 -0
  244. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/table-row.jpg +0 -0
  245. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/table-top-left.jpg +0 -0
  246. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/table-top-right.jpg +0 -0
  247. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/uhifaIcon.jpg +0 -0
  248. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/uhifaIconHover.jpg +0 -0
  249. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/up.jpeg +0 -0
  250. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/up.jpg +0 -0
  251. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/variable-stars-hover.jpg +0 -0
  252. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/images/variable-stars.jpg +0 -0
  253. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/js/aladin.js +0 -0
  254. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/js/celestial/celestial.js +0 -0
  255. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/js/celestial/d3.geo.projection.js +0 -0
  256. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/js/celestial/d3.geo.projection.min.js +0 -0
  257. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/js/celestial/d3.geo.zoom.js +0 -0
  258. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/js/celestial/d3.min.js +0 -0
  259. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/js/celestial/data/constellations.bounds.json +0 -0
  260. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/js/celestial/data/constellations.json +0 -0
  261. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/js/celestial/data/constellations.lines.json +0 -0
  262. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/js/celestial/data/dsos.bright.json +0 -0
  263. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/js/celestial/data/lg.json +0 -0
  264. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/js/celestial/data/mw.json +0 -0
  265. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/js/celestial/data/planets.json +0 -0
  266. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/js/celestial/data/stars.6.json +0 -0
  267. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/js/colourplot.js +0 -0
  268. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/js/flot/excanvas.js +0 -0
  269. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/js/flot/jquery-1.7.2.js +0 -0
  270. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/js/flot/jquery.flot.axislabels.js +0 -0
  271. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/js/flot/jquery.flot.crosshair.js +0 -0
  272. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/js/flot/jquery.flot.errorbars.js +0 -0
  273. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/js/flot/jquery.flot.fillbetween.js +0 -0
  274. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/js/flot/jquery.flot.image.js +0 -0
  275. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/js/flot/jquery.flot.js +0 -0
  276. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/js/flot/jquery.flot.navigate.js +0 -0
  277. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/js/flot/jquery.flot.pie.js +0 -0
  278. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/js/flot/jquery.flot.resize.js +0 -0
  279. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/js/flot/jquery.flot.selection.js +0 -0
  280. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/js/flot/jquery.flot.stack.js +0 -0
  281. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/js/flot/jquery.flot.symbol.js +0 -0
  282. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/js/flot/jquery.flot.threshold.js +0 -0
  283. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/js/followup_selectall.js +0 -0
  284. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/js/lightcurve.js +0 -0
  285. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/js/lightcurveplotly.js +0 -0
  286. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/js/mjdcalc.js +0 -0
  287. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/js/plotly/plotly-latest.kws.js +0 -0
  288. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/js/recurrenceplot.js +0 -0
  289. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/js/recurrenceplotplotly.js +0 -0
  290. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/webfonts/fa-brands-400.eot +0 -0
  291. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/webfonts/fa-brands-400.svg +0 -0
  292. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/webfonts/fa-brands-400.ttf +0 -0
  293. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/webfonts/fa-brands-400.woff +0 -0
  294. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/webfonts/fa-brands-400.woff2 +0 -0
  295. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/webfonts/fa-regular-400.eot +0 -0
  296. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/webfonts/fa-regular-400.svg +0 -0
  297. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/webfonts/fa-regular-400.ttf +0 -0
  298. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/webfonts/fa-regular-400.woff +0 -0
  299. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/webfonts/fa-regular-400.woff2 +0 -0
  300. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/webfonts/fa-solid-900.eot +0 -0
  301. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/webfonts/fa-solid-900.svg +0 -0
  302. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/webfonts/fa-solid-900.ttf +0 -0
  303. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/webfonts/fa-solid-900.woff +0 -0
  304. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/site_media/webfonts/fa-solid-900.woff2 +0 -0
  305. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/sql/create_web_cat_views.sql +0 -0
  306. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/sql/create_web_user_grants.sql +0 -0
  307. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/sql/create_web_views.sql +0 -0
  308. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/sql/create_web_views_fgss.sql +0 -0
  309. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/400.html +0 -0
  310. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/403.html +0 -0
  311. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/404.html +0 -0
  312. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/500.html +0 -0
  313. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/admin/base_site.html +0 -0
  314. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/base.html +0 -0
  315. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/base_bootstrap.html +0 -0
  316. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/base_bootstrap_login.html +0 -0
  317. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/base_new.html +0 -0
  318. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/bootstrap4_django_tables2_atlas.html +0 -0
  319. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/invalid_login.html +0 -0
  320. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/loggedin.html +0 -0
  321. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/login.html +0 -0
  322. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/logout.html +0 -0
  323. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/psdb/atelsdiscovery.txt +0 -0
  324. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/psdb/candidate.html +0 -0
  325. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/psdb/candidate_quickview.html +0 -0
  326. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/psdb/candidateflot.html +0 -0
  327. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/psdb/candidates.html +0 -0
  328. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/psdb/colourdata.txt +0 -0
  329. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/psdb/crossmatch_cfa_with_ipp.html +0 -0
  330. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/psdb/crossmatch_external.html +0 -0
  331. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/psdb/dss2.html +0 -0
  332. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/psdb/error.html +0 -0
  333. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/psdb/fasttrackastronote.txt +0 -0
  334. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/psdb/filter.html +0 -0
  335. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/psdb/followup.html +0 -0
  336. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/psdb/followup.txt +0 -0
  337. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/psdb/followup_bs.html +0 -0
  338. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/psdb/followup_bs_old.html +0 -0
  339. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/psdb/followup_quickview.html +0 -0
  340. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/psdb/followup_quickview_bs.html +0 -0
  341. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/psdb/followup_quickview_bs_old.html +0 -0
  342. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/psdb/gcn.txt +0 -0
  343. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/psdb/gcn_latex.txt +0 -0
  344. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/psdb/index.html +0 -0
  345. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/psdb/index_bs_celestial.html +0 -0
  346. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/psdb/index_public.html +0 -0
  347. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/psdb/lightcurve.txt +0 -0
  348. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/psdb/lightcurveforced.txt +0 -0
  349. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/psdb/lightcurves.html +0 -0
  350. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/psdb/obscat.txt +0 -0
  351. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/psdb/obsmediawiki.txt +0 -0
  352. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/psdb/public.html +0 -0
  353. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/psdb/public_textonly.txt +0 -0
  354. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/psdb/reports.html +0 -0
  355. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/psdb/search_results.html +0 -0
  356. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/psdb/search_results_plotly.html +0 -0
  357. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/psdb/sne.json +0 -0
  358. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/psdb/userdefinedlists.html +0 -0
  359. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/ps1/templates/psdb/userdefinedlists_bs.html +0 -0
  360. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/atlas_detections.sql +0 -0
  361. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/atlas_detectionsddc.sql +0 -0
  362. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/atlas_detectionsnnc.sql +0 -0
  363. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/atlas_diff_detections.sql +0 -0
  364. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/atlas_diff_logs.sql +0 -0
  365. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/atlas_diff_moments.sql +0 -0
  366. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/atlas_diff_objects.sql +0 -0
  367. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/atlas_diff_subcell_logs.sql +0 -0
  368. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/atlas_diff_subcells.sql +0 -0
  369. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/atlas_forced_photometry.sql +0 -0
  370. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/atlas_heatmaps.sql +0 -0
  371. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/atlas_metadata.sql +0 -0
  372. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/atlas_metadataddc.sql +0 -0
  373. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/atlas_objects.sql +0 -0
  374. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/atlas_stacked_forced_photometry.sql +0 -0
  375. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/convert_backend_storage_to_innodb.sql +0 -0
  376. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/create_atlas_flattened_view.sql +0 -0
  377. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/create_photpipe_views.sql +0 -0
  378. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/create_schema.sql +0 -0
  379. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/create_user_grants.sql +0 -0
  380. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/create_user_grants_generic.sql +0 -0
  381. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/create_user_grants_root.sql +0 -0
  382. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/delete_transients.sql +0 -0
  383. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/generateATLASSchemaAndCPPClasses.py +0 -0
  384. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/get_table_columns_for_avro.py +0 -0
  385. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/get_table_columns_for_avro.sql +0 -0
  386. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/mjdnow.sql +0 -0
  387. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/refresh_django_views.py +0 -0
  388. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/setup_database.py +0 -0
  389. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/setup_database_utils.py +0 -0
  390. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/sherlock_classifications.sql +0 -0
  391. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/sherlock_crossmatches.sql +0 -0
  392. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/sherlock_triggers_atlas.sql +0 -0
  393. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/sherlock_triggers_ps1.sql +0 -0
  394. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_cat_gaia_dr1.sql +0 -0
  395. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_cat_gaia_dr2.sql +0 -0
  396. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_cat_gaia_dr2_cassandra.cql +0 -0
  397. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_cat_kepler_k2.sql +0 -0
  398. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_cat_kepler_k2_pixels.sql +0 -0
  399. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_cat_ps1_medium_deep_ref.sql +0 -0
  400. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_cat_ps1_ubercal_stars.sql +0 -0
  401. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_cat_satellites.sql +0 -0
  402. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_catalogue_tables.sql +0 -0
  403. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_cfa_detections.sql +0 -0
  404. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_cfa_to_ipp_lookup.sql +0 -0
  405. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_classification_flags.sql +0 -0
  406. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_classification_history.sql +0 -0
  407. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_cmf_metadata.sql +0 -0
  408. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_cross_matches.sql +0 -0
  409. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_cross_matches_external.sql +0 -0
  410. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_detection_lists.sql +0 -0
  411. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_detection_lists_atlas.sql +0 -0
  412. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_followup_photometry.sql +0 -0
  413. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_followup_telescope_instruments.sql +0 -0
  414. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_followup_telescopes.sql +0 -0
  415. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_forced_photometry.sql +0 -0
  416. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_function_lunation.sql +0 -0
  417. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_function_mjdlunation.sql +0 -0
  418. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_gravity_alerts.sql +0 -0
  419. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_gravity_event_annotations.sql +0 -0
  420. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_gravity_events.sql +0 -0
  421. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_guide_star_cat.sql +0 -0
  422. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_image_groups.sql +0 -0
  423. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_images.sql +0 -0
  424. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_ipp_to_cfa_lookup.sql +0 -0
  425. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_latest_object_stats.sql +0 -0
  426. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_object_comments.sql +0 -0
  427. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_object_group_definitions.sql +0 -0
  428. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_object_group_definitions_atlas.sql +0 -0
  429. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_object_groups.sql +0 -0
  430. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_parameter_definitions.sql +0 -0
  431. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_photpipe_detections.sql +0 -0
  432. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_postage_stamp_images.sql +0 -0
  433. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_postage_stamp_requests.sql +0 -0
  434. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_postage_stamp_status_codes.sql +0 -0
  435. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_processing_status.sql +0 -0
  436. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_search_parameters.sql +0 -0
  437. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_tns_requests.sql +0 -0
  438. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_tphot_detections.sql +0 -0
  439. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_transient_objects.sql +0 -0
  440. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_transient_reobservations.sql +0 -0
  441. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_vra_probabilities.sql +0 -0
  442. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_vra_rank.sql +0 -0
  443. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_vra_scores.sql +0 -0
  444. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_vra_todo.sql +0 -0
  445. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_zoo_requests.sql +0 -0
  446. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/tcs_zooniverse_scores.sql +0 -0
  447. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/types_gaia_dr2_cassandra.txt +0 -0
  448. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/update_database_types_to_tns_types_atlas.sql +0 -0
  449. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/update_database_types_to_tns_types_panstarrs.sql +0 -0
  450. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/update_tcs_gravity_alerts_001.sql +0 -0
  451. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/update_tcs_gravity_event_annotations_001.sql +0 -0
  452. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/update_tcs_latest_object_stats_001.sql +0 -0
  453. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/update_tcs_vra_rank_20240814.sql +0 -0
  454. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/update_tcs_vra_scores_20240814.sql +0 -0
  455. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web/schema/vra_triggers_atlas.sql +0 -0
  456. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web.egg-info/dependency_links.txt +0 -0
  457. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web.egg-info/not-zip-safe +0 -0
  458. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web.egg-info/requires.txt +0 -0
  459. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/psat_server_web.egg-info/top_level.txt +0 -0
  460. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/setup.cfg +0 -0
  461. {psat_server_web-0.3.22 → psat_server_web-0.4.1}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: psat-server-web
3
- Version: 0.3.22
3
+ Version: 0.4.1
4
4
  Summary: Pan-STARRS and ATLAS web interface.
5
5
  Home-page: https://github.com/genghisken/psat-server-web
6
6
  Author: genghisken
@@ -1,2 +1,3 @@
1
1
  from . import atlas
2
2
  from . import ps1
3
+ from . import common
@@ -0,0 +1 @@
1
+ __version__ = '0.4.1'
@@ -95,6 +95,9 @@ LASAIR_TOKEN = os.environ.get('DJANGO_LASAIR_TOKEN')
95
95
  NAMESERVER_TOKEN = os.environ.get('DJANGO_NAMESERVER_TOKEN')
96
96
  NAMESERVER_API_URL = os.environ.get('DJANGO_NAMESERVER_API_URL')
97
97
  NAMESERVER_MULTIPLIER = os.environ.get('DJANGO_NAMESERVER_MULTIPLIER')
98
+ # Introduce Pan-STARRS API
99
+ PANSTARRS_TOKEN = os.environ.get('DJANGO_PANSTARRS_TOKEN')
100
+ PANSTARRS_BASE_URL = os.environ.get('DJANGO_PANSTARRS_BASE_URL')
98
101
 
99
102
  DUSTMAP_LOCATION = os.environ.get('DJANGO_DUSTMAP_LOCATION')
100
103
 
@@ -1148,34 +1148,9 @@ 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
1153
 
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
1154
  # 2015-11-17 KWS Get the processing status. If it's not 2, what is it?
1180
1155
  processingStatusData = TcsProcessingStatus.objects.all().exclude(status = 2)
1181
1156
  processingStatus = None
@@ -1317,6 +1292,54 @@ def candidateddc(request, atlas_diff_objects_id, template_name):
1317
1292
  if detectionList:
1318
1293
  listId = detectionList.id
1319
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
+
1320
1343
  # Dummy form initialisation
1321
1344
  formSearchObject = SearchForObjectForm()
1322
1345
  form = PromoteAndCommentsForm()
@@ -1635,7 +1658,7 @@ def candidateddc(request, atlas_diff_objects_id, template_name):
1635
1658
 
1636
1659
  recurrenceData = [recurrencePlotData, recurrencePlotLabels, averageObjectCoords, rmsScatter]
1637
1660
 
1638
- return render(request, 'atlas/' + template_name,{'transient' : transient, 'table': table, 'images': transient_images, 'form' : form, 'avg_coords': avgCoords, 'lcdata': lcData, 'lcdataforced': lcDataForced, 'lcdataforcedflux': lcDataForcedFlux, 'lcdataforcedstackflux': lcDataForcedStackFlux, 'lclimits': lcLimits, 'recurrencedata': recurrenceData, 'conesearchold': xmresults['oldDBXmList'], 'olddburl': xmresults['oldDBURL'], 'externalXMs': externalXMs, 'tnsXMs': tnsXMs, 'public': public, 'form_searchobject': formSearchObject, 'dbName': dbName, 'finderImages': finderImages, 'processingStatus': processingStatus, 'galactic': galactic, 'fpData': fpData, 'sc': sc, 'gw': gw, 'comments': existingComments, 'sx': sx, 'lasairZTFCrossmatches': lasairZTFCrossmatches})
1661
+ return render(request, 'atlas/' + template_name,{'transient' : transient, 'table': table, 'images': transient_images, 'form' : form, 'avg_coords': avgCoords, 'lcdata': lcData, 'lcdataforced': lcDataForced, 'lcdataforcedflux': lcDataForcedFlux, 'lcdataforcedstackflux': lcDataForcedStackFlux, 'lclimits': lcLimits, 'recurrencedata': recurrenceData, 'conesearchold': xmresults['oldDBXmList'], 'olddburl': xmresults['oldDBURL'], 'externalXMs': externalXMs, 'tnsXMs': tnsXMs, 'public': public, 'form_searchobject': formSearchObject, 'dbName': dbName, 'finderImages': finderImages, 'processingStatus': processingStatus, 'galactic': galactic, 'fpData': fpData, 'sc': sc, 'gw': gw, 'comments': existingComments, 'sx': sx, 'lasairZTFCrossmatches': lasairZTFCrossmatches, 'panstarrsCrossmatches': panstarrsCrossmatches, 'panstarrsBaseURL': settings.PANSTARRS_BASE_URL})
1639
1662
 
1640
1663
 
1641
1664
  def lightcurveplain(request, tcs_transient_objects_id):
@@ -70,19 +70,20 @@ class ConeSerializer(serializers.Serializer):
70
70
  separation = None
71
71
 
72
72
  objectList = []
73
- if len(results) > 0:
74
- if requestType == "nearest":
73
+ if requestType == "nearest":
74
+ if len(results) > 0:
75
75
  obj = results[0][1]['id']
76
76
  separation = results[0][0]
77
- info = {"object": obj, "separation": separation}
78
- elif requestType == "all":
79
- for row in results:
80
- objectList.append({"object": row[1]["id"], "separation": row[0]})
81
- info = objectList
82
- elif requestType == "count":
83
- info = {'count': len(results)}
77
+ objName = results[0][1]['atlas_designation']
78
+ info = {"object": obj, "separation": separation, "objectname": objName}
84
79
  else:
85
- info = {"error": "Invalid request type"}
80
+ info = {}
81
+ if requestType == "all":
82
+ for row in results:
83
+ objectList.append({"object": row[1]["id"], "separation": row[0], "objectname": row[1]["atlas_designation"]})
84
+ info = objectList
85
+ if requestType == "count":
86
+ info = {'count': len(results)}
86
87
 
87
88
  return info
88
89
 
@@ -30,6 +30,9 @@
30
30
  # export DJANGO_NAMESERVER_API_URL=''
31
31
  # export DJANGO_NAMESERVER_TOKEN=''
32
32
  # export DJANGO_NAMESERVER_MULTIPLIER=10000000
33
+ #
34
+ # export DJANGO_PANSTARRS_TOKEN=''
35
+ # export DJANGO_PANSTARRS_BASE_URL=''
33
36
 
34
37
 
35
38
  if [ -f ~/.config/django/django_env_$CONDA_DEFAULT_ENV ]; then chmod 600 ~/.config/django/django_env_$CONDA_DEFAULT_ENV; source ~/.config/django/django_env_$CONDA_DEFAULT_ENV; fi
@@ -463,6 +463,26 @@ jscolourlabelsglobal["#flot-colourplot-forced"] = jscolourlabelsforced;
463
463
  {% endfor %}
464
464
  {% endif %}
465
465
 
466
+ {% if panstarrsCrossmatches %}
467
+ <div class="col-lg-12 col-md-12 col-sm-12">
468
+ <span class="parameter-label">Pan-STARRS (All Sky) Crossmatches: </span>
469
+ </div>
470
+
471
+ {% for row in panstarrsCrossmatches %}
472
+ <div class="col-lg-12 col-md-12 col-sm-12">
473
+ <h3><a href="{{ panstarrsBaseURL }}/psdb/candidate/{{ row.object }}/">{% if row.objectname %}{{ row.objectname }}{% else %}PS Object{% endif %}</a></h3>
474
+ </div>
475
+
476
+ {% if row.separation %}
477
+ <div class="col-lg-12 col-md-12 col-sm-12">
478
+ <span class="parameter-value">Offset = {{ row.separation|floatformat:"2" }}"</span>
479
+ </div>
480
+ {% endif %}
481
+
482
+ {% endfor %}
483
+ {% endif %}
484
+
485
+
466
486
  {% if tnsXMs %}
467
487
  <div class="col-lg-12 col-md-12 col-sm-12">
468
488
  <span class="parameter-label">TNS Crossmatch: </span>
@@ -44,6 +44,7 @@ ATLAS is a quadruple 0.5m telescope system with two units in Hawaii (Haleakala a
44
44
  var config = {
45
45
  projection: "aitoff",
46
46
  transform: "equatorial",
47
+ zoomextend: 100,
47
48
  center: null,
48
49
  datapath: "{{ STATIC_URL }}/js/celestial/data/",
49
50
  stars: { show: false, colors: false, names: false, size: 5 },
@@ -0,0 +1,110 @@
1
+ """ Pan-STARRS API
2
+
3
+ This class enables programmatic access to the Pan-STARRS and ATLAS databases
4
+
5
+ Args:
6
+ token (string): The Calls are throttled by the Pan-STARRS server, by use of an
7
+ 'authorization token', as described in the api documentation above.
8
+ There is a free token listed there, but it is throttled at 10 calls per hour.
9
+ Once a user has an account at the Lasair webserver, they can get their own token
10
+ allowing 100 calls per hour, or request to be a power user, with infinite usage.
11
+
12
+ cache (string): Results can be cached on a local filesystem, by providing
13
+ the name of a writable directory. If the same calls are made repeatedly,
14
+ this will be much more efficient.
15
+ """
16
+ import os, sys
17
+ import requests
18
+ import json
19
+ import hashlib
20
+
21
+ class PSATAPIError(Exception):
22
+ def __init__(self, message):
23
+ self.message = message
24
+
25
+ class psat_client():
26
+ def __init__(self, token, cache=None, endpoint=None, timeout=60.0):
27
+ self.headers = { 'Authorization': 'Token %s' % token }
28
+ self.endpoint = endpoint
29
+ self.timeout = timeout
30
+ self.cache = cache
31
+ if cache and not os.path.isdir(cache):
32
+ message = 'Cache directory "%s" does not exist' % cache
33
+ raise PSATAPIError(message)
34
+
35
+ def fetch_from_server(self, method, input):
36
+ url = '%s/%s/' % (self.endpoint, method)
37
+ try:
38
+ r = requests.post(url, data=input, headers=self.headers, timeout=self.timeout)
39
+ except requests.exceptions.ReadTimeout:
40
+ raise PSATAPIError('Request timed out')
41
+
42
+ if r.status_code == 200:
43
+ try:
44
+ result = r.json()
45
+ except:
46
+ result = {'error': 'Cannot parse Json %s' % r.text}
47
+ elif r.status_code == 400:
48
+ message = 'Bad Request:' + r.text
49
+ raise PSATAPIError(message)
50
+ elif r.status_code == 401:
51
+ message = 'Unauthorized'
52
+ raise PSATAPIError(message)
53
+ elif r.status_code == 429:
54
+ message = 'Request limit exceeded. Either wait an hour, or see API documentation to increase your limits.'
55
+ raise PSATAPIError(message)
56
+ elif r.status_code == 500:
57
+ message = 'Internal Server Error' + r.text
58
+ raise PSATAPIError(message)
59
+ else:
60
+ message = 'HTTP return code %d for\n' % r.status_code
61
+ message += url
62
+ raise PSATAPIError(message)
63
+ return result
64
+
65
+ def hash_it(self, input):
66
+ s = json.dumps(input)
67
+ h = hashlib.md5(s.encode())
68
+ return h.hexdigest()
69
+
70
+ def fetch(self, method, input):
71
+ if self.cache:
72
+ cached_file = '%s/%s.json' % (self.cache, self.hash_it(method +'/'+ str(input)))
73
+ try:
74
+ result_txt = open(cached_file).read()
75
+ result = json.loads(result_txt)
76
+ return result
77
+ except:
78
+ pass
79
+
80
+ result = self.fetch_from_server(method, input)
81
+
82
+ if 'error' in result:
83
+ return result
84
+
85
+ if self.cache:
86
+ f = open(cached_file, 'w')
87
+ result_txt = json.dumps(result, indent=2)
88
+ f.write(result_txt)
89
+ f.close()
90
+
91
+ return result
92
+
93
+ def cone(self, ra, dec, radius=5, requestType='all'):
94
+ """ Run a cone search on the Lasair database.
95
+ Args:
96
+ ra (float): Right Ascension in decimal degrees
97
+ dec (float): Declination in decimal degrees
98
+ radius (float): cone radius in arcseconds (default is 5)
99
+ requestType: Can be 'all' to return all objects in the cone
100
+ Can be 'nearest', only the nearest object within the cone
101
+ Can be 'count', the number of objects within the cone
102
+
103
+ Returns a dictionary with:
104
+ objectId: The ID of the nearest object
105
+ separation: the separation in arcseconds
106
+ """
107
+ input = {'ra':ra, 'dec':dec, 'radius':radius, 'requestType':requestType}
108
+ result = self.fetch('cone', input)
109
+ return result
110
+
@@ -33,6 +33,9 @@
33
33
  # export DJANGO_NAMESERVER_API_URL=''
34
34
  # export DJANGO_NAMESERVER_TOKEN=''
35
35
  # export DJANGO_NAMESERVER_MULTIPLIER=10000000
36
+ #
37
+ # export DJANGO_ATLAS_TOKEN=''
38
+ # export DJANGO_ATLAS_BASE_URL=''
36
39
 
37
40
 
38
41
  if [ -f ~/.config/django/django_env_$CONDA_DEFAULT_ENV ]; then chmod 600 ~/.config/django/django_env_$CONDA_DEFAULT_ENV; source ~/.config/django/django_env_$CONDA_DEFAULT_ENV; fi
@@ -953,7 +953,8 @@ class TcsGravityAlerts(models.Model):
953
953
  creator = models.CharField(max_length=30, blank=True, null=True)
954
954
  group = models.CharField(max_length=100, blank=True, null=True)
955
955
  pipeline = models.CharField(max_length=100, blank=True, null=True)
956
- map_iteration = models.CharField(max_length=100, blank=True, null=True, unique=True)
956
+ #map_iteration = models.CharField(max_length=100, blank=True, null=True, unique=True)
957
+ map_iteration = models.CharField(max_length=100, blank=True, null=True)
957
958
  alert_map = models.CharField(db_column='map', max_length=400, blank=True, null=True)
958
959
  dateadded = models.DateTimeField(db_column='dateAdded', blank=True, null=True) # Field name made lowercase.
959
960
  datelastmodified = models.DateTimeField(db_column='dateLastModified', blank=True, null=True) # Field name made lowercase.
@@ -103,6 +103,9 @@ LASAIR_TOKEN = os.environ.get('DJANGO_LASAIR_TOKEN')
103
103
  NAMESERVER_TOKEN = os.environ.get('DJANGO_NAMESERVER_TOKEN')
104
104
  NAMESERVER_API_URL = os.environ.get('DJANGO_NAMESERVER_API_URL')
105
105
  NAMESERVER_MULTIPLIER = os.environ.get('DJANGO_NAMESERVER_MULTIPLIER')
106
+ # Introduce ATLAS API
107
+ ATLAS_TOKEN = os.environ.get('DJANGO_ATLAS_TOKEN')
108
+ ATLAS_BASE_URL = os.environ.get('DJANGO_ATLAS_BASE_URL')
106
109
 
107
110
  DISPLAY_AGNS = os.environ.get('DJANGO_DISPLAY_AGNS') in ('true', '1', 't', 'True', 'TRUE', 'T')
108
111
 
@@ -376,33 +376,8 @@ def candidateflot(request, tcs_transient_objects_id):
376
376
  # the short term. May consider doing it longer term.
377
377
  from django.db import connection
378
378
 
379
- # 2021-10-21 KWS Use the Lasair API to do a cone search so we can check for nearby ZTF objects
380
- from lasair import LasairError, lasair_client as lasair
381
-
382
379
  transient = get_object_or_404(TcsTransientObjects, pk=tcs_transient_objects_id)
383
380
 
384
- token = settings.LASAIR_TOKEN
385
- # 2022-11-16 KWS Added a new timeout parameter, now available from Lasair client
386
- # version v0.0.5+. This should help if Lasair goes offline for any
387
- # reason. But extra (Requests)ConnectionError catch needed.
388
- L = lasair(token, endpoint = 'https://lasair-ztf.lsst.ac.uk/api', timeout = 2.0)
389
-
390
- lasairZTFCrossmatches = None
391
- try:
392
- lasairZTFCrossmatches = L.cone(transient.ra_psf, transient.dec_psf, 2.0, requestType='all')
393
- except RequestsConnectionError as e:
394
- # If the API URL is incorrect or times out we will get a connection error.
395
- sys.stderr.write('Lasair API Connection Error\n')
396
- sys.stderr.write('%s\n' % str(e))
397
- except RequestsConnectionTimeoutError as e:
398
- # If the API times out, we will get a timeout error.
399
- sys.stderr.write('Lasair API Timeout Error\n')
400
- sys.stderr.write('%s\n' % str(e))
401
- except LasairError as e:
402
- sys.stderr.write('Lasair Error\n')
403
- sys.stderr.write('%s\n' % str(e))
404
-
405
-
406
381
  # 2015-11-17 KWS Get the processing status. If it's not 2, what is it?
407
382
  processingStatusData = TcsProcessingStatus.objects.all().exclude(status = 2)
408
383
  processingStatus = None
@@ -811,6 +786,53 @@ def candidateflot(request, tcs_transient_objects_id):
811
786
 
812
787
  galactic = transform([avgCoords['ra'], avgCoords['dec']], J2000toGalactic)
813
788
 
789
+ # 2021-10-21 KWS Use the Lasair API to do a cone search so we can check for nearby ZTF objects
790
+ from lasair import LasairError, lasair_client as lasair
791
+
792
+ # 2024-10-18 KWS Moved the code down to after the average RA and Dec are calculated
793
+ # so we don't need to calculate it twice.
794
+ token = settings.LASAIR_TOKEN
795
+ # 2022-11-16 KWS Added a new timeout parameter, now available from Lasair client
796
+ # version v0.0.5+. This should help if Lasair goes offline for any
797
+ # reason. But extra (Requests)ConnectionError catch needed.
798
+ L = lasair(token, endpoint = 'https://lasair-ztf.lsst.ac.uk/api', timeout = 2.0)
799
+
800
+ lasairZTFCrossmatches = None
801
+ try:
802
+ lasairZTFCrossmatches = L.cone(avgCoords['ra'], avgCoords['dec'], 2.0, requestType='all')
803
+ except RequestsConnectionError as e:
804
+ # If the API URL is incorrect or times out we will get a connection error.
805
+ sys.stderr.write('Lasair API Connection Error\n')
806
+ sys.stderr.write('%s\n' % str(e))
807
+ except RequestsConnectionTimeoutError as e:
808
+ # If the API times out, we will get a timeout error.
809
+ sys.stderr.write('Lasair API Timeout Error\n')
810
+ sys.stderr.write('%s\n' % str(e))
811
+ except LasairError as e:
812
+ sys.stderr.write('Lasair Error\n')
813
+ sys.stderr.write('%s\n' % str(e))
814
+
815
+ # 2024-10-15 KWS Talk to the ATLAS API. Are there any ATLAS objects nearby?
816
+ sys.path.append('../../common')
817
+ from psat_api_client import PSATAPIError, psat_client as psat
818
+
819
+ A = psat(settings.ATLAS_TOKEN, endpoint = settings.ATLAS_BASE_URL + '/api/', timeout = 2.0)
820
+
821
+ atlasCrossmatches = None
822
+ try:
823
+ atlasCrossmatches = A.cone(avgCoords['ra'], avgCoords['dec'], 1.0, requestType='all')
824
+ except RequestsConnectionError as e:
825
+ # If the API URL is incorrect or times out we will get a connection error.
826
+ sys.stderr.write('ATLAS API Connection Error\n')
827
+ sys.stderr.write('%s\n' % str(e))
828
+ except RequestsConnectionTimeoutError as e:
829
+ # If the API times out, we will get a timeout error.
830
+ sys.stderr.write('ATLAS API Timeout Error\n')
831
+ sys.stderr.write('%s\n' % str(e))
832
+ except PSATAPIError as e:
833
+ sys.stderr.write('ATLAS Error\n')
834
+ sys.stderr.write('%s\n' % str(e))
835
+
814
836
 
815
837
  coneSearchRadius = 4.0 # arcsec
816
838
 
@@ -912,7 +934,7 @@ def candidateflot(request, tcs_transient_objects_id):
912
934
  # 2011-04-04 KWS Add the user defined list to the objects passed to the web page.
913
935
  # 2013-10-24 KWS Added context_instance=RequestContext(request) to the render_to_response call.
914
936
  # If not included, the specified template won't understand STATIC_URL.
915
- return render(request, 'psdb/candidate_plotly.html',{'transient' : transient, 'table' : table, 'images' : transient_images, 'form' : form, 'crossmatches' : crossmatches, 'userList': userListQuerySet, 'cfaMatch': cfaMatch, 'conesearchresults': xmList, 'avg_coords': avgCoords, 'lcdata': lcData, 'lclimits': lcLimits, 'lcdataforced': lcDataForced, 'lcdataforcedflux': lcDataForcedFlux, 'colourdata': colourData, 'colourplotlimits': colourPlotLimits, 'colourdataforced': colourDataForced, 'recurrencedata': recurrenceData, 'conesearchold': oldDBXmList, 'olddburl': oldDBURL, 'externalXMs': externalXMs, 'tnsXMs': tnsXMs, 'public': public, 'form_searchobject': formSearchObject, 'dbName': dbName, 'finderImages': finderImages, 'processingStatus': processingStatus, 'galactic': galactic, 'comments': existingComments, 'sc': sc, 'gw': gw, 'citizens': z, 'sx': sx, 'lasairZTFCrossmatches': lasairZTFCrossmatches, 'displayagns': settings.DISPLAY_AGNS})
937
+ return render(request, 'psdb/candidate_plotly.html',{'transient' : transient, 'table' : table, 'images' : transient_images, 'form' : form, 'crossmatches' : crossmatches, 'userList': userListQuerySet, 'cfaMatch': cfaMatch, 'conesearchresults': xmList, 'avg_coords': avgCoords, 'lcdata': lcData, 'lclimits': lcLimits, 'lcdataforced': lcDataForced, 'lcdataforcedflux': lcDataForcedFlux, 'colourdata': colourData, 'colourplotlimits': colourPlotLimits, 'colourdataforced': colourDataForced, 'recurrencedata': recurrenceData, 'conesearchold': oldDBXmList, 'olddburl': oldDBURL, 'externalXMs': externalXMs, 'tnsXMs': tnsXMs, 'public': public, 'form_searchobject': formSearchObject, 'dbName': dbName, 'finderImages': finderImages, 'processingStatus': processingStatus, 'galactic': galactic, 'comments': existingComments, 'sc': sc, 'gw': gw, 'citizens': z, 'sx': sx, 'lasairZTFCrossmatches': lasairZTFCrossmatches, 'atlasCrossmatches': atlasCrossmatches, 'atlasBaseURL': settings.ATLAS_BASE_URL, 'displayagns': settings.DISPLAY_AGNS})
916
938
 
917
939
 
918
940
 
@@ -0,0 +1,13 @@
1
+ from rest_framework.permissions import BasePermission, SAFE_METHODS
2
+
3
+ class IsApprovedUser(BasePermission):
4
+ def has_permission(self, request, view):
5
+ # Allow all safe methods (GET, OPTIONS, HEAD)
6
+ if request.method in SAFE_METHODS:
7
+ return True
8
+
9
+ # Only allow POST if the user is authenticated, active, and staff
10
+ return (request.user
11
+ and request.user.is_authenticated
12
+ and request.user.is_active
13
+ and request.user.is_staff)
@@ -69,19 +69,20 @@ class ConeSerializer(serializers.Serializer):
69
69
  separation = None
70
70
 
71
71
  objectList = []
72
- if len(results) > 0:
73
- if requestType == "nearest":
72
+ if requestType == "nearest":
73
+ if len(results) > 0:
74
74
  obj = results[0][1]['id']
75
75
  separation = results[0][0]
76
- info = {"object": obj, "separation": separation}
77
- elif requestType == "all":
78
- for row in results:
79
- objectList.append({"object": row[1]["id"], "separation": row[0]})
80
- info = objectList
81
- elif requestType == "count":
82
- info = {'count': len(results)}
76
+ objName = results[0][1]['ps1_designation']
77
+ info = {"object": obj, "separation": separation, "objectname": objName}
83
78
  else:
84
- info = {"error": "Invalid request type"}
79
+ info = {}
80
+ if requestType == "all":
81
+ for row in results:
82
+ objectList.append({"object": row[1]["id"], "separation": row[0], "objectname": row[1]["ps1_designation"]})
83
+ info = objectList
84
+ if requestType == "count":
85
+ info = {'count': len(results)}
85
86
 
86
87
  return info
87
88
 
@@ -0,0 +1,9 @@
1
+ from django.urls import include, path
2
+ from rest_framework import routers
3
+ from rest_framework.authtoken.views import obtain_auth_token
4
+ from . import views
5
+
6
+ urlpatterns = [
7
+ path('api/cone/', views.ConeView.as_view()),
8
+ path('api/auth-token/', obtain_auth_token, name='auth_token'),
9
+ ]
@@ -0,0 +1,36 @@
1
+ from django.shortcuts import get_object_or_404, render
2
+ from rest_framework.response import Response
3
+ from rest_framework.views import APIView
4
+ from rest_framework import status
5
+ from .serializers import ConeSerializer
6
+ from rest_framework.authentication import TokenAuthentication
7
+ from rest_framework.permissions import IsAuthenticated
8
+ from .query_auth import QueryAuthentication
9
+ # 2024-10-15 KWS Added Jack's permissions code.
10
+ from .permissions import IsApprovedUser
11
+ from django.core.exceptions import ObjectDoesNotExist
12
+ import sys
13
+
14
+ def retcode(message):
15
+ if 'error' in message: return status.HTTP_400_BAD_REQUEST
16
+ else: return status.HTTP_200_OK
17
+
18
+ # 2024-10-15 KWS Introduced the first API call for Pan-STARRS. Cone searching.
19
+ class ConeView(APIView):
20
+ authentication_classes = [TokenAuthentication, QueryAuthentication]
21
+ permission_classes = [IsAuthenticated&IsApprovedUser]
22
+
23
+ def get(self, request):
24
+ serializer = ConeSerializer(data=request.GET, context={'request': request})
25
+ if serializer.is_valid():
26
+ message = serializer.save()
27
+ return Response(message, status=retcode(message))
28
+ return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
29
+
30
+ def post(self, request, format=None):
31
+ serializer = ConeSerializer(data=request.data, context={'request': request})
32
+ if serializer.is_valid():
33
+ message = serializer.save()
34
+ return Response(message, status=retcode(message))
35
+ return Response(serializer.errors, status=status.HTTP_400_BAD_REQUEST)
36
+
@@ -474,6 +474,25 @@ jscolourlabelsglobal["#flot-colourplot-forced"] = jscolourlabelsforced;
474
474
  {% endfor %}
475
475
  {% endif %}
476
476
 
477
+ {% if atlasCrossmatches %}
478
+ <div class="col-lg-12 col-md-12 col-sm-12">
479
+ <span class="parameter-label">ATLAS Crossmatches: </span>
480
+ </div>
481
+
482
+ {% for row in atlasCrossmatches %}
483
+ <div class="col-lg-12 col-md-12 col-sm-12">
484
+ <h3><a href="{{ atlasBaseURL }}/candidate/{{ row.object }}/">{% if row.objectname %}{{ row.objectname }}{% else %}ATLAS object{% endif %}</a></h3>
485
+ </div>
486
+
487
+ {% if row.separation %}
488
+ <div class="col-lg-12 col-md-12 col-sm-12">
489
+ <span class="parameter-value">Offset = {{ row.separation|floatformat:"2" }}"</span>
490
+ </div>
491
+ {% endif %}
492
+
493
+ {% endfor %}
494
+ {% endif %}
495
+
477
496
  {% if tnsXMs %}
478
497
  <div class="col-lg-12 col-md-12 col-sm-12">
479
498
  <span class="parameter-label">TNS Crossmatch: </span>
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: psat-server-web
3
- Version: 0.3.22
3
+ Version: 0.4.1
4
4
  Summary: Pan-STARRS and ATLAS web interface.
5
5
  Home-page: https://github.com/genghisken/psat-server-web
6
6
  Author: genghisken
@@ -158,6 +158,8 @@ psat_server_web/atlas/templates/atlas/summary.csv
158
158
  psat_server_web/atlas/templates/atlas/userdefinedlists.html
159
159
  psat_server_web/atlas/templates/atlas/userdefinedlists_bs.html
160
160
  psat_server_web/atlas/templates/atlas/visibility.txt
161
+ psat_server_web/common/__init__.py
162
+ psat_server_web/common/psat_api_client.py
161
163
  psat_server_web/config/wsgi.conf.template
162
164
  psat_server_web/ps1/__init__.py
163
165
  psat_server_web/ps1/createUsers.py
@@ -180,6 +182,7 @@ psat_server_web/ps1/psdb/views.py
180
182
  psat_server_web/ps1/psdb/wsgi.py
181
183
  psat_server_web/ps1/psdb/wsgi_apache_example.conf
182
184
  psat_server_web/ps1/psdbapi/apps.py
185
+ psat_server_web/ps1/psdbapi/permissions.py
183
186
  psat_server_web/ps1/psdbapi/query_auth.py
184
187
  psat_server_web/ps1/psdbapi/serializers.py
185
188
  psat_server_web/ps1/psdbapi/urls.py
@@ -1 +0,0 @@
1
- __version__ = '0.3.22'
@@ -1,20 +0,0 @@
1
- from django.urls import include, path
2
- from rest_framework import routers
3
- from rest_framework.authtoken.views import obtain_auth_token
4
- from . import views
5
-
6
- urlpatterns = [
7
- path('api/cone/', views.ConeView.as_view()),
8
- # path('api/objects/', views.ObjectsView.as_view()),
9
- # path('api/objectlist/', views.ObjectListView.as_view()),
10
- # path('api/vrascores/', views.VRAScoresView.as_view()),
11
- # path('api/vrascoreslist/', views.VRAScoresListView.as_view()),
12
- # path('api/vratodo/', views.VRATodoView.as_view()),
13
- # path('api/vratodolist/', views.VRATodoListView.as_view()),
14
- # path('api/objectgroups/', views.TcsObjectGroupsView.as_view()),
15
- # path('api/objectgroupslist/', views.TcsObjectGroupsListView.as_view()),
16
- # path('api/objectgroupsdelete/', views.TcsObjectGroupsDeleteView.as_view()),
17
- # path('api/vrarank/', views.VRARankView.as_view()),
18
- # path('api/vraranklist/', views.VRARankListView.as_view()),
19
- path('api/auth-token/', obtain_auth_token, name='auth_token'),
20
- ]