pypetkitapi 1.16.0__py3-none-any.whl → 1.16.1__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.
pypetkitapi/__init__.py CHANGED
@@ -51,7 +51,7 @@ from .media import DownloadDecryptMedia, MediaCloud, MediaFile, MediaManager
51
51
  from .purifier_container import Purifier
52
52
  from .water_fountain_container import WaterFountain
53
53
 
54
- __version__ = "1.16.0"
54
+ __version__ = "1.16.1"
55
55
 
56
56
  __all__ = [
57
57
  "CTW3",
@@ -25,8 +25,8 @@ from pypetkitapi.purifier_container import Purifier
25
25
 
26
26
 
27
27
  class SettingsLitter(BaseModel):
28
- """Dataclass for settings.
29
- -> LitterData subclass.
28
+ """Sub-dataclass for settings of Litter.
29
+ Litter -> settings
30
30
  """
31
31
 
32
32
  auto_interval_min: int | None = Field(None, alias="autoIntervalMin")
@@ -106,7 +106,9 @@ class SettingsLitter(BaseModel):
106
106
 
107
107
 
108
108
  class WorkState(BaseModel):
109
- """Dataclass for work state data."""
109
+ """Sub-Sub-dataclass for state of Litter.
110
+ Litter -> state -> [STATE] -> WorkState
111
+ """
110
112
 
111
113
  safe_warn: int | None = Field(None, alias="safeWarn")
112
114
  stop_time: int | None = Field(None, alias="stopTime")
@@ -117,8 +119,8 @@ class WorkState(BaseModel):
117
119
 
118
120
 
119
121
  class StateLitter(BaseModel):
120
- """Dataclass for state.
121
- -> LitterData subclass.
122
+ """Sub-dataclass for state of Litter.
123
+ Litter -> state
122
124
  """
123
125
 
124
126
  bagging_state: int | None = Field(None, alias="baggingState")
@@ -139,7 +141,7 @@ class StateLitter(BaseModel):
139
141
  liquid_empty: bool | None = Field(None, alias="liquidEmpty")
140
142
  liquid_lack: bool | None = Field(None, alias="liquidLack")
141
143
  liquid_reset: int | None = Field(None, alias="liquidReset")
142
- light_state: dict | None = Field(None, alias="lightState")
144
+ light_state: WorkState | None = Field(None, alias="lightState")
143
145
  low_power: bool | None = Field(None, alias="lowPower")
144
146
  offline_time: int | None = Field(None, alias="offlineTime")
145
147
  ota: int | None = None
@@ -176,7 +178,9 @@ class StateLitter(BaseModel):
176
178
 
177
179
 
178
180
  class ContentSC(BaseModel):
179
- """Dataclass for content data."""
181
+ """Sub-Sub-class of LitterRecord.
182
+ LitterRecord -> subContent -> content
183
+ """
180
184
 
181
185
  box: int | None = None
182
186
  box_full: bool | None = Field(None, alias="boxFull")
@@ -191,18 +195,30 @@ class ContentSC(BaseModel):
191
195
 
192
196
 
193
197
  class LRContent(BaseModel):
194
- """Dataclass for pet data."""
198
+ """Dataclass for sub-content of LitterRecord.
199
+ LitterRecord -> ShitPictures
200
+ """
195
201
 
202
+ area: int | None = None
196
203
  auto_clear: int | None = Field(None, alias="autoClear")
204
+ clear_over_tips: int | None = Field(None, alias="clearOverTips")
205
+ count: int | None = None
197
206
  interval: int | None = None
207
+ mark: int | None = None
208
+ media: int | None = None
209
+ pet_out_tips: int | None = Field(None, alias="petOutTips")
198
210
  pet_weight: int | None = Field(None, alias="petWeight")
211
+ start_time: int | None = Field(None, alias="startTime")
199
212
  time_in: int | None = Field(None, alias="timeIn")
200
213
  time_out: int | None = Field(None, alias="timeOut")
201
- error: int | None = None
214
+ toilet_detection: int | None = Field(None, alias="toiletDetection")
215
+ upload: int | None = None
202
216
 
203
217
 
204
218
  class LRSubContent(BaseModel):
205
- """Dataclass for sub-content data."""
219
+ """Subclass of LitterRecord.
220
+ LitterRecord -> subContent
221
+ """
206
222
 
207
223
  aes_key: str | None = Field(None, alias="aesKey")
208
224
  content: ContentSC | None = None
@@ -226,9 +242,19 @@ class LRSubContent(BaseModel):
226
242
  user_id: str | None = Field(None, alias="userId")
227
243
 
228
244
 
245
+ class ShitPictures(BaseModel):
246
+ """Dataclass for sub-content of LitterRecord.
247
+ LitterRecord -> ShitPictures
248
+ """
249
+
250
+ pic_id: str | None = Field(None, alias="picId")
251
+ shit_aes_key: str | None = Field(None, alias="shitAesKey")
252
+ shit_picture: str | None = Field(None, alias="shitPicture")
253
+
254
+
229
255
  class LitterRecord(BaseModel):
230
256
  """Dataclass for feeder record data.
231
- Litter records
257
+ Litter records (Main class)
232
258
  """
233
259
 
234
260
  data_type: ClassVar[str] = DEVICE_RECORDS
@@ -250,6 +276,7 @@ class LitterRecord(BaseModel):
250
276
  pet_name: str | None = Field(None, alias="petName")
251
277
  preview: str | None = None
252
278
  related_event: str | None = Field(None, alias="relatedEvent")
279
+ shit_pictures: ShitPictures | None = None
253
280
  storage_space: int | None = Field(None, alias="storageSpace")
254
281
  sub_content: list[LRSubContent] | None = Field(None, alias="subContent")
255
282
  timestamp: int | None = None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pypetkitapi
3
- Version: 1.16.0
3
+ Version: 1.16.1
4
4
  Summary: Python client for PetKit API
5
5
  License: MIT
6
6
  Author: Jezza34000
@@ -1,4 +1,4 @@
1
- pypetkitapi/__init__.py,sha256=mETLXBO3H-zRwGJYb2FNscHtzyxAEQwdTn1EBB1_DoE,2107
1
+ pypetkitapi/__init__.py,sha256=83RGmqTqHVhXB5pHZu0L6G5A8rJNfZZ6uS0oqbq_E5w,2107
2
2
  pypetkitapi/bluetooth.py,sha256=1zEZIrKNTttrZpqBiQ-6V37Uphft5_T8CH9OBfYjwxE,9915
3
3
  pypetkitapi/client.py,sha256=cn3JIh-3AU5Rzka2rX7FgkSfWeQCG9Vw82-moK_rOPY,30889
4
4
  pypetkitapi/command.py,sha256=zw4h1SCInG2T0-wAA_al59_FTL36TUZldtJkYKw6ATI,7655
@@ -6,14 +6,14 @@ pypetkitapi/const.py,sha256=MMxkCCKrlRCh29kqJT8MSKz98hCwqS34qzxwBILAbvQ,4779
6
6
  pypetkitapi/containers.py,sha256=7wYKmaoBpMKrqIVMsoD4Iv2in7Kh5nNxrl4vC4eF2fg,6305
7
7
  pypetkitapi/exceptions.py,sha256=4BXUyYXLfZjNxdnOGJPjyE9ASIl7JmQphjws87jvHtE,1631
8
8
  pypetkitapi/feeder_container.py,sha256=PhidWd5WpsZqtdKZy60PzE67YXgQfApjm8CqvMCHK3U,14743
9
- pypetkitapi/litter_container.py,sha256=hu21mRTz6PlpuEoIJJKST1_kimQQ28MPLT7yIvHGJX0,19452
9
+ pypetkitapi/litter_container.py,sha256=fUXuIpCqFR6_rOmK_9WIXQ5Nt6foMjJXkoZzUxaCM6M,20409
10
10
  pypetkitapi/media.py,sha256=LNY3khU5eZN4i1MGHxJaPHcf3LA1fFaPVkn-wdn0YLI,27168
11
11
  pypetkitapi/purifier_container.py,sha256=mAnvPF8Mm6YI43fitdxXEWScshM6sPg0KK6GXbylU1I,3179
12
12
  pypetkitapi/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
13
13
  pypetkitapi/schedule_container.py,sha256=ycIHeQHkVILDp7ZBjaVdGI_9rhHrgqeKBfvQAX3JMGE,2071
14
14
  pypetkitapi/utils.py,sha256=z7325kcJQUburnF28HSXrJMvY_gY9007K73Zwxp-4DQ,743
15
15
  pypetkitapi/water_fountain_container.py,sha256=5J0b-fDZYcFLNX2El7fifv8H6JMhBCt-ttxSow1ozRQ,6787
16
- pypetkitapi-1.16.0.dist-info/LICENSE,sha256=u5jNkZEn6YMrtN4Kr5rU3TcBJ5-eAt0qMx4JDsbsnzM,1074
17
- pypetkitapi-1.16.0.dist-info/METADATA,sha256=JLiIEGKwu57JP_vyed-zZT1gkK7UygUyvCtpmfIWKYo,8633
18
- pypetkitapi-1.16.0.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
19
- pypetkitapi-1.16.0.dist-info/RECORD,,
16
+ pypetkitapi-1.16.1.dist-info/LICENSE,sha256=u5jNkZEn6YMrtN4Kr5rU3TcBJ5-eAt0qMx4JDsbsnzM,1074
17
+ pypetkitapi-1.16.1.dist-info/METADATA,sha256=VASqPE-NydQmIDIFYJEZtyoS3P50bS3piRth-8aaiCI,8633
18
+ pypetkitapi-1.16.1.dist-info/WHEEL,sha256=fGIA9gx4Qxk2KDKeNJCbOEwSrmLtjWCwzBz351GyrPQ,88
19
+ pypetkitapi-1.16.1.dist-info/RECORD,,