django-restit 4.2.153__py3-none-any.whl → 4.2.156__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.
account/models/member.py CHANGED
@@ -320,7 +320,7 @@ class Member(User, RestModel, MetaDataModel):
320
320
  self.locateByIP(request.ip)
321
321
  return True
322
322
 
323
- def canLogin(self, request=None, throw_exception=True):
323
+ def canLogin(self, request=None, throw_exception=True, using_password=True):
324
324
  if not self.is_active:
325
325
  self.log("login_blocked", F"account is not active {self.username}", request, method="login", level=31)
326
326
  if throw_exception:
@@ -337,7 +337,7 @@ class Member(User, RestModel, MetaDataModel):
337
337
  f"{self.username} Account locked out", 411,
338
338
  component="account.Member", component_id=self.id)
339
339
  return False
340
- if self.hasPasswordExpired():
340
+ if using_password and self.hasPasswordExpired():
341
341
  self.log("login_blocked", "password has expired", request, method="login", level=31)
342
342
  if throw_exception:
343
343
  raise PermissionDeniedException(
account/passkeys/core.py CHANGED
@@ -114,7 +114,7 @@ def authComplete(request, fido2_state, rp_id):
114
114
  credentials=stored_credentials,
115
115
  response=credential)
116
116
  request.member = upk.member
117
- request.member.canLogin(request) # throws exception if cannot login
117
+ request.member.canLogin(request, using_password=False) # throws exception if cannot login
118
118
  request.member.loginNoPassword(request=request)
119
119
  request.member.log(
120
120
  "passkey_login", "passkey login succesful",
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: django-restit
3
- Version: 4.2.153
3
+ Version: 4.2.156
4
4
  Summary: A Rest Framework for DJANGO
5
5
  License: MIT
6
6
  Author: Ian Starnes
@@ -30,7 +30,7 @@ account/models/device.py,sha256=0AFeLMGk4im4KZVd3eGSyRbK4eQEXiFM2cdY8GUzihs,5934
30
30
  account/models/feeds.py,sha256=vI7fG4ASY1M0Zjke24RdnfDcuWeATl_yR_25jPmT64g,2011
31
31
  account/models/group.py,sha256=N9Ow7AtV4xN5zSE9E5-msthJy0G5-3DEr2MTmvFO1kU,22887
32
32
  account/models/legacy.py,sha256=zYdtv4LC0ooxPVqWM-uToPwV-lYWQLorSE6p6yn1xDw,2720
33
- account/models/member.py,sha256=FvVUoc_n7PgqxXduQRF-S4VJcl8aER5tMBxM5xsgswU,54682
33
+ account/models/member.py,sha256=qmLCOVbNTRr4L-E7BbOMtv4V64QN7K-0pXDgnuB-AbY,54722
34
34
  account/models/membership.py,sha256=90EpAhOsGaqphDAkONP6j_qQ0OWSRaQsI8H7E7fgMkE,9249
35
35
  account/models/notify.py,sha256=YKYEXT56i98b7-ydLt5UuEVOqW7lipQMi-KuiPhcSwY,15627
36
36
  account/models/passkeys.py,sha256=TJxITUi4DT4_1tW2K7ZlOcRjJuMVl2NtKz7pKQU8-Tw,1516
@@ -39,7 +39,7 @@ account/models/settings.py,sha256=gOyRWBVd3BQpjfj_hJPtqX3H46ztyRAFxBrPbv11lQg,21
39
39
  account/oauth/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
40
40
  account/oauth/google.py,sha256=q5M6Qhpfp9QslKRVYFZBvtG6kgXV6vYMrR5fp6Xdb9I,2078
41
41
  account/passkeys/__init__.py,sha256=FwXYJXwSJXfkLojGBcVpF1dFpgFhzDdd9N_3naYQ0cc,89
42
- account/passkeys/core.py,sha256=xj-vXjSrfWDvc5MYtEmXzwaMkNHl-cXrQKVrN9soRCg,4126
42
+ account/passkeys/core.py,sha256=4aUBNCuF_kjOvE1zFapK1Pj28ap5slO71dRyfnWi0YU,4148
43
43
  account/periodic.py,sha256=-u0n-7QTJgDOkasGhBAPwHAwjpqWGA-MZLEFkVTqCGU,874
44
44
  account/rpc/__init__.py,sha256=SGF0M_-H0dKh3b1apSX29BotNWAvITYccGQVC0MIjL8,336
45
45
  account/rpc/auth.py,sha256=p62tyihWvSY2zn7eaVxKcCG9qLnnZBIkwdRH81sS5_Y,16615
@@ -176,7 +176,7 @@ medialib/forms.py,sha256=nrE6QTPNPiIeX7Nx4l9DEmAQeQXqFyCg1C3JEDBYJfE,5442
176
176
  medialib/migrations/0001_initial.py,sha256=H3JliH5aw7tiHef8MhrJr_9rGetqgA7UjTF-eKziRSM,20518
177
177
  medialib/migrations/0002_alter_mediaitemrendition_bytes.py,sha256=igC1R02smbNoWlk2T4uCi9cNilOsxGKD-D24fQv92dM,414
178
178
  medialib/migrations/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
179
- medialib/models.py,sha256=hBq-xyUZB0X0TpYmywmMCuLFrOK4Su-zRfSGD1ULvk8,54995
179
+ medialib/models.py,sha256=fsgNxBtJNR7lufbWUsI_LtxfYmLBTpIQ0uOW-T_CsD8,55032
180
180
  medialib/ocr.py,sha256=zlP7-NBiXhW7jR9pljmEPl5xzLVZpLN5QLAELQgU0Fk,1189
181
181
  medialib/pdf.py,sha256=l28WwM0JKbT9boV-b_9TFh9jhvGcrquR8GqC8wfEaLk,1275
182
182
  medialib/qrcode.py,sha256=vHyA5egXOX70EFiUDgr1njI9zcF6bXQJ_hKAQrppRow,545
@@ -379,7 +379,7 @@ pushit/utils.py,sha256=IeTCGa-164nmB1jIsK1lu1O1QzUhS3BKfuXHGjCW-ck,2121
379
379
  rest/.gitignore,sha256=TbEvWRMnAiajCTOdhiNrd9eeCAaIjRp9PRjE_VkMM5g,118
380
380
  rest/README.md,sha256=V3ETc-cJu8PZIbKr9xSe_pA4JEUpC8Dhw4bQeVCDJPw,5460
381
381
  rest/RemoteEvents.py,sha256=nL46U7AuxIrlw2JunphR1tsXyqi-ep_gD9CYGpYbNgE,72
382
- rest/__init__.py,sha256=8aFIz-8RHV4xBWuoJXgDNggbkdl1BC7eSkON9J2HXVY,122
382
+ rest/__init__.py,sha256=lqGQe8RpSgJgRYgI1-4Lf8OQxGHqQkLQMoIwqbt-NCw,122
383
383
  rest/arc4.py,sha256=y644IbF1ec--e4cUJ3KEYsewTCITK0gmlwa5mJruFC0,1967
384
384
  rest/cache.py,sha256=1Qg0rkaCJCaVP0-l5hZg2CIblTdeBSlj_0fP6vlKUpU,83
385
385
  rest/crypto/__init__.py,sha256=Tl0U11rgj1eBYqd6OXJ2_XSdNLumW_JkBZnaJqI6Ldw,72
@@ -507,7 +507,7 @@ ws4redis/__init__.py,sha256=teNfv83A_ke1CBt9BB7NsnWCcFBhnUFPsPESjF554_k,46
507
507
  ws4redis/client.py,sha256=HTntgqlMzZU9MhBz3fn3fXDpzfaTDZx_9tIb5SU91hY,7077
508
508
  ws4redis/connection.py,sha256=SM0KOaTjNeRt3W28mBsSPi3dgegXlhWhLIpGYULgl1Q,14060
509
509
  ws4redis/exceptions.py,sha256=EGLoRTdqJVwz900pwhciqPuSjBBd08hhLgFu6umHrI4,636
510
- ws4redis/redis.py,sha256=jHfwpUG0Nru_zSyD-xwJhX67gASqVtTFiAc3RwgTcJs,6542
510
+ ws4redis/redis.py,sha256=1hglQUEZAG9wvd-5A_Czdetv0eAMjG4mBljTAAYUAYc,6700
511
511
  ws4redis/servers/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
512
512
  ws4redis/servers/base.py,sha256=3nYZF5jSsQxNLbnLtKLFJ82xJs_Mc7N1H2kEOx8wT6o,3747
513
513
  ws4redis/servers/django.py,sha256=cKOE4U0cE8I3_rDaLgv-KuDb376RASdOzUn7MlDA4As,5900
@@ -515,7 +515,7 @@ ws4redis/servers/uwsgi.py,sha256=VyhoCI1DnVFqBiJYHoxqn5Idlf6uJPHvfBKgkjs34mo,172
515
515
  ws4redis/settings.py,sha256=KKq00EwoGnz1yLwCZr5Dfoq2izivmAdsNEEM4EhZwN4,1610
516
516
  ws4redis/utf8validator.py,sha256=S0OlfjeGRP75aO6CzZsF4oTjRQAgR17OWE9rgZdMBZA,5122
517
517
  ws4redis/websocket.py,sha256=R0TUyPsoVRD7Y_oU7w2I6NL4fPwiz5Vl94-fUkZgLHA,14848
518
- django_restit-4.2.153.dist-info/LICENSE.md,sha256=VHN4hhEeVOoFjtG-5fVv4jesA4SWi0Z-KgOzzN6a1ps,1068
519
- django_restit-4.2.153.dist-info/METADATA,sha256=VojJKBZUJNrnd64vmXxVW51-UNOstFLOcaMDflyUgbg,7663
520
- django_restit-4.2.153.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
521
- django_restit-4.2.153.dist-info/RECORD,,
518
+ django_restit-4.2.156.dist-info/LICENSE.md,sha256=VHN4hhEeVOoFjtG-5fVv4jesA4SWi0Z-KgOzzN6a1ps,1068
519
+ django_restit-4.2.156.dist-info/METADATA,sha256=cl7Zn0f9xdd9SKb8qbni3mdRURx5NKP2149paeLUGyc,7663
520
+ django_restit-4.2.156.dist-info/WHEEL,sha256=sP946D7jFCHeNz5Iq4fL4Lu-PrWrFsgfLXbbkciIZwg,88
521
+ django_restit-4.2.156.dist-info/RECORD,,
medialib/models.py CHANGED
@@ -365,6 +365,7 @@ class MediaItem(models.Model, RestModel, MetaDataModel):
365
365
  "extra": ["metadata"],
366
366
  "graphs": {
367
367
  "self": "basic",
368
+ "owner": "basic"
368
369
  }
369
370
  }
370
371
  }
rest/__init__.py CHANGED
@@ -1,4 +1,4 @@
1
1
  from .uberdict import UberDict # noqa: F401
2
2
  from .settings_helper import settings # noqa: F401
3
3
 
4
- __version__ = "4.2.153"
4
+ __version__ = "4.2.156"
ws4redis/redis.py CHANGED
@@ -146,7 +146,11 @@ class RedisStore():
146
146
  while time.time() < timeout_at:
147
147
  message = self.pubsub.get_message()
148
148
  if message is not None and message.get("type") == "message":
149
- return UberDict.fromJSON(message.get("data"))
149
+ imsg = UberDict.fromJSON(message.get("data"))
150
+ if muid is not None and imsg.muid == muid:
151
+ return imsg
152
+ elif muid is None:
153
+ return imsg
150
154
  time.sleep(1.0)
151
155
  return None
152
156