perfact-api-pd-fastapi 1.14__tar.gz → 1.16__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 (31) hide show
  1. {perfact_api_pd_fastapi-1.14 → perfact_api_pd_fastapi-1.16}/PKG-INFO +1 -1
  2. {perfact_api_pd_fastapi-1.14 → perfact_api_pd_fastapi-1.16}/src/perfact/api/pd_fastapi/grafana.py +6 -6
  3. {perfact_api_pd_fastapi-1.14 → perfact_api_pd_fastapi-1.16}/src/perfact_api_pd_fastapi.egg-info/PKG-INFO +1 -1
  4. perfact_api_pd_fastapi-1.16/src/perfact_api_pd_fastapi.egg-info/scm_version.json +8 -0
  5. {perfact_api_pd_fastapi-1.14 → perfact_api_pd_fastapi-1.16}/tests/test_grafana.py +2 -0
  6. perfact_api_pd_fastapi-1.14/src/perfact_api_pd_fastapi.egg-info/scm_version.json +0 -8
  7. {perfact_api_pd_fastapi-1.14 → perfact_api_pd_fastapi-1.16}/README.md +0 -0
  8. {perfact_api_pd_fastapi-1.14 → perfact_api_pd_fastapi-1.16}/pyproject.toml +0 -0
  9. {perfact_api_pd_fastapi-1.14 → perfact_api_pd_fastapi-1.16}/setup.cfg +0 -0
  10. {perfact_api_pd_fastapi-1.14 → perfact_api_pd_fastapi-1.16}/src/perfact/api/pd_fastapi/__init__.py +0 -0
  11. {perfact_api_pd_fastapi-1.14 → perfact_api_pd_fastapi-1.16}/src/perfact/api/pd_fastapi/kpi.py +0 -0
  12. {perfact_api_pd_fastapi-1.14 → perfact_api_pd_fastapi-1.16}/src/perfact/api/pd_fastapi/pdunit.py +0 -0
  13. {perfact_api_pd_fastapi-1.14 → perfact_api_pd_fastapi-1.16}/src/perfact/api/pd_fastapi/pdunitlch.py +0 -0
  14. {perfact_api_pd_fastapi-1.14 → perfact_api_pd_fastapi-1.16}/src/perfact/api/pd_fastapi/performancedata.py +0 -0
  15. {perfact_api_pd_fastapi-1.14 → perfact_api_pd_fastapi-1.16}/src/perfact/api/pd_fastapi/py.typed +0 -0
  16. {perfact_api_pd_fastapi-1.14 → perfact_api_pd_fastapi-1.16}/src/perfact_api_pd_fastapi.egg-info/SOURCES.txt +0 -0
  17. {perfact_api_pd_fastapi-1.14 → perfact_api_pd_fastapi-1.16}/src/perfact_api_pd_fastapi.egg-info/dependency_links.txt +0 -0
  18. {perfact_api_pd_fastapi-1.14 → perfact_api_pd_fastapi-1.16}/src/perfact_api_pd_fastapi.egg-info/entry_points.txt +0 -0
  19. {perfact_api_pd_fastapi-1.14 → perfact_api_pd_fastapi-1.16}/src/perfact_api_pd_fastapi.egg-info/requires.txt +0 -0
  20. {perfact_api_pd_fastapi-1.14 → perfact_api_pd_fastapi-1.16}/src/perfact_api_pd_fastapi.egg-info/scm_file_list.json +0 -0
  21. {perfact_api_pd_fastapi-1.14 → perfact_api_pd_fastapi-1.16}/src/perfact_api_pd_fastapi.egg-info/top_level.txt +0 -0
  22. {perfact_api_pd_fastapi-1.14 → perfact_api_pd_fastapi-1.16}/tests/__init__.py +0 -0
  23. {perfact_api_pd_fastapi-1.14 → perfact_api_pd_fastapi-1.16}/tests/conftest.py +0 -0
  24. {perfact_api_pd_fastapi-1.14 → perfact_api_pd_fastapi-1.16}/tests/helpers.py +0 -0
  25. {perfact_api_pd_fastapi-1.14 → perfact_api_pd_fastapi-1.16}/tests/locustfile.py +0 -0
  26. {perfact_api_pd_fastapi-1.14 → perfact_api_pd_fastapi-1.16}/tests/test_init.py +0 -0
  27. {perfact_api_pd_fastapi-1.14 → perfact_api_pd_fastapi-1.16}/tests/test_kpi.py +0 -0
  28. {perfact_api_pd_fastapi-1.14 → perfact_api_pd_fastapi-1.16}/tests/test_pdunit.py +0 -0
  29. {perfact_api_pd_fastapi-1.14 → perfact_api_pd_fastapi-1.16}/tests/test_pdunitlch.py +0 -0
  30. {perfact_api_pd_fastapi-1.14 → perfact_api_pd_fastapi-1.16}/tests/test_performance.py +0 -0
  31. {perfact_api_pd_fastapi-1.14 → perfact_api_pd_fastapi-1.16}/tox.ini +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: perfact-api-pd-fastapi
3
- Version: 1.14
3
+ Version: 1.16
4
4
  Summary: PerFact API - SQLAlchemy+FastAPI pd apis package
5
5
  Author-email: Viktor Dick <viktor.dick@perfact.de>
6
6
  License-Expression: GPL-2.0-or-later
@@ -99,13 +99,14 @@ _TOOL_DOWNTIME_MAX_TOP_N = 100
99
99
  def _int_ids(values: Any) -> list[int]:
100
100
  """Parse a Grafana multi-value filter payload into a list of ints.
101
101
 
102
- Non-numeric entries are dropped, so the values a template variable emits
103
- when it is set to "All" or cleared - an empty string, an empty list, or the
104
- unresolved ``$__all`` - are treated as "no filter" instead of raising and
105
- blanking the panel.
102
+ Accepts a list or a comma-separated string (Grafana's ``${var:csv}``
103
+ format). Non-numeric entries are dropped, so the values a template variable
104
+ emits when it is set to "All" or cleared - an empty string, an empty list,
105
+ or a custom all-value such as ``all`` - are treated as "no filter" instead
106
+ of raising and blanking the panel.
106
107
  """
107
108
  if isinstance(values, str):
108
- values = [values]
109
+ values = values.split(",")
109
110
  return [int(str(value)) for value in values if str(value).strip().isdigit()]
110
111
 
111
112
 
@@ -177,7 +178,6 @@ def _tool_downtime_handler(
177
178
  status_code=status.HTTP_400_BAD_REQUEST,
178
179
  detail=exc.errors(include_url=False),
179
180
  ) from exc
180
-
181
181
  policy = visibility.get(PdTool)
182
182
  pdtool_ids = _filter_visible_pdtool_ids(session, auth, policy, payload.pdtool_ids)
183
183
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: perfact-api-pd-fastapi
3
- Version: 1.14
3
+ Version: 1.16
4
4
  Summary: PerFact API - SQLAlchemy+FastAPI pd apis package
5
5
  Author-email: Viktor Dick <viktor.dick@perfact.de>
6
6
  License-Expression: GPL-2.0-or-later
@@ -0,0 +1,8 @@
1
+ {
2
+ "tag": "1.16",
3
+ "distance": 0,
4
+ "node": "g8d3b01e2485ef0f77ee363eb02b4cbcad5c680ac",
5
+ "dirty": false,
6
+ "branch": "HEAD",
7
+ "node_date": "2026-10-07"
8
+ }
@@ -308,6 +308,8 @@ def test_int_ids_ignores_non_numeric_filter_values() -> None:
308
308
  # those must parse to "no filter", not raise and blank the panel.
309
309
  assert grafana._int_ids([1, "2", "", "$__all"]) == [1, 2]
310
310
  assert grafana._int_ids("") == []
311
+ assert grafana._int_ids("all") == []
312
+ assert grafana._int_ids("3, 7,x") == [3, 7]
311
313
  assert grafana._int_ids([]) == []
312
314
 
313
315
 
@@ -1,8 +0,0 @@
1
- {
2
- "tag": "1.14",
3
- "distance": 0,
4
- "node": "ga0720f587b0c9925757069d7d33c7a5ad5147300",
5
- "dirty": false,
6
- "branch": "HEAD",
7
- "node_date": "2026-10-05"
8
- }