rcdb 2.2.5__tar.gz → 2.2.7__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.
Files changed (215) hide show
  1. {rcdb-2.2.5/rcdb.egg-info → rcdb-2.2.7}/PKG-INFO +7 -3
  2. {rcdb-2.2.5 → rcdb-2.2.7}/pyproject.toml +20 -6
  3. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/cli/app.py +0 -75
  4. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/cli/context.py +1 -1
  5. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/cli/repair/evio_files.py +2 -0
  6. rcdb-2.2.7/rcdb/cli/select.py +84 -0
  7. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/cli/web.py +5 -3
  8. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/version.py +1 -1
  9. {rcdb-2.2.5 → rcdb-2.2.7/rcdb.egg-info}/PKG-INFO +7 -3
  10. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb.egg-info/SOURCES.txt +1 -0
  11. rcdb-2.2.7/rcdb.egg-info/entry_points.txt +2 -0
  12. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb.egg-info/requires.txt +1 -0
  13. rcdb-2.2.5/rcdb.egg-info/entry_points.txt +0 -2
  14. {rcdb-2.2.5 → rcdb-2.2.7}/MANIFEST.in +0 -0
  15. {rcdb-2.2.5 → rcdb-2.2.7}/README.md +0 -0
  16. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/__init__.py +0 -0
  17. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/__main__.py +0 -0
  18. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/admin_cmd.py +0 -0
  19. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/alias.py +0 -0
  20. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/app_context.py +0 -0
  21. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/cli/__init__.py +0 -0
  22. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/cli/__main__.py +0 -0
  23. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/cli/db.py +0 -0
  24. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/cli/ls.py +0 -0
  25. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/cli/mkdb.py +0 -0
  26. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/cli/repair/__init__.py +0 -0
  27. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/cli/rp.py +0 -0
  28. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/cli/run.py +0 -0
  29. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/coda_parser.py +0 -0
  30. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/condition_query_builder.py +0 -0
  31. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/config_parser.py +0 -0
  32. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/constants.py +0 -0
  33. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/errors.py +0 -0
  34. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/file_archiver.py +0 -0
  35. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/halld_daq_config_parser.py +0 -0
  36. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/lexer.py +0 -0
  37. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/log_format.py +0 -0
  38. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/model.py +0 -0
  39. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/provider.py +0 -0
  40. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/stopwatch.py +0 -0
  41. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/update.py +0 -0
  42. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/__init__.py +0 -0
  43. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/modules/__init__.py +0 -0
  44. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/modules/conditions.py +0 -0
  45. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/modules/files.py +0 -0
  46. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/modules/logs.py +0 -0
  47. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/modules/runs.py +0 -0
  48. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/modules/select_values.py +0 -0
  49. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/modules/statistics.py +0 -0
  50. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/pagination.py +0 -0
  51. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/run_table.py +0 -0
  52. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/DataTables-1.10.10/css/dataTables.bootstrap.css +0 -0
  53. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/DataTables-1.10.10/css/dataTables.bootstrap.min.css +0 -0
  54. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/DataTables-1.10.10/css/dataTables.foundation.css +0 -0
  55. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/DataTables-1.10.10/css/dataTables.foundation.min.css +0 -0
  56. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/DataTables-1.10.10/css/dataTables.jqueryui.css +0 -0
  57. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/DataTables-1.10.10/css/dataTables.jqueryui.min.css +0 -0
  58. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/DataTables-1.10.10/css/jquery.dataTables.css +0 -0
  59. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/DataTables-1.10.10/css/jquery.dataTables.min.css +0 -0
  60. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/DataTables-1.10.10/css/jquery.dataTables_themeroller.css +0 -0
  61. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/DataTables-1.10.10/images/sort_asc.png +0 -0
  62. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/DataTables-1.10.10/images/sort_asc_disabled.png +0 -0
  63. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/DataTables-1.10.10/images/sort_both.png +0 -0
  64. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/DataTables-1.10.10/images/sort_desc.png +0 -0
  65. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/DataTables-1.10.10/images/sort_desc_disabled.png +0 -0
  66. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/DataTables-1.10.10/js/dataTables.bootstrap.js +0 -0
  67. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/DataTables-1.10.10/js/dataTables.bootstrap.min.js +0 -0
  68. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/DataTables-1.10.10/js/dataTables.foundation.js +0 -0
  69. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/DataTables-1.10.10/js/dataTables.foundation.min.js +0 -0
  70. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/DataTables-1.10.10/js/dataTables.jqueryui.js +0 -0
  71. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/DataTables-1.10.10/js/dataTables.jqueryui.min.js +0 -0
  72. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/DataTables-1.10.10/js/jquery.dataTables.js +0 -0
  73. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/DataTables-1.10.10/js/jquery.dataTables.min.js +0 -0
  74. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/Responsive-2.0.0/css/responsive.bootstrap.css +0 -0
  75. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/Responsive-2.0.0/css/responsive.bootstrap.min.css +0 -0
  76. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/Responsive-2.0.0/css/responsive.dataTables.css +0 -0
  77. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/Responsive-2.0.0/css/responsive.dataTables.min.css +0 -0
  78. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/Responsive-2.0.0/css/responsive.foundation.css +0 -0
  79. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/Responsive-2.0.0/css/responsive.foundation.min.css +0 -0
  80. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/Responsive-2.0.0/css/responsive.jqueryui.css +0 -0
  81. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/Responsive-2.0.0/css/responsive.jqueryui.min.css +0 -0
  82. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/Responsive-2.0.0/js/dataTables.responsive.js +0 -0
  83. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/Responsive-2.0.0/js/dataTables.responsive.min.js +0 -0
  84. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/Responsive-2.0.0/js/responsive.bootstrap.js +0 -0
  85. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/Responsive-2.0.0/js/responsive.bootstrap.min.js +0 -0
  86. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/Responsive-2.0.0/js/responsive.foundation.js +0 -0
  87. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/Responsive-2.0.0/js/responsive.foundation.min.js +0 -0
  88. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/Responsive-2.0.0/js/responsive.jqueryui.js +0 -0
  89. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/Responsive-2.0.0/js/responsive.jqueryui.min.js +0 -0
  90. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/RowReorder-1.1.0/css/rowReorder.bootstrap.css +0 -0
  91. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/RowReorder-1.1.0/css/rowReorder.bootstrap.min.css +0 -0
  92. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/RowReorder-1.1.0/css/rowReorder.dataTables.css +0 -0
  93. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/RowReorder-1.1.0/css/rowReorder.dataTables.min.css +0 -0
  94. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/RowReorder-1.1.0/css/rowReorder.foundation.css +0 -0
  95. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/RowReorder-1.1.0/css/rowReorder.foundation.min.css +0 -0
  96. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/RowReorder-1.1.0/css/rowReorder.jqueryui.css +0 -0
  97. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/RowReorder-1.1.0/css/rowReorder.jqueryui.min.css +0 -0
  98. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/RowReorder-1.1.0/js/dataTables.rowReorder.js +0 -0
  99. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/RowReorder-1.1.0/js/dataTables.rowReorder.min.js +0 -0
  100. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/datatables.css +0 -0
  101. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/datatables.js +0 -0
  102. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/datatables.min.css +0 -0
  103. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/DataTables/datatables.min.js +0 -0
  104. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/css/bootstrap-theme.css +0 -0
  105. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/css/bootstrap-theme.css.map +0 -0
  106. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/css/bootstrap-theme.min.css +0 -0
  107. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/css/bootstrap-theme.min.css.map +0 -0
  108. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/css/bootstrap.css +0 -0
  109. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/css/bootstrap.css.map +0 -0
  110. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/css/bootstrap.min.css +0 -0
  111. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/css/bootstrap.min.css.map +0 -0
  112. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/css/buttons.dataTables.min.css +0 -0
  113. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/css/dataTables.tableTools.css +0 -0
  114. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/css/jquery-ui.min.css +0 -0
  115. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/css/jquery-ui.structure.min.css +0 -0
  116. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/css/jquery-ui.theme.min.css +0 -0
  117. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/css/jquery.dataTables.min.css +0 -0
  118. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/css/jquery.dataTables.yadcf.css +0 -0
  119. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/css/jquery.jsonview.css +0 -0
  120. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/css/main.css +0 -0
  121. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/css/select.dataTables.min.css +0 -0
  122. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/css/webintellisense.css +0 -0
  123. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/favicon.png +0 -0
  124. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/fonts/glyphicons-halflings-regular.eot +0 -0
  125. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/fonts/glyphicons-halflings-regular.svg +0 -0
  126. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/fonts/glyphicons-halflings-regular.ttf +0 -0
  127. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/fonts/glyphicons-halflings-regular.woff +0 -0
  128. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/fonts/glyphicons-halflings-regular.woff2 +0 -0
  129. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/humans.txt +0 -0
  130. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/img/glyphicons-halflings-white.png +0 -0
  131. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/img/glyphicons-halflings.png +0 -0
  132. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/img/logo.png +0 -0
  133. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/js/bootstrap.js +0 -0
  134. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/js/bootstrap.min.js +0 -0
  135. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/js/clipboard.min.js +0 -0
  136. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/js/copy_clipboard.js +0 -0
  137. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/js/dataTables.buttons.min.js +0 -0
  138. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/js/dataTables.select.min.js +0 -0
  139. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/js/jquery-2.1.0.min.js +0 -0
  140. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/js/jquery-2.1.4.min.js +0 -0
  141. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/js/jquery-ui.min.js +0 -0
  142. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/js/jquery.dataTables.min.js +0 -0
  143. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/js/jquery.dataTables.yadcf.js +0 -0
  144. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/js/jquery.flot.min.js +0 -0
  145. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/js/jquery.jsonview.js +0 -0
  146. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/js/npm.js +0 -0
  147. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/js/webintellisense-ace.js +0 -0
  148. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/js/webintellisense-codemirror.js +0 -0
  149. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/js/webintellisense-textbox.js +0 -0
  150. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/js/webintellisense.js +0 -0
  151. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/robots.txt +0 -0
  152. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/static/style.css +0 -0
  153. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/404.html +0 -0
  154. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/admin/index.html +0 -0
  155. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/admin/layout.html +0 -0
  156. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/admin/user.html +0 -0
  157. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/admin/users.html +0 -0
  158. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/conditions/index.html +0 -0
  159. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/custom_column_run_table.html +0 -0
  160. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/default_run_table.html +0 -0
  161. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/errors/forbidden_page.html +0 -0
  162. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/errors/layout.html +0 -0
  163. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/errors/page_not_found.html +0 -0
  164. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/errors/server_error.html +0 -0
  165. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/files/index.html +0 -0
  166. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/files/info.html +0 -0
  167. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/files/not_found.html +0 -0
  168. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/frontend/create_profile.html +0 -0
  169. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/frontend/footers/help.html +0 -0
  170. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/frontend/login.html +0 -0
  171. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/frontend/login_openid.html +0 -0
  172. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/frontend/reauth.html +0 -0
  173. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/frontend/reset_password.html +0 -0
  174. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/frontend/search.html +0 -0
  175. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/frontend/signup.html +0 -0
  176. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/index.html +0 -0
  177. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/layout.html +0 -0
  178. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/layouts/base.html +0 -0
  179. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/layouts/base2.html +0 -0
  180. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/login.html +0 -0
  181. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/logs/index.html +0 -0
  182. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/macros/_ask_user_to_update_ie.html +0 -0
  183. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/macros/_form.html +0 -0
  184. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/macros/_google_analytics.html +0 -0
  185. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/macros/_misc.html +0 -0
  186. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/macros/_reset_password.html +0 -0
  187. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/render_pagination.html +0 -0
  188. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/run_search_box.html +0 -0
  189. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/runs/conditions.html +0 -0
  190. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/runs/example.html +0 -0
  191. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/runs/index.html +0 -0
  192. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/runs/info.html +0 -0
  193. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/runs/not_found.html +0 -0
  194. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/select_values/index.html +0 -0
  195. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/settings/layout.html +0 -0
  196. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/settings/password.html +0 -0
  197. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/settings/profile.html +0 -0
  198. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/show_entries.html +0 -0
  199. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/statistics/index.html +0 -0
  200. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/user/index.html +0 -0
  201. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb/web/templates/user/profile.html +0 -0
  202. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb.egg-info/dependency_links.txt +0 -0
  203. {rcdb-2.2.5 → rcdb-2.2.7}/rcdb.egg-info/top_level.txt +0 -0
  204. {rcdb-2.2.5 → rcdb-2.2.7}/setup.cfg +0 -0
  205. {rcdb-2.2.5 → rcdb-2.2.7}/tests/test_coda_parser.py +0 -0
  206. {rcdb-2.2.5 → rcdb-2.2.7}/tests/test_conditions.py +0 -0
  207. {rcdb-2.2.5 → rcdb-2.2.7}/tests/test_config_parser.py +0 -0
  208. {rcdb-2.2.5 → rcdb-2.2.7}/tests/test_get_run_periods.py +0 -0
  209. {rcdb-2.2.5 → rcdb-2.2.7}/tests/test_get_runs.py +0 -0
  210. {rcdb-2.2.5 → rcdb-2.2.7}/tests/test_halld_run_config_parser.py +0 -0
  211. {rcdb-2.2.5 → rcdb-2.2.7}/tests/test_save_files.py +0 -0
  212. {rcdb-2.2.5 → rcdb-2.2.7}/tests/test_select_runs.py +0 -0
  213. {rcdb-2.2.5 → rcdb-2.2.7}/tests/test_select_values.py +0 -0
  214. {rcdb-2.2.5 → rcdb-2.2.7}/tests/test_sql_schema_version.py +0 -0
  215. {rcdb-2.2.5 → rcdb-2.2.7}/tests/test_value_comparison.py +0 -0
@@ -1,17 +1,20 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rcdb
3
- Version: 2.2.5
3
+ Version: 2.2.7
4
4
  Summary: RCDB - Run Conditions DataBase
5
5
  Author-email: Dmitry Romanov <romanov@jlab.org>
6
- License: MIT
6
+ License-Expression: MIT
7
7
  Classifier: Development Status :: 4 - Beta
8
- Classifier: License :: OSI Approved :: MIT License
9
8
  Classifier: Programming Language :: Python :: 3
10
9
  Classifier: Programming Language :: Python :: 3.9
11
10
  Classifier: Programming Language :: Python :: 3.10
12
11
  Classifier: Programming Language :: Python :: 3.11
13
12
  Classifier: Programming Language :: Python :: 3.12
14
13
  Classifier: Programming Language :: Python :: 3.13
14
+ Classifier: Intended Audience :: Science/Research
15
+ Classifier: Operating System :: OS Independent
16
+ Classifier: Topic :: Scientific/Engineering :: Physics
17
+ Classifier: Topic :: Database
15
18
  Requires-Python: >=3.9
16
19
  Description-Content-Type: text/markdown
17
20
  Requires-Dist: markupsafe>=3.0
@@ -21,6 +24,7 @@ Requires-Dist: mako>=1.3
21
24
  Requires-Dist: click>=8
22
25
  Requires-Dist: sqlalchemy>=2
23
26
  Requires-Dist: flask>=3.1.0
27
+ Requires-Dist: rich
24
28
 
25
29
  ## RCDB
26
30
 
@@ -14,19 +14,22 @@ readme = "README.md"
14
14
  # If you'd like to keep version in rcdb.version.py, see "Dynamic version" section below.
15
15
  # Otherwise, put a fixed version here, e.g. version = "1.0.0"
16
16
  dynamic = ["version"]
17
- license = { text = "MIT" }
17
+ license = "MIT"
18
18
  authors = [
19
19
  { name="Dmitry Romanov", email="romanov@jlab.org" }
20
20
  ]
21
21
  classifiers = [
22
22
  "Development Status :: 4 - Beta",
23
- "License :: OSI Approved :: MIT License",
24
23
  "Programming Language :: Python :: 3",
25
24
  "Programming Language :: Python :: 3.9",
26
25
  "Programming Language :: Python :: 3.10",
27
26
  "Programming Language :: Python :: 3.11",
28
27
  "Programming Language :: Python :: 3.12",
29
- "Programming Language :: Python :: 3.13"
28
+ "Programming Language :: Python :: 3.13",
29
+ "Intended Audience :: Science/Research",
30
+ "Operating System :: OS Independent",
31
+ "Topic :: Scientific/Engineering :: Physics",
32
+ "Topic :: Database"
30
33
  ]
31
34
  requires-python = ">=3.9"
32
35
  dependencies = [
@@ -36,16 +39,27 @@ dependencies = [
36
39
  "mako>=1.3",
37
40
  "click>=8",
38
41
  "sqlalchemy>=2",
39
- "flask>=3.1.0"
42
+ "flask>=3.1.0",
43
+ "rich"
40
44
  ]
41
45
 
42
46
  # If you want a console script, define it in [project.scripts]
43
47
  [project.scripts]
44
- rcdb = "rcdb.cli.app.rcdb_cli"
48
+ rcdb = "rcdb.cli.app:rcdb_cli"
45
49
 
46
50
  # Tell setuptools how to find your packages if needed:
47
51
  [tool.setuptools.packages.find]
48
- include = ["rcdb"]
52
+ include = ["rcdb*"]
53
+
54
+ [tool.setuptools]
55
+ include-package-data = true
56
+
57
+ [tool.setuptools.package-data]
58
+ # Recursively include everything under rcdb/web/static/ and rcdb/web/templates/
59
+ rcdb = [
60
+ "web/static/**/*.*",
61
+ "web/templates/**/*.*"
62
+ ]
49
63
 
50
64
  [tool.setuptools.dynamic]
51
65
  version = { attr = "rcdb.version.version" }
@@ -104,78 +104,3 @@ def cat():
104
104
  def dump():
105
105
  pass
106
106
 
107
-
108
- def _process_sel_args(args, ):
109
- """
110
-
111
- :param args: list of user arguments
112
- :param run_periods: db.get_run_periods() assumed
113
- :return: ((run_min, run_max), query, view)
114
- """
115
-
116
- run_range_str = ''
117
- for arg in args:
118
- if '-' in arg:
119
- run_range_str = arg
120
- args = [a for a in args if a!=arg]
121
- break
122
-
123
- if len(args) == 0:
124
- return run_range_str, None, None
125
-
126
- if len(args) == 1:
127
- return run_range_str, args[0], None
128
-
129
- return run_range_str, args[0], args[1]
130
-
131
-
132
-
133
- @rcdb_cli.command()
134
- @click.argument('query', required=None)
135
- @click.argument('views_or_runs', nargs=-1)
136
- @click.option('--dump', '-d', 'is_dump_view', is_flag=True,
137
- help='Display results as to export to file. No borders, "#" comments')
138
- @click.option('--desc/--asc', '-d/-a', 'is_descending', default=False,
139
- help="Sort order of run number descending or ascending")
140
- @pass_rcdb_context
141
- def sel(rcdb_context, query, views_or_runs, is_dump_view, is_descending):
142
- """ Command allows to select runs and get values from it"""
143
- assert isinstance(rcdb_context.db, RCDBProvider)
144
- args = [str(query)]
145
- args.extend([str(v) for v in views_or_runs])
146
- run_range_str, query, view = _process_sel_args(args)
147
-
148
- (run_min, run_max) = parse_run_range(run_range_str, rcdb_context.db.get_run_periods())
149
-
150
- if run_min is None:
151
- run_min = 0
152
-
153
- if run_max is None:
154
- run_max = sys.maxint
155
-
156
- if query == '@' or query is None:
157
- query = ''
158
-
159
- if not view:
160
- view = "event_count run_config"
161
-
162
- conditions_to_show = view.split()
163
-
164
- values = rcdb_context.db.select_values([], query, run_min, run_max)
165
-
166
- if not is_dump_view:
167
- try:
168
- from prettytable import PrettyTable
169
-
170
- table = PrettyTable(["run_num"] + conditions_to_show)
171
- for row in values:
172
- table.add_row(row)
173
- click.echo(table)
174
- return
175
- except ImportError:
176
- click.echo("# (!) no prettytable module is installed. Using regular table")
177
- is_dump_view = True
178
-
179
- click.echo("#! {}".format(" ".join(["run_num"].extend(conditions_to_show))))
180
- for row in values:
181
- click.echo(" ".join(row))
@@ -2,4 +2,4 @@
2
2
  import click
3
3
  from rcdb.app_context import RcdbApplicationContext
4
4
 
5
- pass_rcdb_context = click.make_pass_decorator(RcdbApplicationContext)
5
+ pass_rcdb_context = click.make_pass_decorator(RcdbApplicationContext)
@@ -8,6 +8,7 @@ from rcdb.provider import RCDBProvider
8
8
  from rcdb.cli.context import pass_rcdb_context
9
9
  import json
10
10
 
11
+
11
12
  def sizeof_fmt(num, suffix="B"):
12
13
  for unit in ["", "Ki", "Mi", "Gi", "Ti", "Pi", "Ei", "Zi"]:
13
14
  if abs(num) < 1024.0:
@@ -15,6 +16,7 @@ def sizeof_fmt(num, suffix="B"):
15
16
  num /= 1024.0
16
17
  return f"{num:.1f}Yi{suffix}"
17
18
 
19
+
18
20
  def read_run_directories(mask, run_min, run_max):
19
21
  run_dirs = glob.glob(mask)
20
22
 
@@ -0,0 +1,84 @@
1
+ import sys
2
+ import click
3
+
4
+ from rcdb.app_context import parse_run_range
5
+ from rcdb import RCDBProvider
6
+ from rcdb.cli.context import pass_rcdb_context
7
+
8
+
9
+ def _process_sel_args(args):
10
+ """
11
+ Process the argument list and extract a run range string, query and view.
12
+ :param args: list of user arguments.
13
+ :return: (run_range_str, query, view)
14
+ """
15
+ run_range_str = ''
16
+ for arg in args:
17
+ if '-' in arg:
18
+ run_range_str = arg
19
+ args = [a for a in args if a != arg]
20
+ break
21
+
22
+ if len(args) == 0:
23
+ return run_range_str, None, None
24
+ if len(args) == 1:
25
+ return run_range_str, args[0], None
26
+
27
+ return run_range_str, args[0], args[1]
28
+
29
+
30
+ @click.command(name="select")
31
+ @click.argument('query', required=False)
32
+ @click.argument('views_or_runs', nargs=-1)
33
+ @click.option('--dump', '-d', 'is_dump_view', is_flag=True,
34
+ help='Display results in export-friendly format without borders or extra formatting')
35
+ @click.option('--desc/--asc', '-d/-a', 'is_descending', default=False,
36
+ help="Sort order of run number descending or ascending")
37
+ @pass_rcdb_context
38
+ def select_command(rcdb_context, query, views_or_runs, is_dump_view, is_descending):
39
+ """Select runs and get their values."""
40
+ assert isinstance(rcdb_context.db, RCDBProvider)
41
+ args = []
42
+ if query is not None:
43
+ args.append(str(query))
44
+ args.extend([str(v) for v in views_or_runs])
45
+ run_range_str, query, view = _process_sel_args(args)
46
+
47
+ run_periods = rcdb_context.db.get_run_periods()
48
+ run_min, run_max = parse_run_range(run_range_str, run_periods)
49
+
50
+ if run_min is None:
51
+ run_min = 0
52
+ if run_max is None:
53
+ run_max = sys.maxsize # Use sys.maxsize in Python 3 instead of sys.maxint
54
+
55
+ if query == '@' or query is None:
56
+ query = ''
57
+
58
+ if not view:
59
+ view = "event_count run_config"
60
+
61
+ conditions_to_show = view.split()
62
+
63
+ values = rcdb_context.db.select_values([], query, run_min, run_max)
64
+
65
+ if not is_dump_view:
66
+
67
+ from rich.table import Table
68
+ from rich.console import Console
69
+
70
+ console = Console()
71
+ table = Table(show_header=True, header_style="bold magenta")
72
+ table.add_column("run_num")
73
+ for cond in conditions_to_show:
74
+ table.add_column(cond)
75
+ for row in values:
76
+ table.add_row(*[str(item) for item in row])
77
+ console.print(table)
78
+ return
79
+
80
+ # Dump view (export-friendly)
81
+ header = " ".join(["run_num"] + conditions_to_show)
82
+ click.echo("#! " + header)
83
+ for row in values:
84
+ click.echo(" ".join(map(str, row)))
@@ -1,7 +1,7 @@
1
1
  import os
2
2
  import click
3
3
 
4
- from rcdb import web as rcdb_web
4
+ from rcdb import web as rcdb_web, RCDBProvider
5
5
  from .context import pass_rcdb_context
6
6
 
7
7
 
@@ -13,8 +13,10 @@ def web(context):
13
13
  either the CLI context or the RCDB_CONNECTION environment variable.
14
14
  """
15
15
  # If user provided --connection on the CLI, context.db.connection_str is set:
16
- if context.db and context.db.connect_str:
17
- rcdb_web.app.config["SQL_CONNECTION_STRING"] = context.db.connect_str
16
+ rcdb_provider = context.db
17
+ if rcdb_provider and rcdb_provider.connection_string:
18
+ assert isinstance(rcdb_provider, RCDBProvider)
19
+ rcdb_web.app.config["SQL_CONNECTION_STRING"] = rcdb_provider.connection_string
18
20
  elif "RCDB_CONNECTION" in os.environ:
19
21
  # Otherwise check the environment variable
20
22
  rcdb_web.app.config["SQL_CONNECTION_STRING"] = os.environ["RCDB_CONNECTION"]
@@ -1,5 +1,5 @@
1
1
  # String version. Used both for setup.py and for internal code
2
- version = '2.2.5'
2
+ version = '2.2.7'
3
3
 
4
4
  # version as the tuple of ints
5
5
  version_tuple = tuple(int(val) for val in version.split('.'))
@@ -1,17 +1,20 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: rcdb
3
- Version: 2.2.5
3
+ Version: 2.2.7
4
4
  Summary: RCDB - Run Conditions DataBase
5
5
  Author-email: Dmitry Romanov <romanov@jlab.org>
6
- License: MIT
6
+ License-Expression: MIT
7
7
  Classifier: Development Status :: 4 - Beta
8
- Classifier: License :: OSI Approved :: MIT License
9
8
  Classifier: Programming Language :: Python :: 3
10
9
  Classifier: Programming Language :: Python :: 3.9
11
10
  Classifier: Programming Language :: Python :: 3.10
12
11
  Classifier: Programming Language :: Python :: 3.11
13
12
  Classifier: Programming Language :: Python :: 3.12
14
13
  Classifier: Programming Language :: Python :: 3.13
14
+ Classifier: Intended Audience :: Science/Research
15
+ Classifier: Operating System :: OS Independent
16
+ Classifier: Topic :: Scientific/Engineering :: Physics
17
+ Classifier: Topic :: Database
15
18
  Requires-Python: >=3.9
16
19
  Description-Content-Type: text/markdown
17
20
  Requires-Dist: markupsafe>=3.0
@@ -21,6 +24,7 @@ Requires-Dist: mako>=1.3
21
24
  Requires-Dist: click>=8
22
25
  Requires-Dist: sqlalchemy>=2
23
26
  Requires-Dist: flask>=3.1.0
27
+ Requires-Dist: rich
24
28
 
25
29
  ## RCDB
26
30
 
@@ -36,6 +36,7 @@ rcdb/cli/ls.py
36
36
  rcdb/cli/mkdb.py
37
37
  rcdb/cli/rp.py
38
38
  rcdb/cli/run.py
39
+ rcdb/cli/select.py
39
40
  rcdb/cli/web.py
40
41
  rcdb/cli/repair/__init__.py
41
42
  rcdb/cli/repair/evio_files.py
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ rcdb = rcdb.cli.app:rcdb_cli
@@ -5,3 +5,4 @@ mako>=1.3
5
5
  click>=8
6
6
  sqlalchemy>=2
7
7
  flask>=3.1.0
8
+ rich
@@ -1,2 +0,0 @@
1
- [console_scripts]
2
- rcdb = rcdb.cli.app.rcdb_cli
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes