pihole6api 0.1.7__py3-none-any.whl → 0.1.8__py3-none-any.whl

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.
pihole6api/metrics.py CHANGED
@@ -1,3 +1,5 @@
1
+ import warnings
2
+
1
3
  class PiHole6Metrics:
2
4
  def __init__(self, connection):
3
5
  """
@@ -41,11 +43,12 @@ class PiHole6Metrics:
41
43
  return self.connection.get("history/database/clients", params=params)
42
44
 
43
45
  # Query API Endpoints
44
- def get_queries(self, n=100, from_ts=None, until_ts=None, upstream=None, domain=None, client=None, cursor=None):
46
+ def get_queries(self, length=100, from_ts=None, until_ts=None, upstream=None, domain=None, client=None, cursor=None, **kwargs):
45
47
  """
46
48
  Get query log with optional filtering parameters.
47
49
 
48
- :param int n: Number of queries to retrieve (default: 100).
50
+ :param int length: Number of queries to retrieve (default: 100).
51
+ (Note: The old parameter 'n' is deprecated and will be removed in a future version.)
49
52
  :param int from_ts: Unix timestamp to filter queries from this time onward (optional).
50
53
  :param int until_ts: Unix timestamp to filter queries up to this time (optional).
51
54
  :param str upstream: Filter queries sent to a specific upstream destination (optional).
@@ -53,19 +56,31 @@ class PiHole6Metrics:
53
56
  :param str client: Filter queries originating from a specific client (optional).
54
57
  :param str cursor: Cursor for pagination to fetch the next chunk of results (optional).
55
58
  """
59
+ # Check for deprecated "n" parameter
60
+ if "n" in kwargs:
61
+ warnings.warn(
62
+ "The 'n' parameter is deprecated; please use 'length' instead.",
63
+ DeprecationWarning,
64
+ stacklevel=2
65
+ )
66
+ length = kwargs.pop("n")
67
+
68
+ if kwargs:
69
+ raise TypeError("Unexpected keyword arguments: " + ", ".join(kwargs.keys()))
70
+
56
71
  params = {
57
- "n": n,
72
+ "length": length,
58
73
  "from": from_ts,
59
74
  "until": until_ts,
60
75
  "upstream": upstream,
61
76
  "domain": domain,
62
77
  "client": client,
63
- "cursor": cursor
78
+ "cursor": cursor,
64
79
  }
80
+ # Remove any parameters that are None
65
81
  params = {k: v for k, v in params.items() if v is not None}
66
82
  return self.connection.get("queries", params=params)
67
83
 
68
-
69
84
  def get_query_suggestions(self):
70
85
  """Get query filter suggestions"""
71
86
  return self.connection.get("queries/suggestions")
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: pihole6api
3
- Version: 0.1.7
3
+ Version: 0.1.8
4
4
  Summary: Python API Client for Pi-hole 6
5
5
  Author-email: Shane Barbetta <shane@barbetta.me>
6
6
  License: MIT
@@ -22,6 +22,7 @@ Requires-Python: >=3.8
22
22
  Description-Content-Type: text/markdown
23
23
  License-File: LICENSE
24
24
  Requires-Dist: requests>=2.26.0
25
+ Dynamic: license-file
25
26
 
26
27
  # 🍓 pihole6api
27
28
 
@@ -10,10 +10,10 @@ pihole6api/domain_management.py,sha256=vxhQSG5F8EFDGqtiNkF0H_KOWFMerXaAuJZT0nMa8
10
10
  pihole6api/ftl_info.py,sha256=FINHFotI1sQgkL0OPaNqW-rk4h1ua6QHnRh5gFXXRIE,3210
11
11
  pihole6api/group_management.py,sha256=Iip2Na4pUYgC5K9cwOWv_OPD6qdXRzWCmlS-fJlBMjU,2372
12
12
  pihole6api/list_management.py,sha256=CooTeF4EmNPFwnzGoLbHFMhCePJ-ojvRGx7Sxzayy-U,4170
13
- pihole6api/metrics.py,sha256=czNyx9tUf2yZi_HnUpqykrtW51c042Rxq3zFl2_GjLY,7379
13
+ pihole6api/metrics.py,sha256=QWqV_7SytMPGEBEZOxsIfxTa6lM9Ksrvlf2BXjDKZmA,7991
14
14
  pihole6api/network_info.py,sha256=E1qQ7DsCb7qplt0oQIyKhUY12ExNF6bv6thm9rbNqwY,1953
15
- pihole6api-0.1.7.dist-info/LICENSE,sha256=hpO6J6J9O1VZxZeHQTxKMTmuobaHbApiZxp279I4xNU,1062
16
- pihole6api-0.1.7.dist-info/METADATA,sha256=VTQPEmn56bSQB7hh42zNGAdjQCK8ElHOTPYD9SOVEsc,3768
17
- pihole6api-0.1.7.dist-info/WHEEL,sha256=beeZ86-EfXScwlR_HKu4SllMC9wUEj_8Z_4FJ3egI2w,91
18
- pihole6api-0.1.7.dist-info/top_level.txt,sha256=Qrh46lxEC54rBR8T53em-tuZLWbmi1SDwL1rOhsgrME,11
19
- pihole6api-0.1.7.dist-info/RECORD,,
15
+ pihole6api-0.1.8.dist-info/licenses/LICENSE,sha256=hpO6J6J9O1VZxZeHQTxKMTmuobaHbApiZxp279I4xNU,1062
16
+ pihole6api-0.1.8.dist-info/METADATA,sha256=LqrKT8Vpxgqtithi4sPa80xMEIBWmpKGUrAYN7G3nyQ,3790
17
+ pihole6api-0.1.8.dist-info/WHEEL,sha256=CmyFI0kx5cdEMTLiONQRbGQwjIoR1aIYB7eCAQ4KPJ0,91
18
+ pihole6api-0.1.8.dist-info/top_level.txt,sha256=Qrh46lxEC54rBR8T53em-tuZLWbmi1SDwL1rOhsgrME,11
19
+ pihole6api-0.1.8.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (76.1.0)
2
+ Generator: setuptools (78.1.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5