tracktolib 0.61.0__py3-none-any.whl → 0.61.2__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.
tracktolib/pg/query.py CHANGED
@@ -105,8 +105,8 @@ class PGQuery(Generic[K, V]):
105
105
  def columns(self):
106
106
  return [f'"{x}"' for x in self.keys] if self.quote_columns else self.keys
107
107
 
108
- def iter_values(self) -> Iterator[tuple]:
109
- _keys = self.keys
108
+ def iter_values(self, keys: list[K] | None = None) -> Iterator[tuple]:
109
+ _keys = keys if keys is not None else self.keys
110
110
  for _item in self.items:
111
111
  yield tuple(_item[k] for k in _keys)
112
112
 
@@ -264,13 +264,18 @@ class PGUpdateQuery(PGQuery):
264
264
  def values(self):
265
265
  if not self._values:
266
266
  raise ValueError("No values found")
267
- return self._values if len(self.items) == 1 else super().values
267
+ if len(self.items) == 1:
268
+ return self._values
269
+ _where_keys = self.where_keys or []
270
+ _keys_not_where = [k for k in self.keys if k not in _where_keys]
271
+ values = list(self.iter_values(keys=_keys_not_where + _where_keys))
272
+ return values
268
273
 
269
274
  def _get_where_query(self) -> str:
270
275
  if self.where:
271
276
  return self.where
272
277
  elif self.where_keys is not None:
273
- start_from = self.start_from if self.start_from is not None else len(self.values) - len(self.where_keys)
278
+ start_from = self.start_from if self.start_from is not None else len(self.keys) - len(self.where_keys)
274
279
 
275
280
  return "WHERE " + " AND ".join(f"{k} = ${i + start_from + 1}" for i, k in enumerate(self.where_keys))
276
281
  return ""
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: tracktolib
3
- Version: 0.61.0
3
+ Version: 0.61.2
4
4
  Summary: Utility library for python
5
5
  License: MIT
6
6
  License-File: LICENSE
@@ -3,7 +3,7 @@ tracktolib/api.py,sha256=ZLMgjH3Y8r3MpXc8m3IuZbzTj3fgrZKZORtSVgbuP-M,10221
3
3
  tracktolib/http_utils.py,sha256=c10JGmHaBw3VSDMYhz2dvVw2lo4PUAq1xMub74I7xDc,2625
4
4
  tracktolib/logs.py,sha256=xgfRDnviZPr9qinSOgab8neIWPv9Rj2xzDHnIBvWQcU,2201
5
5
  tracktolib/pg/__init__.py,sha256=Ul_hgwvTXZvQBt7sHKi4ZI-0DDpnXmoFtmVkGRy-1J0,366
6
- tracktolib/pg/query.py,sha256=dsLvDrLEh1X7sPvWS1onX9NyZPOCoDCfCfttT4z7ndU,16180
6
+ tracktolib/pg/query.py,sha256=_Rx_VdG7KDM6HDswxT80DYBbvrSiaXq25QPB3hIZXvw,16445
7
7
  tracktolib/pg/utils.py,sha256=cL24KEt4SWJQ7LJPzaO3c8Xg0ZLmjhn22DtTWg86nwc,6324
8
8
  tracktolib/pg_sync.py,sha256=MKDaV7dYsRy59Y0EE5RGZL0DlZ-RUdBeaN9eSBwiQJg,6718
9
9
  tracktolib/pg_utils.py,sha256=ArYNdf9qsdYdzGEWmev8tZpyx8_1jaGGdkfYkauM7UM,2582
@@ -12,7 +12,7 @@ tracktolib/s3/minio.py,sha256=wMEjkSes9Fp39fD17IctALpD6zB2xwDRQEmO7Vzan3g,1387
12
12
  tracktolib/s3/s3.py,sha256=0HbSAPoaup5-W4LK54zRCjrQ5mr8OWR-N9WjW99Q4aw,5937
13
13
  tracktolib/tests.py,sha256=gKE--epQjgMZGXc5ydbl4zjOdmwztJS42UMV0p4hXEA,399
14
14
  tracktolib/utils.py,sha256=ysTBF9V35fVXQVBPk0kfE_84SGRxzrayqmg9RbtoJq4,5761
15
- tracktolib-0.61.0.dist-info/METADATA,sha256=H29GtEERzSypHNh6AOMegIPgDqBTlE4XboYuknd0ulk,3777
16
- tracktolib-0.61.0.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
17
- tracktolib-0.61.0.dist-info/licenses/LICENSE,sha256=uUanH0X7SeZEPdsRTHegMSMTiIHMurt9H0jSwEwKE1Y,1081
18
- tracktolib-0.61.0.dist-info/RECORD,,
15
+ tracktolib-0.61.2.dist-info/METADATA,sha256=l7TYZ2iOLimA-mE-Q56VQMIqy6URHTEMxT_19VJUjQg,3777
16
+ tracktolib-0.61.2.dist-info/WHEEL,sha256=zp0Cn7JsFoX2ATtOhtaFYIiE2rmFAD4OcMhtUki8W3U,88
17
+ tracktolib-0.61.2.dist-info/licenses/LICENSE,sha256=uUanH0X7SeZEPdsRTHegMSMTiIHMurt9H0jSwEwKE1Y,1081
18
+ tracktolib-0.61.2.dist-info/RECORD,,